/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf --buchiautomizer.fairness.type.for.concurrent.programs FAIRNESS_INTERSECTION -i ../../../trunk/examples/svcomp/pthread-deagle/floating_read-25.i -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.me.fairness-42053ae-m [2023-09-17 11:46:25,832 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-09-17 11:46:25,909 INFO L100 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf [2023-09-17 11:46:25,938 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-09-17 11:46:25,939 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-09-17 11:46:25,939 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-09-17 11:46:25,940 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-09-17 11:46:25,941 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-09-17 11:46:25,941 INFO L137 SettingsManager]: * Use SBE=true [2023-09-17 11:46:25,945 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-09-17 11:46:25,945 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-09-17 11:46:25,946 INFO L137 SettingsManager]: * Use old map elimination=false [2023-09-17 11:46:25,946 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-09-17 11:46:25,947 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-09-17 11:46:25,948 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-09-17 11:46:25,948 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-09-17 11:46:25,949 INFO L137 SettingsManager]: * sizeof long=4 [2023-09-17 11:46:25,949 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-09-17 11:46:25,949 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-09-17 11:46:25,949 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-09-17 11:46:25,949 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-09-17 11:46:25,950 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-09-17 11:46:25,951 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-09-17 11:46:25,951 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-09-17 11:46:25,952 INFO L137 SettingsManager]: * sizeof long double=12 [2023-09-17 11:46:25,952 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-09-17 11:46:25,952 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-09-17 11:46:25,952 INFO L137 SettingsManager]: * Use constant arrays=true [2023-09-17 11:46:25,953 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-09-17 11:46:25,953 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-09-17 11:46:25,954 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-09-17 11:46:25,954 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-09-17 11:46:25,954 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-09-17 11:46:25,954 INFO L137 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-09-17 11:46:25,956 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-09-17 11:46:25,956 INFO L137 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: Fairness type for concurrent programs -> FAIRNESS_INTERSECTION [2023-09-17 11:46:26,190 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-09-17 11:46:26,217 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-09-17 11:46:26,219 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-09-17 11:46:26,221 INFO L270 PluginConnector]: Initializing CDTParser... [2023-09-17 11:46:26,221 INFO L274 PluginConnector]: CDTParser initialized [2023-09-17 11:46:26,222 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/floating_read-25.i [2023-09-17 11:46:27,379 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-09-17 11:46:27,668 INFO L384 CDTParser]: Found 1 translation units. [2023-09-17 11:46:27,669 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-25.i [2023-09-17 11:46:27,686 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/27b391308/db4d24d6dd16461cba9f26b609785717/FLAGb1d0a8f3f [2023-09-17 11:46:27,702 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/27b391308/db4d24d6dd16461cba9f26b609785717 [2023-09-17 11:46:27,704 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-09-17 11:46:27,706 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-09-17 11:46:27,707 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-09-17 11:46:27,707 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-09-17 11:46:27,715 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-09-17 11:46:27,717 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:46:27" (1/1) ... [2023-09-17 11:46:27,718 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7a8c3444 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:27, skipping insertion in model container [2023-09-17 11:46:27,718 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:46:27" (1/1) ... [2023-09-17 11:46:27,725 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-09-17 11:46:27,758 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-09-17 11:46:28,038 WARN L1562 CHandler]: Possible shadowing of function thread [2023-09-17 11:46:28,049 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-25.i[31197,31210] [2023-09-17 11:46:28,050 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:46:28,061 INFO L203 MainTranslator]: Completed pre-run [2023-09-17 11:46:28,096 WARN L1562 CHandler]: Possible shadowing of function thread [2023-09-17 11:46:28,099 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-25.i[31197,31210] [2023-09-17 11:46:28,100 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:46:28,124 WARN L667 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:46:28,124 WARN L667 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:46:28,128 INFO L208 MainTranslator]: Completed translation [2023-09-17 11:46:28,129 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28 WrapperNode [2023-09-17 11:46:28,129 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-09-17 11:46:28,130 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-09-17 11:46:28,130 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-09-17 11:46:28,130 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-09-17 11:46:28,136 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,148 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,164 INFO L138 Inliner]: procedures = 162, calls = 16, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 41 [2023-09-17 11:46:28,164 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-09-17 11:46:28,165 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-09-17 11:46:28,165 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-09-17 11:46:28,165 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-09-17 11:46:28,171 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,171 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,174 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,174 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,178 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,181 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,182 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,183 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,185 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-09-17 11:46:28,186 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-09-17 11:46:28,186 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-09-17 11:46:28,186 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-09-17 11:46:28,187 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (1/1) ... [2023-09-17 11:46:28,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-17 11:46:28,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:46:28,214 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2023-09-17 11:46:28,216 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2023-09-17 11:46:28,242 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-09-17 11:46:28,243 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-09-17 11:46:28,243 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-09-17 11:46:28,243 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-09-17 11:46:28,243 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-09-17 11:46:28,243 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-09-17 11:46:28,243 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2023-09-17 11:46:28,243 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2023-09-17 11:46:28,244 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-09-17 11:46:28,244 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-09-17 11:46:28,244 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-09-17 11:46:28,245 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-09-17 11:46:28,362 INFO L236 CfgBuilder]: Building ICFG [2023-09-17 11:46:28,364 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-09-17 11:46:28,456 INFO L277 CfgBuilder]: Performing block encoding [2023-09-17 11:46:28,461 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-09-17 11:46:28,461 INFO L302 CfgBuilder]: Removed 1 assume(true) statements. [2023-09-17 11:46:28,463 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:46:28 BoogieIcfgContainer [2023-09-17 11:46:28,463 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-09-17 11:46:28,464 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-09-17 11:46:28,464 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-09-17 11:46:28,468 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-09-17 11:46:28,468 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:46:28,469 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.09 11:46:27" (1/3) ... [2023-09-17 11:46:28,470 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@34367967 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:46:28, skipping insertion in model container [2023-09-17 11:46:28,470 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:46:28,470 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:28" (2/3) ... [2023-09-17 11:46:28,470 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@34367967 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:46:28, skipping insertion in model container [2023-09-17 11:46:28,470 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:46:28,470 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:46:28" (3/3) ... [2023-09-17 11:46:28,472 INFO L332 chiAutomizerObserver]: Analyzing ICFG floating_read-25.i [2023-09-17 11:46:28,568 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:28,597 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 45 places, 45 transitions, 95 flow [2023-09-17 11:46:28,645 INFO L124 PetriNetUnfolderBase]: 5/60 cut-off events. [2023-09-17 11:46:28,645 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-09-17 11:46:28,650 INFO L83 FinitePrefix]: Finished finitePrefix Result has 65 conditions, 60 events. 5/60 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 55 event pairs, 0 based on Foata normal form. 0/54 useless extension candidates. Maximal degree in co-relation 32. Up to 4 conditions per place. [2023-09-17 11:46:28,650 INFO L82 GeneralOperation]: Start removeDead. Operand has 45 places, 45 transitions, 95 flow [2023-09-17 11:46:28,655 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 45 places, 45 transitions, 95 flow [2023-09-17 11:46:28,669 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:28,670 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:28,670 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:28,670 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:28,670 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:28,670 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:28,670 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:28,670 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:28,672 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:28,790 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:28,790 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:28,790 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:28,797 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:28,797 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:28,797 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:28,797 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:28,810 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:28,811 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:28,811 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:28,812 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:28,812 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:28,824 INFO L748 eck$LassoCheckResult]: Stem: 53#[$Ultimate##0]don't care [96] $Ultimate##0-->L-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 58#[L-1]don't care [67] L-1-->L-1-1: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 62#[L-1-1]don't care [89] L-1-1-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 65#[L16]don't care [59] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 68#[L16-1]don't care [60] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 71#[L16-2]don't care [97] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 74#[L16-3]don't care [73] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 77#[L16-4]don't care [75] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 80#[L16-5]don't care [99] L16-5-->L-1-2: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 83#[L-1-2]don't care [91] L-1-2-->L-1-3: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 86#[L-1-3]don't care [93] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 89#[L-1-4]don't care [71] L-1-4-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 92#[L718]don't care [85] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 95#[L718-1]don't care [98] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 98#[L719]don't care [62] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 101#[L719-1]don't care [76] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 104#[L722]don't care [94] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 107#[L723-5]don't care [86] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 112#[L724]don't care [84] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 116#[L724-1]don't care [81] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 125#[L724-2]don't care [70] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 134#[L724-3]don't care [109] L724-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_threadThread1of1ForFork0_thidvar0_2) (= |v_threadThread1of1ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_9| |v_threadThread1of1ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{threadThread1of1ForFork0_#in~arg.offset=|v_threadThread1of1ForFork0_#in~arg.offset_4|, threadThread1of1ForFork0_~thread~0=v_threadThread1of1ForFork0_~thread~0_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_9|, threadThread1of1ForFork0_~arg.base=v_threadThread1of1ForFork0_~arg.base_6, threadThread1of1ForFork0_~arg.offset=v_threadThread1of1ForFork0_~arg.offset_6, threadThread1of1ForFork0_#res.base=|v_threadThread1of1ForFork0_#res.base_4|, threadThread1of1ForFork0_thidvar0=v_threadThread1of1ForFork0_thidvar0_2, threadThread1of1ForFork0_#res.offset=|v_threadThread1of1ForFork0_#res.offset_4|, threadThread1of1ForFork0_#in~arg.base=|v_threadThread1of1ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[threadThread1of1ForFork0_#in~arg.offset, threadThread1of1ForFork0_~thread~0, threadThread1of1ForFork0_~arg.base, threadThread1of1ForFork0_~arg.offset, threadThread1of1ForFork0_#res.base, threadThread1of1ForFork0_thidvar0, threadThread1of1ForFork0_#res.offset, threadThread1of1ForFork0_#in~arg.base] 142#[L724-4, $Ultimate##0]don't care [102] $Ultimate##0-->L712: Formula: (and (= v_threadThread1of1ForFork0_~arg.base_1 |v_threadThread1of1ForFork0_#in~arg.base_1|) (= |v_threadThread1of1ForFork0_#in~arg.offset_1| v_threadThread1of1ForFork0_~arg.offset_1)) InVars {threadThread1of1ForFork0_#in~arg.offset=|v_threadThread1of1ForFork0_#in~arg.offset_1|, threadThread1of1ForFork0_#in~arg.base=|v_threadThread1of1ForFork0_#in~arg.base_1|} OutVars{threadThread1of1ForFork0_#in~arg.offset=|v_threadThread1of1ForFork0_#in~arg.offset_1|, threadThread1of1ForFork0_~arg.base=v_threadThread1of1ForFork0_~arg.base_1, threadThread1of1ForFork0_~arg.offset=v_threadThread1of1ForFork0_~arg.offset_1, threadThread1of1ForFork0_#in~arg.base=|v_threadThread1of1ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[threadThread1of1ForFork0_~arg.base, threadThread1of1ForFork0_~arg.offset] 152#[L724-4, L712]don't care [103] L712-->L713: Formula: (= v_threadThread1of1ForFork0_~thread~0_1 (+ v_threadThread1of1ForFork0_~arg.base_3 v_threadThread1of1ForFork0_~arg.offset_3)) InVars {threadThread1of1ForFork0_~arg.offset=v_threadThread1of1ForFork0_~arg.offset_3, threadThread1of1ForFork0_~arg.base=v_threadThread1of1ForFork0_~arg.base_3} OutVars{threadThread1of1ForFork0_~thread~0=v_threadThread1of1ForFork0_~thread~0_1, threadThread1of1ForFork0_~arg.base=v_threadThread1of1ForFork0_~arg.base_3, threadThread1of1ForFork0_~arg.offset=v_threadThread1of1ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of1ForFork0_~thread~0] 163#[L724-4, L713]don't care [104] L713-->L715: Formula: (= v_threadThread1of1ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of1ForFork0_~thread~0=v_threadThread1of1ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of1ForFork0_~thread~0=v_threadThread1of1ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] 179#[L724-4, L715]don't care [105] L715-->threadFINAL: Formula: (and (= |v_threadThread1of1ForFork0_#res.base_1| 0) (= |v_threadThread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{threadThread1of1ForFork0_#res.offset=|v_threadThread1of1ForFork0_#res.offset_1|, threadThread1of1ForFork0_#res.base=|v_threadThread1of1ForFork0_#res.base_1|} AuxVars[] AssignedVars[threadThread1of1ForFork0_#res.base, threadThread1of1ForFork0_#res.offset] 195#[L724-4, threadFINAL]don't care [106] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 220#[L724-4, threadEXIT]don't care [95] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 250#[threadEXIT, L724-5]don't care [68] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 290#[L723-2, threadEXIT]don't care [72] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 340#[threadEXIT, L723-3]don't care [79] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 403#[L723-4, threadEXIT]don't care [101] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 478#[threadEXIT, L723-5]don't care [86] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 566#[L724, threadEXIT]don't care [84] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 657#[threadEXIT, L724-1]don't care [81] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 747#[L724-2, threadEXIT]don't care [70] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 820#[L724-3, threadEXIT]don't care [107] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 869#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT]don't care [2023-09-17 11:46:28,827 INFO L750 eck$LassoCheckResult]: Loop: 869#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT]don't care [108] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 869#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT]don't care [2023-09-17 11:46:28,833 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:28,833 INFO L85 PathProgramCache]: Analyzing trace with hash 1395925377, now seen corresponding path program 1 times [2023-09-17 11:46:28,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:28,841 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [352067517] [2023-09-17 11:46:28,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:28,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:28,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:28,987 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:29,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:29,043 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:29,046 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:29,046 INFO L85 PathProgramCache]: Analyzing trace with hash 139, now seen corresponding path program 1 times [2023-09-17 11:46:29,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:29,046 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342070602] [2023-09-17 11:46:29,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:29,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:29,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:29,073 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:29,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:29,077 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:29,079 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:29,079 INFO L85 PathProgramCache]: Analyzing trace with hash 324013835, now seen corresponding path program 1 times [2023-09-17 11:46:29,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:29,079 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972294899] [2023-09-17 11:46:29,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:29,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:29,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:29,128 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:29,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:29,173 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:30,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,194 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:30,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,221 WARN L148 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:46:30,232 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:30,235 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 53 places, 51 transitions, 114 flow [2023-09-17 11:46:30,247 INFO L124 PetriNetUnfolderBase]: 7/86 cut-off events. [2023-09-17 11:46:30,248 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-09-17 11:46:30,248 INFO L83 FinitePrefix]: Finished finitePrefix Result has 96 conditions, 86 events. 7/86 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 90 event pairs, 0 based on Foata normal form. 0/77 useless extension candidates. Maximal degree in co-relation 60. Up to 6 conditions per place. [2023-09-17 11:46:30,249 INFO L82 GeneralOperation]: Start removeDead. Operand has 53 places, 51 transitions, 114 flow [2023-09-17 11:46:30,250 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 51 transitions, 114 flow [2023-09-17 11:46:30,250 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:30,251 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:30,251 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:30,251 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:30,251 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:30,251 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:30,251 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:30,251 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:30,251 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:30,469 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:30,469 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:30,469 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:30,474 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:30,475 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:30,475 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:30,475 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:30,593 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:30,594 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:30,594 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:30,596 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:30,596 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:30,599 INFO L748 eck$LassoCheckResult]: Stem: 63#[$Ultimate##0]don't care [147] $Ultimate##0-->L-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 69#[L-1]don't care [118] L-1-->L-1-1: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 74#[L-1-1]don't care [140] L-1-1-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 77#[L16]don't care [110] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 80#[L16-1]don't care [111] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 83#[L16-2]don't care [148] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 86#[L16-3]don't care [124] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 89#[L16-4]don't care [126] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 92#[L16-5]don't care [150] L16-5-->L-1-2: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 95#[L-1-2]don't care [142] L-1-2-->L-1-3: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 98#[L-1-3]don't care [144] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 101#[L-1-4]don't care [122] L-1-4-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 104#[L718]don't care [136] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 107#[L718-1]don't care [149] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 110#[L719]don't care [113] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 113#[L719-1]don't care [127] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 116#[L722]don't care [145] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 119#[L723-5]don't care [137] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 124#[L724]don't care [135] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 128#[L724-1]don't care [132] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 137#[L724-2]don't care [121] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 146#[L724-3]don't care [165] L724-3-->$Ultimate##0: Formula: (and (= v_threadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_ULTIMATE.start_main_~i~0#1_14| |v_threadThread1of2ForFork0_#in~arg.offset_4|) (= |v_threadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_14|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_6, threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_4|, threadThread1of2ForFork0_thidvar0=v_threadThread1of2ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_14|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_4|, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_6, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_4|, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_4|, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_thidvar0, threadThread1of2ForFork0_#res.offset, threadThread1of2ForFork0_~arg.offset, threadThread1of2ForFork0_#in~arg.base, threadThread1of2ForFork0_#in~arg.offset, threadThread1of2ForFork0_~thread~0] 155#[L724-4, $Ultimate##0]don't care [146] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 165#[L724-5, $Ultimate##0]don't care [119] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 177#[L723-2, $Ultimate##0]don't care [153] $Ultimate##0-->L712: Formula: (and (= v_threadThread1of2ForFork0_~arg.offset_1 |v_threadThread1of2ForFork0_#in~arg.offset_1|) (= v_threadThread1of2ForFork0_~arg.base_1 |v_threadThread1of2ForFork0_#in~arg.base_1|)) InVars {threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_1, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_1, threadThread1of2ForFork0_#in~arg.offset=|v_threadThread1of2ForFork0_#in~arg.offset_1|, threadThread1of2ForFork0_#in~arg.base=|v_threadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[threadThread1of2ForFork0_~arg.base, threadThread1of2ForFork0_~arg.offset] 197#[L723-2, L712]don't care [154] L712-->L713: Formula: (= v_threadThread1of2ForFork0_~thread~0_1 (+ v_threadThread1of2ForFork0_~arg.offset_3 v_threadThread1of2ForFork0_~arg.base_3)) InVars {threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3} OutVars{threadThread1of2ForFork0_~arg.base=v_threadThread1of2ForFork0_~arg.base_3, threadThread1of2ForFork0_~arg.offset=v_threadThread1of2ForFork0_~arg.offset_3, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_1} AuxVars[] AssignedVars[threadThread1of2ForFork0_~thread~0] 213#[L723-2, L713]don't care [123] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 237#[L713, L723-3]don't care [130] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 271#[L713, L723-4]don't care [152] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 311#[L713, L723-5]don't care [137] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 363#[L713, L724]don't care [135] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 424#[L713, L724-1]don't care [132] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 499#[L724-2, L713]don't care [121] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 587#[L724-3, L713]don't care [166] L724-3-->$Ultimate##0: Formula: (and (= |v_threadThread2of2ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_16| |v_threadThread2of2ForFork0_#in~arg.offset_4|) (= v_threadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_16|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{threadThread2of2ForFork0_#in~arg.base=|v_threadThread2of2ForFork0_#in~arg.base_4|, threadThread2of2ForFork0_~arg.offset=v_threadThread2of2ForFork0_~arg.offset_6, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_16|, threadThread2of2ForFork0_#res.offset=|v_threadThread2of2ForFork0_#res.offset_4|, threadThread2of2ForFork0_~arg.base=v_threadThread2of2ForFork0_~arg.base_6, threadThread2of2ForFork0_thidvar0=v_threadThread2of2ForFork0_thidvar0_2, threadThread2of2ForFork0_#in~arg.offset=|v_threadThread2of2ForFork0_#in~arg.offset_4|, threadThread2of2ForFork0_~thread~0=v_threadThread2of2ForFork0_~thread~0_6, threadThread2of2ForFork0_#res.base=|v_threadThread2of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[threadThread2of2ForFork0_#in~arg.base, threadThread2of2ForFork0_~arg.offset, threadThread2of2ForFork0_#res.offset, threadThread2of2ForFork0_~arg.base, threadThread2of2ForFork0_thidvar0, threadThread2of2ForFork0_#in~arg.offset, threadThread2of2ForFork0_~thread~0, threadThread2of2ForFork0_#res.base] 692#[$Ultimate##0, L724-4, L713]don't care [146] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 814#[$Ultimate##0, L724-5, L713]don't care [119] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 946#[$Ultimate##0, L723-2, L713]don't care [123] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1098#[$Ultimate##0, L723-3, L713]don't care [130] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1301#[$Ultimate##0, L723-4, L713]don't care [152] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1573#[$Ultimate##0, L723-5, L713]don't care [137] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1920#[$Ultimate##0, L724, L713]don't care [135] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2340#[$Ultimate##0, L724-1, L713]don't care [155] L713-->L715: Formula: (= v_threadThread1of2ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of2ForFork0_~thread~0=v_threadThread1of2ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] 2861#[$Ultimate##0, L724-1, L715]don't care [156] L715-->threadFINAL: Formula: (and (= |v_threadThread1of2ForFork0_#res.base_1| 0) (= |v_threadThread1of2ForFork0_#res.offset_1| 0)) InVars {} OutVars{threadThread1of2ForFork0_#res.base=|v_threadThread1of2ForFork0_#res.base_1|, threadThread1of2ForFork0_#res.offset=|v_threadThread1of2ForFork0_#res.offset_1|} AuxVars[] AssignedVars[threadThread1of2ForFork0_#res.base, threadThread1of2ForFork0_#res.offset] 3500#[$Ultimate##0, L724-1, threadFINAL]don't care [157] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 4259#[$Ultimate##0, L724-1, threadEXIT]don't care [158] $Ultimate##0-->L712: Formula: (and (= v_threadThread2of2ForFork0_~arg.offset_1 |v_threadThread2of2ForFork0_#in~arg.offset_1|) (= |v_threadThread2of2ForFork0_#in~arg.base_1| v_threadThread2of2ForFork0_~arg.base_1)) InVars {threadThread2of2ForFork0_#in~arg.base=|v_threadThread2of2ForFork0_#in~arg.base_1|, threadThread2of2ForFork0_#in~arg.offset=|v_threadThread2of2ForFork0_#in~arg.offset_1|} OutVars{threadThread2of2ForFork0_#in~arg.base=|v_threadThread2of2ForFork0_#in~arg.base_1|, threadThread2of2ForFork0_#in~arg.offset=|v_threadThread2of2ForFork0_#in~arg.offset_1|, threadThread2of2ForFork0_~arg.offset=v_threadThread2of2ForFork0_~arg.offset_1, threadThread2of2ForFork0_~arg.base=v_threadThread2of2ForFork0_~arg.base_1} AuxVars[] AssignedVars[threadThread2of2ForFork0_~arg.offset, threadThread2of2ForFork0_~arg.base] 5126#[L724-1, threadEXIT, L712]don't care [159] L712-->L713: Formula: (= v_threadThread2of2ForFork0_~thread~0_1 (+ v_threadThread2of2ForFork0_~arg.offset_3 v_threadThread2of2ForFork0_~arg.base_3)) InVars {threadThread2of2ForFork0_~arg.base=v_threadThread2of2ForFork0_~arg.base_3, threadThread2of2ForFork0_~arg.offset=v_threadThread2of2ForFork0_~arg.offset_3} OutVars{threadThread2of2ForFork0_~arg.offset=v_threadThread2of2ForFork0_~arg.offset_3, threadThread2of2ForFork0_~thread~0=v_threadThread2of2ForFork0_~thread~0_1, threadThread2of2ForFork0_~arg.base=v_threadThread2of2ForFork0_~arg.base_3} AuxVars[] AssignedVars[threadThread2of2ForFork0_~thread~0] 6066#[L724-1, threadEXIT, L713]don't care [160] L713-->L715: Formula: (= v_threadThread2of2ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread2of2ForFork0_~thread~0=v_threadThread2of2ForFork0_~thread~0_3} OutVars{threadThread2of2ForFork0_~thread~0=v_threadThread2of2ForFork0_~thread~0_3, ~x~0=v_~x~0_5} AuxVars[] AssignedVars[~x~0] 6996#[L724-1, threadEXIT, L715]don't care [161] L715-->threadFINAL: Formula: (and (= |v_threadThread2of2ForFork0_#res.base_1| 0) (= |v_threadThread2of2ForFork0_#res.offset_1| 0)) InVars {} OutVars{threadThread2of2ForFork0_#res.offset=|v_threadThread2of2ForFork0_#res.offset_1|, threadThread2of2ForFork0_#res.base=|v_threadThread2of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[threadThread2of2ForFork0_#res.offset, threadThread2of2ForFork0_#res.base] 7835#[L724-1, threadEXIT, threadFINAL]don't care [162] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 8516#[L724-1, threadEXIT, threadEXIT]don't care [132] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 9002#[threadEXIT, threadEXIT, L724-2]don't care [121] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 9299#[threadEXIT, threadEXIT, L724-3]don't care [163] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 9461#[threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT]don't care [2023-09-17 11:46:30,600 INFO L750 eck$LassoCheckResult]: Loop: 9461#[threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT]don't care [164] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 9461#[threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT]don't care [2023-09-17 11:46:30,601 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:30,601 INFO L85 PathProgramCache]: Analyzing trace with hash 1403138227, now seen corresponding path program 1 times [2023-09-17 11:46:30,601 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:30,601 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [144511563] [2023-09-17 11:46:30,601 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:30,601 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:30,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,662 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:30,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,709 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:30,710 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:30,710 INFO L85 PathProgramCache]: Analyzing trace with hash 195, now seen corresponding path program 1 times [2023-09-17 11:46:30,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:30,711 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [259425724] [2023-09-17 11:46:30,711 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:30,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:30,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,720 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:30,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,725 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:30,725 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:30,726 INFO L85 PathProgramCache]: Analyzing trace with hash 547612241, now seen corresponding path program 1 times [2023-09-17 11:46:30,726 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:30,726 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1887315869] [2023-09-17 11:46:30,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:30,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:30,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,776 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:30,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:30,802 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:32,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:32,019 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:32,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:32,049 WARN L148 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:46:32,059 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:32,063 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 61 places, 57 transitions, 135 flow [2023-09-17 11:46:32,077 INFO L124 PetriNetUnfolderBase]: 9/112 cut-off events. [2023-09-17 11:46:32,078 INFO L125 PetriNetUnfolderBase]: For 7/7 co-relation queries the response was YES. [2023-09-17 11:46:32,078 INFO L83 FinitePrefix]: Finished finitePrefix Result has 128 conditions, 112 events. 9/112 cut-off events. For 7/7 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 124 event pairs, 0 based on Foata normal form. 0/100 useless extension candidates. Maximal degree in co-relation 89. Up to 8 conditions per place. [2023-09-17 11:46:32,078 INFO L82 GeneralOperation]: Start removeDead. Operand has 61 places, 57 transitions, 135 flow [2023-09-17 11:46:32,082 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 61 places, 57 transitions, 135 flow [2023-09-17 11:46:32,082 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:32,082 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:32,083 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:32,083 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:32,083 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:32,083 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:32,083 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:32,083 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:32,083 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:35,012 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:35,013 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:35,013 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:35,014 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:35,014 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:35,014 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:35,014 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:36,533 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:36,534 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:36,534 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:36,535 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:36,535 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:36,537 INFO L748 eck$LassoCheckResult]: Stem: 73#[$Ultimate##0]don't care [204] $Ultimate##0-->L-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 80#[L-1]don't care [175] L-1-->L-1-1: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 83#[L-1-1]don't care [197] L-1-1-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 86#[L16]don't care [167] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 89#[L16-1]don't care [168] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 92#[L16-2]don't care [205] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 95#[L16-3]don't care [181] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 98#[L16-4]don't care [183] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 101#[L16-5]don't care [207] L16-5-->L-1-2: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 104#[L-1-2]don't care [199] L-1-2-->L-1-3: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 107#[L-1-3]don't care [201] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 110#[L-1-4]don't care [179] L-1-4-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 113#[L718]don't care [193] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 116#[L718-1]don't care [206] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 119#[L719]don't care [170] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 122#[L719-1]don't care [184] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 125#[L722]don't care [202] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 128#[L723-5]don't care [194] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 133#[L724]don't care [192] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 137#[L724-1]don't care [189] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 146#[L724-2]don't care [178] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 155#[L724-3]don't care [227] L724-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_~i~0#1_22| |v_threadThread1of3ForFork0_#in~arg.offset_4|) (= v_threadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_22|) (= |v_threadThread1of3ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_22|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} OutVars{threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_22|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_4|, threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_4|, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_6, threadThread1of3ForFork0_thidvar0=v_threadThread1of3ForFork0_thidvar0_2, threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_4|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_6, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_22|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#in~arg.base, threadThread1of3ForFork0_#res.offset, threadThread1of3ForFork0_~thread~0, threadThread1of3ForFork0_thidvar0, threadThread1of3ForFork0_#in~arg.offset, threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] 163#[$Ultimate##0, L724-4]don't care [203] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 172#[$Ultimate##0, L724-5]don't care [176] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 184#[$Ultimate##0, L723-2]don't care [180] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 202#[$Ultimate##0, L723-3]don't care [187] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 218#[$Ultimate##0, L723-4]don't care [209] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 242#[$Ultimate##0, L723-5]don't care [194] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 276#[$Ultimate##0, L724]don't care [192] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 315#[$Ultimate##0, L724-1]don't care [220] $Ultimate##0-->L712: Formula: (and (= v_threadThread1of3ForFork0_~arg.offset_1 |v_threadThread1of3ForFork0_#in~arg.offset_1|) (= v_threadThread1of3ForFork0_~arg.base_1 |v_threadThread1of3ForFork0_#in~arg.base_1|)) InVars {threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|} OutVars{threadThread1of3ForFork0_#in~arg.offset=|v_threadThread1of3ForFork0_#in~arg.offset_1|, threadThread1of3ForFork0_#in~arg.base=|v_threadThread1of3ForFork0_#in~arg.base_1|, threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of3ForFork0_~arg.base, threadThread1of3ForFork0_~arg.offset] 367#[L712, L724-1]don't care [221] L712-->L713: Formula: (= v_threadThread1of3ForFork0_~thread~0_1 (+ v_threadThread1of3ForFork0_~arg.base_3 v_threadThread1of3ForFork0_~arg.offset_3)) InVars {threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} OutVars{threadThread1of3ForFork0_~arg.base=v_threadThread1of3ForFork0_~arg.base_3, threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_1, threadThread1of3ForFork0_~arg.offset=v_threadThread1of3ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of3ForFork0_~thread~0] 433#[L724-1, L713]don't care [189] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 512#[L724-2, L713]don't care [178] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 604#[L724-3, L713]don't care [228] L724-3-->$Ultimate##0: Formula: (and (= |v_threadThread2of3ForFork0_#in~arg.base_4| 0) (= v_threadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_24|) (= |v_ULTIMATE.start_main_~i~0#1_24| |v_threadThread2of3ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_24|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} OutVars{threadThread2of3ForFork0_thidvar0=v_threadThread2of3ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_24|, threadThread2of3ForFork0_#in~arg.offset=|v_threadThread2of3ForFork0_#in~arg.offset_4|, threadThread2of3ForFork0_~thread~0=v_threadThread2of3ForFork0_~thread~0_6, threadThread2of3ForFork0_#res.offset=|v_threadThread2of3ForFork0_#res.offset_4|, threadThread2of3ForFork0_#res.base=|v_threadThread2of3ForFork0_#res.base_4|, threadThread2of3ForFork0_#in~arg.base=|v_threadThread2of3ForFork0_#in~arg.base_4|, threadThread2of3ForFork0_~arg.offset=v_threadThread2of3ForFork0_~arg.offset_6, threadThread2of3ForFork0_~arg.base=v_threadThread2of3ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_24|} AuxVars[] AssignedVars[threadThread2of3ForFork0_thidvar0, threadThread2of3ForFork0_#in~arg.offset, threadThread2of3ForFork0_~thread~0, threadThread2of3ForFork0_#res.offset, threadThread2of3ForFork0_#res.base, threadThread2of3ForFork0_#in~arg.base, threadThread2of3ForFork0_~arg.offset, threadThread2of3ForFork0_~arg.base] 710#[L724-4, $Ultimate##0, L713]don't care [215] $Ultimate##0-->L712: Formula: (and (= |v_threadThread2of3ForFork0_#in~arg.base_1| v_threadThread2of3ForFork0_~arg.base_1) (= v_threadThread2of3ForFork0_~arg.offset_1 |v_threadThread2of3ForFork0_#in~arg.offset_1|)) InVars {threadThread2of3ForFork0_#in~arg.base=|v_threadThread2of3ForFork0_#in~arg.base_1|, threadThread2of3ForFork0_#in~arg.offset=|v_threadThread2of3ForFork0_#in~arg.offset_1|} OutVars{threadThread2of3ForFork0_#in~arg.base=|v_threadThread2of3ForFork0_#in~arg.base_1|, threadThread2of3ForFork0_~arg.offset=v_threadThread2of3ForFork0_~arg.offset_1, threadThread2of3ForFork0_#in~arg.offset=|v_threadThread2of3ForFork0_#in~arg.offset_1|, threadThread2of3ForFork0_~arg.base=v_threadThread2of3ForFork0_~arg.base_1} AuxVars[] AssignedVars[threadThread2of3ForFork0_~arg.offset, threadThread2of3ForFork0_~arg.base] 827#[L724-4, L712, L713]don't care [216] L712-->L713: Formula: (= (+ v_threadThread2of3ForFork0_~arg.base_3 v_threadThread2of3ForFork0_~arg.offset_3) v_threadThread2of3ForFork0_~thread~0_1) InVars {threadThread2of3ForFork0_~arg.offset=v_threadThread2of3ForFork0_~arg.offset_3, threadThread2of3ForFork0_~arg.base=v_threadThread2of3ForFork0_~arg.base_3} OutVars{threadThread2of3ForFork0_~thread~0=v_threadThread2of3ForFork0_~thread~0_1, threadThread2of3ForFork0_~arg.offset=v_threadThread2of3ForFork0_~arg.offset_3, threadThread2of3ForFork0_~arg.base=v_threadThread2of3ForFork0_~arg.base_3} AuxVars[] AssignedVars[threadThread2of3ForFork0_~thread~0] 947#[L724-4, L713, L713]don't care [217] L713-->L715: Formula: (= v_threadThread2of3ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread2of3ForFork0_~thread~0=v_threadThread2of3ForFork0_~thread~0_3} OutVars{threadThread2of3ForFork0_~thread~0=v_threadThread2of3ForFork0_~thread~0_3, ~x~0=v_~x~0_5} AuxVars[] AssignedVars[~x~0] 1085#[L724-4, L715, L713]don't care [218] L715-->threadFINAL: Formula: (and (= |v_threadThread2of3ForFork0_#res.base_1| 0) (= 0 |v_threadThread2of3ForFork0_#res.offset_1|)) InVars {} OutVars{threadThread2of3ForFork0_#res.offset=|v_threadThread2of3ForFork0_#res.offset_1|, threadThread2of3ForFork0_#res.base=|v_threadThread2of3ForFork0_#res.base_1|} AuxVars[] AssignedVars[threadThread2of3ForFork0_#res.offset, threadThread2of3ForFork0_#res.base] 1269#[L724-4, L713, threadFINAL]don't care [203] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1518#[L724-5, L713, threadFINAL]don't care [176] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1835#[L723-2, L713, threadFINAL]don't care [180] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2230#[L723-3, L713, threadFINAL]don't care [187] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2725#[L723-4, L713, threadFINAL]don't care [209] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3333#[L723-5, L713, threadFINAL]don't care [194] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 4069#[L724, L713, threadFINAL]don't care [192] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 4932#[L724-1, L713, threadFINAL]don't care [219] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 5908#[L724-1, L713, threadEXIT]don't care [189] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 6993#[L724-2, L713, threadEXIT]don't care [178] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 8247#[L724-3, L713, threadEXIT]don't care [229] L724-3-->$Ultimate##0: Formula: (and (= |v_threadThread3of3ForFork0_#in~arg.base_4| 0) (= v_threadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_26|) (= |v_ULTIMATE.start_main_~i~0#1_26| |v_threadThread3of3ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_26|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_26|, threadThread3of3ForFork0_~thread~0=v_threadThread3of3ForFork0_~thread~0_6, threadThread3of3ForFork0_#in~arg.offset=|v_threadThread3of3ForFork0_#in~arg.offset_4|, threadThread3of3ForFork0_#res.base=|v_threadThread3of3ForFork0_#res.base_4|, threadThread3of3ForFork0_~arg.offset=v_threadThread3of3ForFork0_~arg.offset_6, threadThread3of3ForFork0_thidvar0=v_threadThread3of3ForFork0_thidvar0_2, threadThread3of3ForFork0_#res.offset=|v_threadThread3of3ForFork0_#res.offset_4|, threadThread3of3ForFork0_#in~arg.base=|v_threadThread3of3ForFork0_#in~arg.base_4|, threadThread3of3ForFork0_~arg.base=v_threadThread3of3ForFork0_~arg.base_6, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_26|} AuxVars[] AssignedVars[threadThread3of3ForFork0_~thread~0, threadThread3of3ForFork0_#in~arg.offset, threadThread3of3ForFork0_#res.base, threadThread3of3ForFork0_~arg.offset, threadThread3of3ForFork0_thidvar0, threadThread3of3ForFork0_#res.offset, threadThread3of3ForFork0_#in~arg.base, threadThread3of3ForFork0_~arg.base] 9779#[threadEXIT, $Ultimate##0, L713, L724-4]don't care [210] $Ultimate##0-->L712: Formula: (and (= v_threadThread3of3ForFork0_~arg.offset_1 |v_threadThread3of3ForFork0_#in~arg.offset_1|) (= v_threadThread3of3ForFork0_~arg.base_1 |v_threadThread3of3ForFork0_#in~arg.base_1|)) InVars {threadThread3of3ForFork0_#in~arg.base=|v_threadThread3of3ForFork0_#in~arg.base_1|, threadThread3of3ForFork0_#in~arg.offset=|v_threadThread3of3ForFork0_#in~arg.offset_1|} OutVars{threadThread3of3ForFork0_~arg.offset=v_threadThread3of3ForFork0_~arg.offset_1, threadThread3of3ForFork0_#in~arg.base=|v_threadThread3of3ForFork0_#in~arg.base_1|, threadThread3of3ForFork0_#in~arg.offset=|v_threadThread3of3ForFork0_#in~arg.offset_1|, threadThread3of3ForFork0_~arg.base=v_threadThread3of3ForFork0_~arg.base_1} AuxVars[] AssignedVars[threadThread3of3ForFork0_~arg.offset, threadThread3of3ForFork0_~arg.base] 11708#[threadEXIT, L712, L713, L724-4]don't care [211] L712-->L713: Formula: (= (+ v_threadThread3of3ForFork0_~arg.base_3 v_threadThread3of3ForFork0_~arg.offset_3) v_threadThread3of3ForFork0_~thread~0_1) InVars {threadThread3of3ForFork0_~arg.offset=v_threadThread3of3ForFork0_~arg.offset_3, threadThread3of3ForFork0_~arg.base=v_threadThread3of3ForFork0_~arg.base_3} OutVars{threadThread3of3ForFork0_~arg.offset=v_threadThread3of3ForFork0_~arg.offset_3, threadThread3of3ForFork0_~thread~0=v_threadThread3of3ForFork0_~thread~0_1, threadThread3of3ForFork0_~arg.base=v_threadThread3of3ForFork0_~arg.base_3} AuxVars[] AssignedVars[threadThread3of3ForFork0_~thread~0] 14158#[threadEXIT, L713, L724-4, L713]don't care [212] L713-->L715: Formula: (= v_threadThread3of3ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread3of3ForFork0_~thread~0=v_threadThread3of3ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread3of3ForFork0_~thread~0=v_threadThread3of3ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] 17290#[threadEXIT, L713, L715, L724-4]don't care [213] L715-->threadFINAL: Formula: (and (= |v_threadThread3of3ForFork0_#res.base_1| 0) (= 0 |v_threadThread3of3ForFork0_#res.offset_1|)) InVars {} OutVars{threadThread3of3ForFork0_#res.base=|v_threadThread3of3ForFork0_#res.base_1|, threadThread3of3ForFork0_#res.offset=|v_threadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[threadThread3of3ForFork0_#res.base, threadThread3of3ForFork0_#res.offset] 21267#[threadEXIT, L713, L724-4, threadFINAL]don't care [214] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 26208#[threadEXIT, L713, L724-4, threadEXIT]don't care [203] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 32190#[threadEXIT, L724-5, L713, threadEXIT]don't care [176] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 39227#[threadEXIT, L713, L723-2, threadEXIT]don't care [180] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 47173#[L723-3, threadEXIT, L713, threadEXIT]don't care [187] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 55694#[L723-4, threadEXIT, L713, threadEXIT]don't care [209] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 64315#[L723-5, threadEXIT, L713, threadEXIT]don't care [194] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 72498#[threadEXIT, L713, L724, threadEXIT]don't care [192] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 79717#[L724-1, threadEXIT, L713, threadEXIT]don't care [189] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 85608#[threadEXIT, L713, L724-2, threadEXIT]don't care [222] L713-->L715: Formula: (= v_threadThread1of3ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3} OutVars{threadThread1of3ForFork0_~thread~0=v_threadThread1of3ForFork0_~thread~0_3, ~x~0=v_~x~0_5} AuxVars[] AssignedVars[~x~0] 90030#[threadEXIT, L724-2, L715, threadEXIT]don't care [223] L715-->threadFINAL: Formula: (and (= |v_threadThread1of3ForFork0_#res.base_1| 0) (= 0 |v_threadThread1of3ForFork0_#res.offset_1|)) InVars {} OutVars{threadThread1of3ForFork0_#res.offset=|v_threadThread1of3ForFork0_#res.offset_1|, threadThread1of3ForFork0_#res.base=|v_threadThread1of3ForFork0_#res.base_1|} AuxVars[] AssignedVars[threadThread1of3ForFork0_#res.base, threadThread1of3ForFork0_#res.offset] 93068#[threadEXIT, L724-2, threadFINAL, threadEXIT]don't care [224] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 94961#[threadEXIT, L724-2, threadEXIT, threadEXIT]don't care [178] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 96011#[threadEXIT, threadEXIT, threadEXIT, L724-3]don't care [225] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 96515#[threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT]don't care [2023-09-17 11:46:36,538 INFO L750 eck$LassoCheckResult]: Loop: 96515#[threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT]don't care [226] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 96515#[threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT]don't care [2023-09-17 11:46:36,538 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:36,539 INFO L85 PathProgramCache]: Analyzing trace with hash -489799429, now seen corresponding path program 1 times [2023-09-17 11:46:36,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:36,539 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1883228509] [2023-09-17 11:46:36,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:36,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:36,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,563 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:36,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,598 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:36,599 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:36,599 INFO L85 PathProgramCache]: Analyzing trace with hash 257, now seen corresponding path program 1 times [2023-09-17 11:46:36,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:36,600 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1015286727] [2023-09-17 11:46:36,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:36,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:36,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,610 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:36,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,612 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:36,613 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:36,613 INFO L85 PathProgramCache]: Analyzing trace with hash 1996087111, now seen corresponding path program 1 times [2023-09-17 11:46:36,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:36,614 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2126231554] [2023-09-17 11:46:36,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:36,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:36,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,643 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:36,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,661 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:38,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,292 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:38,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,332 WARN L148 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:46:38,353 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:38,359 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 69 places, 63 transitions, 158 flow [2023-09-17 11:46:38,381 INFO L124 PetriNetUnfolderBase]: 11/138 cut-off events. [2023-09-17 11:46:38,381 INFO L125 PetriNetUnfolderBase]: For 16/16 co-relation queries the response was YES. [2023-09-17 11:46:38,382 INFO L83 FinitePrefix]: Finished finitePrefix Result has 161 conditions, 138 events. 11/138 cut-off events. For 16/16 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 158 event pairs, 0 based on Foata normal form. 0/123 useless extension candidates. Maximal degree in co-relation 119. Up to 10 conditions per place. [2023-09-17 11:46:38,382 INFO L82 GeneralOperation]: Start removeDead. Operand has 69 places, 63 transitions, 158 flow [2023-09-17 11:46:38,384 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 69 places, 63 transitions, 158 flow [2023-09-17 11:46:38,384 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:38,384 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:38,384 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:38,384 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:38,384 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:38,385 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:38,385 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:38,385 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:38,385 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:47:16,064 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:16,064 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:16,064 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:16,066 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:47:16,066 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:16,066 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:47:16,066 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:47:53,114 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:53,114 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:53,114 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:53,116 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:47:53,117 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:53,119 INFO L748 eck$LassoCheckResult]: Stem: 83#[$Ultimate##0]don't care [267] $Ultimate##0-->L-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 88#[L-1]don't care [238] L-1-->L-1-1: Formula: (= (select |v_#valid_1| 0) 0) InVars {#valid=|v_#valid_1|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[] 92#[L-1-1]don't care [260] L-1-1-->L16: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 95#[L16]don't care [230] L16-->L16-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] 98#[L16-1]don't care [231] L16-1-->L16-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] 101#[L16-2]don't care [268] L16-2-->L16-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] 104#[L16-3]don't care [244] L16-3-->L16-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] 107#[L16-4]don't care [246] L16-4-->L16-5: Formula: (= (select (select |v_#memory_int_3| 2) 0) 0) InVars {#memory_int=|v_#memory_int_3|} OutVars{#memory_int=|v_#memory_int_3|} AuxVars[] AssignedVars[] 110#[L16-5]don't care [270] L16-5-->L-1-2: Formula: (= v_~x~0_1 0) InVars {} OutVars{~x~0=v_~x~0_1} AuxVars[] AssignedVars[~x~0] 113#[L-1-2]don't care [262] L-1-2-->L-1-3: Formula: (and (= |v_ULTIMATE.start_#in~argv#1.offset_1| |v_ULTIMATE.start_main_#in~argv#1.offset_1|) (= |v_ULTIMATE.start_main_#in~argv#1.base_1| |v_ULTIMATE.start_#in~argv#1.base_1|) (= |v_ULTIMATE.start_main_#in~argc#1_1| |v_ULTIMATE.start_#in~argc#1_1|)) InVars {ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} OutVars{ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_1|, ULTIMATE.start_#in~argc#1=|v_ULTIMATE.start_#in~argc#1_1|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_1|, ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.offset=|v_ULTIMATE.start_#in~argv#1.offset_1|, ULTIMATE.start_#in~argv#1.base=|v_ULTIMATE.start_#in~argv#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#in~argv#1.base, ULTIMATE.start_main_#in~argc#1, ULTIMATE.start_main_#in~argv#1.offset] 116#[L-1-3]don't care [264] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 119#[L-1-4]don't care [242] L-1-4-->L718: Formula: true InVars {} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_1|, ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_1|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_1|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_1|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1, ULTIMATE.start_main_#t~post1#1, ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t~0#1.offset, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_~#t~0#1.base, ULTIMATE.start_main_#t~pre2#1] 122#[L718]don't care [256] L718-->L718-1: Formula: (= |v_ULTIMATE.start_main_#in~argc#1_2| |v_ULTIMATE.start_main_~argc#1_2|) InVars {ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} OutVars{ULTIMATE.start_main_~argc#1=|v_ULTIMATE.start_main_~argc#1_2|, ULTIMATE.start_main_#in~argc#1=|v_ULTIMATE.start_main_#in~argc#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argc#1] 125#[L718-1]don't care [269] L718-1-->L719: Formula: (and (= |v_ULTIMATE.start_main_~argv#1.offset_2| |v_ULTIMATE.start_main_#in~argv#1.offset_2|) (= |v_ULTIMATE.start_main_#in~argv#1.base_2| |v_ULTIMATE.start_main_~argv#1.base_2|)) InVars {ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|} OutVars{ULTIMATE.start_main_#in~argv#1.offset=|v_ULTIMATE.start_main_#in~argv#1.offset_2|, ULTIMATE.start_main_~argv#1.base=|v_ULTIMATE.start_main_~argv#1.base_2|, ULTIMATE.start_main_#in~argv#1.base=|v_ULTIMATE.start_main_#in~argv#1.base_2|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~argv#1.base, ULTIMATE.start_main_~argv#1.offset] 128#[L719]don't care [233] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] 131#[L719-1]don't care [247] L719-1-->L722: Formula: (= v_~x~0_2 0) InVars {} OutVars{~x~0=v_~x~0_2} AuxVars[] AssignedVars[~x~0] 134#[L722]don't care [265] L722-->L723-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 1) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 137#[L723-5]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 142#[L724]don't care [255] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 146#[L724-1]don't care [252] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 155#[L724-2]don't care [241] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 164#[L724-3]don't care [295] L724-3-->$Ultimate##0: Formula: (and (= v_threadThread1of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_36|) (= |v_ULTIMATE.start_main_~i~0#1_33| |v_threadThread1of4ForFork0_#in~arg.offset_4|) (= |v_threadThread1of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_33|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_36|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_33|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_4|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_6, threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_4|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_6, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_6, threadThread1of4ForFork0_thidvar0=v_threadThread1of4ForFork0_thidvar0_2, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_4|, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_36|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_#res.offset, threadThread1of4ForFork0_~arg.base, threadThread1of4ForFork0_~thread~0, threadThread1of4ForFork0_thidvar0, threadThread1of4ForFork0_#in~arg.offset, threadThread1of4ForFork0_#in~arg.base] 175#[L724-4, $Ultimate##0]don't care [278] $Ultimate##0-->L712: Formula: (and (= |v_threadThread1of4ForFork0_#in~arg.offset_1| v_threadThread1of4ForFork0_~arg.offset_1) (= v_threadThread1of4ForFork0_~arg.base_1 |v_threadThread1of4ForFork0_#in~arg.base_1|)) InVars {threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|} OutVars{threadThread1of4ForFork0_#in~arg.offset=|v_threadThread1of4ForFork0_#in~arg.offset_1|, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_1, threadThread1of4ForFork0_#in~arg.base=|v_threadThread1of4ForFork0_#in~arg.base_1|, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread1of4ForFork0_~arg.offset, threadThread1of4ForFork0_~arg.base] 188#[L724-4, L712]don't care [279] L712-->L713: Formula: (= v_threadThread1of4ForFork0_~thread~0_1 (+ v_threadThread1of4ForFork0_~arg.base_3 v_threadThread1of4ForFork0_~arg.offset_3)) InVars {threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3, threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3} OutVars{threadThread1of4ForFork0_~arg.base=v_threadThread1of4ForFork0_~arg.base_3, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_1, threadThread1of4ForFork0_~arg.offset=v_threadThread1of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread1of4ForFork0_~thread~0] 205#[L724-4, L713]don't care [280] L713-->L715: Formula: (= v_threadThread1of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread1of4ForFork0_~thread~0=v_threadThread1of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] 223#[L715, L724-4]don't care [281] L715-->threadFINAL: Formula: (and (= |v_threadThread1of4ForFork0_#res.offset_1| 0) (= |v_threadThread1of4ForFork0_#res.base_1| 0)) InVars {} OutVars{threadThread1of4ForFork0_#res.offset=|v_threadThread1of4ForFork0_#res.offset_1|, threadThread1of4ForFork0_#res.base=|v_threadThread1of4ForFork0_#res.base_1|} AuxVars[] AssignedVars[threadThread1of4ForFork0_#res.base, threadThread1of4ForFork0_#res.offset] 241#[threadFINAL, L724-4]don't care [282] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 268#[threadEXIT, L724-4]don't care [266] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 304#[L724-5, threadEXIT]don't care [239] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 358#[threadEXIT, L723-2]don't care [243] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 421#[L723-3, threadEXIT]don't care [250] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 500#[threadEXIT, L723-4]don't care [272] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 596#[L723-5, threadEXIT]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 715#[threadEXIT, L724]don't care [255] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 854#[L724-1, threadEXIT]don't care [252] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1012#[threadEXIT, L724-2]don't care [241] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 1188#[L724-3, threadEXIT]don't care [296] L724-3-->$Ultimate##0: Formula: (and (= v_threadThread2of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_38|) (= 0 |v_threadThread2of4ForFork0_#in~arg.base_4|) (= |v_ULTIMATE.start_main_~i~0#1_35| |v_threadThread2of4ForFork0_#in~arg.offset_4|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_35|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_38|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_35|, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_4|, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_6, threadThread2of4ForFork0_thidvar0=v_threadThread2of4ForFork0_thidvar0_2, threadThread2of4ForFork0_#res.base=|v_threadThread2of4ForFork0_#res.base_4|, threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_4|, threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_6, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_6, threadThread2of4ForFork0_#res.offset=|v_threadThread2of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_38|} AuxVars[] AssignedVars[threadThread2of4ForFork0_#in~arg.offset, threadThread2of4ForFork0_~arg.offset, threadThread2of4ForFork0_thidvar0, threadThread2of4ForFork0_#res.base, threadThread2of4ForFork0_#in~arg.base, threadThread2of4ForFork0_~arg.base, threadThread2of4ForFork0_~thread~0, threadThread2of4ForFork0_#res.offset] 1390#[L724-4, threadEXIT, $Ultimate##0]don't care [266] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1675#[L724-5, threadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L712: Formula: (and (= v_threadThread2of4ForFork0_~arg.offset_1 |v_threadThread2of4ForFork0_#in~arg.offset_1|) (= v_threadThread2of4ForFork0_~arg.base_1 |v_threadThread2of4ForFork0_#in~arg.base_1|)) InVars {threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_1|, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_1|} OutVars{threadThread2of4ForFork0_#in~arg.base=|v_threadThread2of4ForFork0_#in~arg.base_1|, threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_1, threadThread2of4ForFork0_#in~arg.offset=|v_threadThread2of4ForFork0_#in~arg.offset_1|, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread2of4ForFork0_~arg.offset, threadThread2of4ForFork0_~arg.base] 2063#[L712, L724-5, threadEXIT]don't care [284] L712-->L713: Formula: (= (+ v_threadThread2of4ForFork0_~arg.base_3 v_threadThread2of4ForFork0_~arg.offset_3) v_threadThread2of4ForFork0_~thread~0_1) InVars {threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_3, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_3} OutVars{threadThread2of4ForFork0_~arg.base=v_threadThread2of4ForFork0_~arg.base_3, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_1, threadThread2of4ForFork0_~arg.offset=v_threadThread2of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread2of4ForFork0_~thread~0] 2574#[L724-5, threadEXIT, L713]don't care [285] L713-->L715: Formula: (= v_threadThread2of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread2of4ForFork0_~thread~0=v_threadThread2of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] 3211#[L715, L724-5, threadEXIT]don't care [286] L715-->threadFINAL: Formula: (and (= |v_threadThread2of4ForFork0_#res.base_1| 0) (= |v_threadThread2of4ForFork0_#res.offset_1| 0)) InVars {} OutVars{threadThread2of4ForFork0_#res.base=|v_threadThread2of4ForFork0_#res.base_1|, threadThread2of4ForFork0_#res.offset=|v_threadThread2of4ForFork0_#res.offset_1|} AuxVars[] AssignedVars[threadThread2of4ForFork0_#res.base, threadThread2of4ForFork0_#res.offset] 3998#[L724-5, threadEXIT, threadFINAL]don't care [239] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 4963#[L723-2, threadEXIT, threadFINAL]don't care [243] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 6132#[L723-3, threadEXIT, threadFINAL]don't care [250] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 7511#[L723-4, threadEXIT, threadFINAL]don't care [272] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 9076#[L723-5, threadEXIT, threadFINAL]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 10784#[threadEXIT, threadFINAL, L724]don't care [287] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 12650#[threadEXIT, threadEXIT, L724]don't care [255] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 14720#[L724-1, threadEXIT, threadEXIT]don't care [252] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 17054#[threadEXIT, threadEXIT, L724-2]don't care [241] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 19781#[threadEXIT, threadEXIT, L724-3]don't care [297] L724-3-->$Ultimate##0: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_4| 0) (= |v_ULTIMATE.start_main_~i~0#1_37| |v_threadThread3of4ForFork0_#in~arg.offset_4|) (= v_threadThread3of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_40|)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_37|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_40|} OutVars{threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_4|, threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_6, threadThread3of4ForFork0_thidvar0=v_threadThread3of4ForFork0_thidvar0_2, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_37|, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_6, threadThread3of4ForFork0_#res.base=|v_threadThread3of4ForFork0_#res.base_4|, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_6, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_4|, threadThread3of4ForFork0_#res.offset=|v_threadThread3of4ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_40|} AuxVars[] AssignedVars[threadThread3of4ForFork0_#in~arg.offset, threadThread3of4ForFork0_~thread~0, threadThread3of4ForFork0_thidvar0, threadThread3of4ForFork0_~arg.offset, threadThread3of4ForFork0_#res.base, threadThread3of4ForFork0_~arg.base, threadThread3of4ForFork0_#in~arg.base, threadThread3of4ForFork0_#res.offset] 23081#[L724-4, threadEXIT, $Ultimate##0, threadEXIT]don't care [273] $Ultimate##0-->L712: Formula: (and (= |v_threadThread3of4ForFork0_#in~arg.base_1| v_threadThread3of4ForFork0_~arg.base_1) (= v_threadThread3of4ForFork0_~arg.offset_1 |v_threadThread3of4ForFork0_#in~arg.offset_1|)) InVars {threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_1|, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_1|} OutVars{threadThread3of4ForFork0_#in~arg.offset=|v_threadThread3of4ForFork0_#in~arg.offset_1|, threadThread3of4ForFork0_#in~arg.base=|v_threadThread3of4ForFork0_#in~arg.base_1|, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_1, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_1} AuxVars[] AssignedVars[threadThread3of4ForFork0_~arg.offset, threadThread3of4ForFork0_~arg.base] 27123#[L724-4, threadEXIT, L712, threadEXIT]don't care [274] L712-->L713: Formula: (= v_threadThread3of4ForFork0_~thread~0_1 (+ v_threadThread3of4ForFork0_~arg.base_3 v_threadThread3of4ForFork0_~arg.offset_3)) InVars {threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_3, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_3} OutVars{threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_1, threadThread3of4ForFork0_~arg.offset=v_threadThread3of4ForFork0_~arg.offset_3, threadThread3of4ForFork0_~arg.base=v_threadThread3of4ForFork0_~arg.base_3} AuxVars[] AssignedVars[threadThread3of4ForFork0_~thread~0] 32014#[L724-4, threadEXIT, L713, threadEXIT]don't care [275] L713-->L715: Formula: (= v_threadThread3of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_3} OutVars{~x~0=v_~x~0_5, threadThread3of4ForFork0_~thread~0=v_threadThread3of4ForFork0_~thread~0_3} AuxVars[] AssignedVars[~x~0] 37882#[L724-4, threadEXIT, L715, threadEXIT]don't care [276] L715-->threadFINAL: Formula: (and (= |v_threadThread3of4ForFork0_#res.offset_1| 0) (= |v_threadThread3of4ForFork0_#res.base_1| 0)) InVars {} OutVars{threadThread3of4ForFork0_#res.base=|v_threadThread3of4ForFork0_#res.base_1|, threadThread3of4ForFork0_#res.offset=|v_threadThread3of4ForFork0_#res.offset_1|} AuxVars[] AssignedVars[threadThread3of4ForFork0_#res.base, threadThread3of4ForFork0_#res.offset] 44853#[L724-4, threadEXIT, threadEXIT, threadFINAL]don't care [277] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 53046#[L724-4, threadEXIT, threadEXIT, threadEXIT]don't care [266] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 62587#[L724-5, threadEXIT, threadEXIT, threadEXIT]don't care [239] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 73721#[threadEXIT, threadEXIT, threadEXIT, L723-2]don't care [243] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 86852#[L723-3, threadEXIT, threadEXIT, threadEXIT]don't care [250] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 102622#[threadEXIT, L723-4, threadEXIT, threadEXIT]don't care [272] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 121942#[threadEXIT, threadEXIT, L723-5, threadEXIT]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 146068#[L724, threadEXIT, threadEXIT, threadEXIT]don't care [255] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 176414#[threadEXIT, L724-1, threadEXIT, threadEXIT]don't care [252] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 214336#[threadEXIT, threadEXIT, threadEXIT, L724-2]don't care [241] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 261045#[L724-3, threadEXIT, threadEXIT, threadEXIT]don't care [298] L724-3-->$Ultimate##0: Formula: (and (= v_threadThread4of4ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_42|) (= |v_ULTIMATE.start_main_~i~0#1_39| |v_threadThread4of4ForFork0_#in~arg.offset_4|) (= |v_threadThread4of4ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_39|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_42|} OutVars{threadThread4of4ForFork0_#res.offset=|v_threadThread4of4ForFork0_#res.offset_4|, threadThread4of4ForFork0_~arg.base=v_threadThread4of4ForFork0_~arg.base_6, threadThread4of4ForFork0_~thread~0=v_threadThread4of4ForFork0_~thread~0_6, threadThread4of4ForFork0_#res.base=|v_threadThread4of4ForFork0_#res.base_4|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_39|, threadThread4of4ForFork0_#in~arg.base=|v_threadThread4of4ForFork0_#in~arg.base_4|, threadThread4of4ForFork0_~arg.offset=v_threadThread4of4ForFork0_~arg.offset_6, threadThread4of4ForFork0_thidvar0=v_threadThread4of4ForFork0_thidvar0_2, threadThread4of4ForFork0_#in~arg.offset=|v_threadThread4of4ForFork0_#in~arg.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_42|} AuxVars[] AssignedVars[threadThread4of4ForFork0_#res.offset, threadThread4of4ForFork0_~arg.base, threadThread4of4ForFork0_~thread~0, threadThread4of4ForFork0_#res.base, threadThread4of4ForFork0_#in~arg.base, threadThread4of4ForFork0_~arg.offset, threadThread4of4ForFork0_thidvar0, threadThread4of4ForFork0_#in~arg.offset] 317485#[L724-4, threadEXIT, $Ultimate##0, threadEXIT, threadEXIT]don't care [288] $Ultimate##0-->L712: Formula: (and (= v_threadThread4of4ForFork0_~arg.base_1 |v_threadThread4of4ForFork0_#in~arg.base_1|) (= |v_threadThread4of4ForFork0_#in~arg.offset_1| v_threadThread4of4ForFork0_~arg.offset_1)) InVars {threadThread4of4ForFork0_#in~arg.offset=|v_threadThread4of4ForFork0_#in~arg.offset_1|, threadThread4of4ForFork0_#in~arg.base=|v_threadThread4of4ForFork0_#in~arg.base_1|} OutVars{threadThread4of4ForFork0_~arg.base=v_threadThread4of4ForFork0_~arg.base_1, threadThread4of4ForFork0_#in~arg.base=|v_threadThread4of4ForFork0_#in~arg.base_1|, threadThread4of4ForFork0_#in~arg.offset=|v_threadThread4of4ForFork0_#in~arg.offset_1|, threadThread4of4ForFork0_~arg.offset=v_threadThread4of4ForFork0_~arg.offset_1} AuxVars[] AssignedVars[threadThread4of4ForFork0_~arg.base, threadThread4of4ForFork0_~arg.offset] 384050#[threadEXIT, L712, threadEXIT, threadEXIT, L724-4]don't care [289] L712-->L713: Formula: (= (+ v_threadThread4of4ForFork0_~arg.base_3 v_threadThread4of4ForFork0_~arg.offset_3) v_threadThread4of4ForFork0_~thread~0_1) InVars {threadThread4of4ForFork0_~arg.base=v_threadThread4of4ForFork0_~arg.base_3, threadThread4of4ForFork0_~arg.offset=v_threadThread4of4ForFork0_~arg.offset_3} OutVars{threadThread4of4ForFork0_~arg.base=v_threadThread4of4ForFork0_~arg.base_3, threadThread4of4ForFork0_~thread~0=v_threadThread4of4ForFork0_~thread~0_1, threadThread4of4ForFork0_~arg.offset=v_threadThread4of4ForFork0_~arg.offset_3} AuxVars[] AssignedVars[threadThread4of4ForFork0_~thread~0] 460181#[L724-4, L713, threadEXIT, threadEXIT, threadEXIT]don't care [290] L713-->L715: Formula: (= v_threadThread4of4ForFork0_~thread~0_3 v_~x~0_5) InVars {threadThread4of4ForFork0_~thread~0=v_threadThread4of4ForFork0_~thread~0_3} OutVars{threadThread4of4ForFork0_~thread~0=v_threadThread4of4ForFork0_~thread~0_3, ~x~0=v_~x~0_5} AuxVars[] AssignedVars[~x~0] 544087#[threadEXIT, L715, threadEXIT, threadEXIT, L724-4]don't care [291] L715-->threadFINAL: Formula: (and (= |v_threadThread4of4ForFork0_#res.base_1| 0) (= |v_threadThread4of4ForFork0_#res.offset_1| 0)) InVars {} OutVars{threadThread4of4ForFork0_#res.offset=|v_threadThread4of4ForFork0_#res.offset_1|, threadThread4of4ForFork0_#res.base=|v_threadThread4of4ForFork0_#res.base_1|} AuxVars[] AssignedVars[threadThread4of4ForFork0_#res.offset, threadThread4of4ForFork0_#res.base] 632570#[L724-4, threadFINAL, threadEXIT, threadEXIT, threadEXIT]don't care [292] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 721189#[threadEXIT, threadEXIT, threadEXIT, threadEXIT, L724-4]don't care [266] L724-4-->L724-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 804916#[threadEXIT, threadEXIT, L724-5, threadEXIT, threadEXIT]don't care [239] L724-5-->L723-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 879090#[L723-2, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [243] L723-2-->L723-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 940375#[L723-3, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [250] L723-3-->L723-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 987348#[L723-4, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [272] L723-4-->L723-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1020541#[L723-5, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1042013#[threadEXIT, threadEXIT, L724, threadEXIT, threadEXIT]don't care [255] L724-->L724-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1054613#[L724-1, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [252] L724-1-->L724-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1061258#[threadEXIT, threadEXIT, L724-2, threadEXIT, threadEXIT]don't care [241] L724-2-->L724-3: Formula: (let ((.cse0 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse1 (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0))) (and (= (select |v_#valid_6| |v_ULTIMATE.start_main_~#t~0#1.base_3|) 1) (<= (+ |v_ULTIMATE.start_main_~#t~0#1.offset_3| .cse0 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|)) (<= 0 .cse1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#t~0#1.base_3|) .cse1 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_5|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_3|, #valid=|v_#valid_6|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_3|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|} AuxVars[] AssignedVars[#memory_int] 1064350#[L724-3, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [293] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1065586#[threadEXIT, threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT]don't care [2023-09-17 11:47:53,119 INFO L750 eck$LassoCheckResult]: Loop: 1065586#[threadEXIT, threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT]don't care [294] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1065586#[threadEXIT, threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT]don't care [2023-09-17 11:47:53,119 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:53,119 INFO L85 PathProgramCache]: Analyzing trace with hash -133308881, now seen corresponding path program 1 times [2023-09-17 11:47:53,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:53,120 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1078272455] [2023-09-17 11:47:53,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:53,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:53,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,144 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:53,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,165 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:53,165 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:53,166 INFO L85 PathProgramCache]: Analyzing trace with hash 325, now seen corresponding path program 1 times [2023-09-17 11:47:53,166 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:53,166 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1262956241] [2023-09-17 11:47:53,166 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:53,166 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:53,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,169 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:53,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,171 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:53,171 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:53,171 INFO L85 PathProgramCache]: Analyzing trace with hash 162392279, now seen corresponding path program 1 times [2023-09-17 11:47:53,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:53,171 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1194044397] [2023-09-17 11:47:53,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:53,172 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:53,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,187 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:53,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,214 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:55,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:55,731 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:55,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:55,777 WARN L148 chiAutomizerObserver]: 4 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:47:55,797 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:47:55,804 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 77 places, 69 transitions, 183 flow [2023-09-17 11:47:55,827 INFO L124 PetriNetUnfolderBase]: 13/164 cut-off events. [2023-09-17 11:47:55,828 INFO L125 PetriNetUnfolderBase]: For 30/30 co-relation queries the response was YES. [2023-09-17 11:47:55,829 INFO L83 FinitePrefix]: Finished finitePrefix Result has 195 conditions, 164 events. 13/164 cut-off events. For 30/30 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 196 event pairs, 0 based on Foata normal form. 0/146 useless extension candidates. Maximal degree in co-relation 150. Up to 12 conditions per place. [2023-09-17 11:47:55,829 INFO L82 GeneralOperation]: Start removeDead. Operand has 77 places, 69 transitions, 183 flow [2023-09-17 11:47:55,831 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 77 places, 69 transitions, 183 flow [2023-09-17 11:47:55,831 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:47:55,831 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:47:55,831 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:47:55,831 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:47:55,831 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:47:55,831 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:47:55,831 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:47:55,831 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:47:55,831 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null