/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-5.i -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.me.fairness-42053ae-m [2023-09-17 11:46:33,130 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-09-17 11:46:33,210 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:33,235 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-09-17 11:46:33,236 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-09-17 11:46:33,236 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-09-17 11:46:33,237 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-09-17 11:46:33,238 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-09-17 11:46:33,238 INFO L137 SettingsManager]: * Use SBE=true [2023-09-17 11:46:33,238 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-09-17 11:46:33,239 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-09-17 11:46:33,239 INFO L137 SettingsManager]: * Use old map elimination=false [2023-09-17 11:46:33,239 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-09-17 11:46:33,240 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-09-17 11:46:33,240 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-09-17 11:46:33,240 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-09-17 11:46:33,241 INFO L137 SettingsManager]: * sizeof long=4 [2023-09-17 11:46:33,241 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-09-17 11:46:33,241 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-09-17 11:46:33,241 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-09-17 11:46:33,242 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-09-17 11:46:33,242 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-09-17 11:46:33,242 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-09-17 11:46:33,243 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-09-17 11:46:33,243 INFO L137 SettingsManager]: * sizeof long double=12 [2023-09-17 11:46:33,243 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-09-17 11:46:33,243 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-09-17 11:46:33,244 INFO L137 SettingsManager]: * Use constant arrays=true [2023-09-17 11:46:33,244 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-09-17 11:46:33,244 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-09-17 11:46:33,244 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-09-17 11:46:33,245 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-09-17 11:46:33,245 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-09-17 11:46:33,245 INFO L137 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-09-17 11:46:33,246 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-09-17 11:46:33,246 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:33,445 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-09-17 11:46:33,475 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-09-17 11:46:33,478 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-09-17 11:46:33,479 INFO L270 PluginConnector]: Initializing CDTParser... [2023-09-17 11:46:33,479 INFO L274 PluginConnector]: CDTParser initialized [2023-09-17 11:46:33,481 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/floating_read-5.i [2023-09-17 11:46:34,640 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-09-17 11:46:34,928 INFO L384 CDTParser]: Found 1 translation units. [2023-09-17 11:46:34,928 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/floating_read-5.i [2023-09-17 11:46:34,952 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5f6a2e35e/8c57a21c9fbd4697b1583ecbab9bb253/FLAGeee911328 [2023-09-17 11:46:35,231 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5f6a2e35e/8c57a21c9fbd4697b1583ecbab9bb253 [2023-09-17 11:46:35,234 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-09-17 11:46:35,235 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-09-17 11:46:35,236 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-09-17 11:46:35,237 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-09-17 11:46:35,240 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-09-17 11:46:35,241 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:46:35" (1/1) ... [2023-09-17 11:46:35,242 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@27f68e35 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:35, skipping insertion in model container [2023-09-17 11:46:35,243 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:46:35" (1/1) ... [2023-09-17 11:46:35,251 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-09-17 11:46:35,295 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-09-17 11:46:35,545 WARN L1562 CHandler]: Possible shadowing of function thread [2023-09-17 11:46:35,557 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-5.i[31193,31206] [2023-09-17 11:46:35,558 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:46:35,570 INFO L203 MainTranslator]: Completed pre-run [2023-09-17 11:46:35,627 WARN L1562 CHandler]: Possible shadowing of function thread [2023-09-17 11:46:35,630 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-5.i[31193,31206] [2023-09-17 11:46:35,631 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:46:35,669 WARN L667 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:46:35,669 WARN L667 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:46:35,675 INFO L208 MainTranslator]: Completed translation [2023-09-17 11:46:35,676 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:35 WrapperNode [2023-09-17 11:46:35,676 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-09-17 11:46:35,678 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-09-17 11:46:35,678 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-09-17 11:46:35,678 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-09-17 11:46:35,684 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:35" (1/1) ... [2023-09-17 11:46:35,707 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:35" (1/1) ... [2023-09-17 11:46:35,728 INFO L138 Inliner]: procedures = 162, calls = 16, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 41 [2023-09-17 11:46:35,729 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-09-17 11:46:35,729 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-09-17 11:46:35,729 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-09-17 11:46:35,730 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-09-17 11:46:35,737 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:35" (1/1) ... [2023-09-17 11:46:35,737 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:35" (1/1) ... [2023-09-17 11:46:35,745 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:35" (1/1) ... [2023-09-17 11:46:35,745 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:35" (1/1) ... [2023-09-17 11:46:35,751 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:35" (1/1) ... [2023-09-17 11:46:35,754 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:35" (1/1) ... [2023-09-17 11:46:35,759 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:35" (1/1) ... [2023-09-17 11:46:35,760 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:35" (1/1) ... [2023-09-17 11:46:35,762 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-09-17 11:46:35,763 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-09-17 11:46:35,763 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-09-17 11:46:35,763 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-09-17 11:46:35,764 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:35" (1/1) ... [2023-09-17 11:46:35,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-17 11:46:35,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:46:35,798 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:35,804 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:35,828 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-09-17 11:46:35,828 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-09-17 11:46:35,828 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-09-17 11:46:35,828 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-09-17 11:46:35,829 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-09-17 11:46:35,829 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-09-17 11:46:35,829 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2023-09-17 11:46:35,829 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2023-09-17 11:46:35,829 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-09-17 11:46:35,829 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-09-17 11:46:35,829 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-09-17 11:46:35,831 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:35,949 INFO L236 CfgBuilder]: Building ICFG [2023-09-17 11:46:35,951 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-09-17 11:46:36,047 INFO L277 CfgBuilder]: Performing block encoding [2023-09-17 11:46:36,052 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-09-17 11:46:36,053 INFO L302 CfgBuilder]: Removed 1 assume(true) statements. [2023-09-17 11:46:36,055 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:46:36 BoogieIcfgContainer [2023-09-17 11:46:36,055 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-09-17 11:46:36,056 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-09-17 11:46:36,056 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-09-17 11:46:36,059 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-09-17 11:46:36,060 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:46:36,060 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.09 11:46:35" (1/3) ... [2023-09-17 11:46:36,061 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@719715c8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:46:36, skipping insertion in model container [2023-09-17 11:46:36,061 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:46:36,061 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:46:35" (2/3) ... [2023-09-17 11:46:36,061 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@719715c8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:46:36, skipping insertion in model container [2023-09-17 11:46:36,062 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:46:36,062 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:46:36" (3/3) ... [2023-09-17 11:46:36,063 INFO L332 chiAutomizerObserver]: Analyzing ICFG floating_read-5.i [2023-09-17 11:46:36,123 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:36,154 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 45 places, 45 transitions, 95 flow [2023-09-17 11:46:36,203 INFO L124 PetriNetUnfolderBase]: 5/60 cut-off events. [2023-09-17 11:46:36,203 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-09-17 11:46:36,207 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:36,207 INFO L82 GeneralOperation]: Start removeDead. Operand has 45 places, 45 transitions, 95 flow [2023-09-17 11:46:36,213 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 45 places, 45 transitions, 95 flow [2023-09-17 11:46:36,228 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:36,228 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:36,228 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:36,228 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:36,229 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:36,229 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:36,229 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:36,229 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:36,230 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:36,349 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:36,350 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:36,350 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:36,357 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:36,357 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:36,357 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:36,357 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:36,368 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:36,369 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:36,369 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:36,370 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:36,371 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:36,380 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 (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (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| 5) 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#[L724-5, threadEXIT]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#[L723-3, threadEXIT]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#[L723-5, threadEXIT]don't care [86] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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#[L724-1, threadEXIT]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:36,383 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:36,389 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:36,389 INFO L85 PathProgramCache]: Analyzing trace with hash 1395925377, now seen corresponding path program 1 times [2023-09-17 11:46:36,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:36,398 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1770263933] [2023-09-17 11:46:36,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:36,399 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:36,562 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,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,644 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:36,647 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:36,647 INFO L85 PathProgramCache]: Analyzing trace with hash 139, now seen corresponding path program 1 times [2023-09-17 11:46:36,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:36,647 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1922070411] [2023-09-17 11:46:36,647 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:36,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:36,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,671 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:36,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,674 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:36,677 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:36,677 INFO L85 PathProgramCache]: Analyzing trace with hash 324013835, now seen corresponding path program 1 times [2023-09-17 11:46:36,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:36,678 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1598563059] [2023-09-17 11:46:36,678 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:36,679 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:36,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,731 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:36,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:36,785 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:37,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:37,781 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:37,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:37,818 WARN L148 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:46:37,836 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:37,842 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 53 places, 51 transitions, 114 flow [2023-09-17 11:46:37,865 INFO L124 PetriNetUnfolderBase]: 7/86 cut-off events. [2023-09-17 11:46:37,865 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-09-17 11:46:37,866 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:37,866 INFO L82 GeneralOperation]: Start removeDead. Operand has 53 places, 51 transitions, 114 flow [2023-09-17 11:46:37,869 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 51 transitions, 114 flow [2023-09-17 11:46:37,870 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:37,870 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:37,870 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:37,870 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:37,870 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:37,871 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:37,871 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:37,871 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:37,871 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:38,125 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:38,126 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:38,126 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:38,130 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:38,130 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:38,131 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:38,131 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:38,245 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:38,246 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:38,246 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:38,247 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:38,248 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:38,249 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 (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (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| 5) 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#[$Ultimate##0, L724-4]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#[$Ultimate##0, L724-5]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#[$Ultimate##0, L723-2]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#[L712, L723-2]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#[L713, L723-2]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] 237#[L715, L723-2]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] 271#[L723-3, L715]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] 311#[L723-4, L715]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] 361#[L715, L723-5]don't care [137] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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[] 426#[L715, 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] 499#[L724-1, L715]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] 587#[L715, 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] 692#[L715, L724-3]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] 812#[$Ultimate##0, L715, L724-4]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] 946#[L724-5, $Ultimate##0, L715]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] 1098#[$Ultimate##0, L715, L723-2]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] 1301#[$Ultimate##0, L723-3, L715]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] 1573#[$Ultimate##0, L715, 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] 1918#[L723-5, $Ultimate##0, L715]don't care [137] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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[] 2342#[$Ultimate##0, L715, 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] 2860#[L724-1, $Ultimate##0, 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] 3493#[threadFINAL, $Ultimate##0, L724-1]don't care [157] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 4244#[threadEXIT, L724-1, $Ultimate##0]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] 5103#[L712, L724-1, threadEXIT]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] 6032#[L713, threadEXIT, L724-1]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] 6955#[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] 7795#[threadEXIT, L724-1, threadFINAL]don't care [162] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 8483#[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] 8986#[threadEXIT, L724-2, threadEXIT]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] 9295#[threadEXIT, L724-3, threadEXIT]don't care [163] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 9461#[threadEXIT, threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:46:38,250 INFO L750 eck$LassoCheckResult]: Loop: 9461#[threadEXIT, threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [164] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 9461#[threadEXIT, threadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:46:38,250 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:38,250 INFO L85 PathProgramCache]: Analyzing trace with hash -2109497107, now seen corresponding path program 1 times [2023-09-17 11:46:38,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:38,251 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [978128085] [2023-09-17 11:46:38,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:38,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:38,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,297 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:38,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,345 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:38,346 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:38,346 INFO L85 PathProgramCache]: Analyzing trace with hash 195, now seen corresponding path program 1 times [2023-09-17 11:46:38,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:38,347 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [493707570] [2023-09-17 11:46:38,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:38,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:38,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,357 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:38,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,361 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:38,362 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:38,362 INFO L85 PathProgramCache]: Analyzing trace with hash -969900713, now seen corresponding path program 1 times [2023-09-17 11:46:38,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:38,362 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1812394449] [2023-09-17 11:46:38,363 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:38,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:38,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,401 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:38,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:38,427 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:39,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:39,687 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:39,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:39,717 WARN L148 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:46:39,732 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:39,738 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 61 places, 57 transitions, 135 flow [2023-09-17 11:46:39,758 INFO L124 PetriNetUnfolderBase]: 9/112 cut-off events. [2023-09-17 11:46:39,758 INFO L125 PetriNetUnfolderBase]: For 7/7 co-relation queries the response was YES. [2023-09-17 11:46:39,759 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:39,759 INFO L82 GeneralOperation]: Start removeDead. Operand has 61 places, 57 transitions, 135 flow [2023-09-17 11:46:39,761 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 61 places, 57 transitions, 135 flow [2023-09-17 11:46:39,761 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:39,761 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:39,761 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:39,761 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:39,762 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:39,762 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:39,762 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:39,762 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:39,762 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:42,889 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:42,889 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:42,889 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:42,891 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:42,891 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:42,891 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:42,891 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:44,572 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:44,572 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:44,572 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:44,574 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:44,574 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:44,576 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 (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (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| 5) 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| 5) 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#[L713, 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] 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#[L713, L724-3]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#[$Ultimate##0, L724-4, 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, L713, L712]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, L713, L715]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, threadFINAL, L713]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#[L713, threadFINAL, 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] 1835#[threadFINAL, L713, 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] 2230#[L713, threadFINAL, L723-3]don't care [219] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2725#[threadEXIT, L713, 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] 3331#[L713, threadEXIT, 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] 4065#[threadEXIT, L713, L723-5]don't care [194] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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[] 4932#[L713, threadEXIT, 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] 5906#[L724-1, threadEXIT, 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] 6993#[L713, threadEXIT, 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] 8247#[threadEXIT, L713, L724-3]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#[L724-4, L713, $Ultimate##0, threadEXIT]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#[L724-4, L713, L712, threadEXIT]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#[L724-4, L713, threadEXIT, 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#[L724-4, L715, L713, threadEXIT]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#[L724-4, L713, threadEXIT, threadFINAL]don't care [214] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 26208#[L724-4, L713, threadEXIT, 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#[L713, L724-5, threadEXIT, 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#[L713, threadEXIT, threadEXIT, 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] 47173#[L713, threadEXIT, L723-3, 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#[L713, threadEXIT, L723-4, 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#[L713, threadEXIT, L723-5, threadEXIT]don't care [194] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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#[L724, L713, threadEXIT, 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#[L713, threadEXIT, L724-1, 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#[L724-2, L713, threadEXIT, 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#[L724-2, threadEXIT, threadEXIT, L715]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#[L724-2, threadEXIT, threadEXIT, threadFINAL]don't care [224] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 94961#[L724-2, threadEXIT, 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:44,576 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:44,577 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:44,577 INFO L85 PathProgramCache]: Analyzing trace with hash -365827693, now seen corresponding path program 1 times [2023-09-17 11:46:44,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:44,578 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1406508144] [2023-09-17 11:46:44,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:44,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:44,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:44,615 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:44,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:44,635 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:44,636 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:44,636 INFO L85 PathProgramCache]: Analyzing trace with hash 257, now seen corresponding path program 1 times [2023-09-17 11:46:44,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:44,637 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1546313483] [2023-09-17 11:46:44,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:44,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:44,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:44,640 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:44,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:44,642 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:44,642 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:44,642 INFO L85 PathProgramCache]: Analyzing trace with hash 1544243631, now seen corresponding path program 1 times [2023-09-17 11:46:44,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:44,643 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [879667555] [2023-09-17 11:46:44,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:44,643 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:44,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:44,662 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:44,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:44,699 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:46,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:46,424 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:46,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:46,462 WARN L148 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:46:46,475 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:46:46,478 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 69 places, 63 transitions, 158 flow [2023-09-17 11:46:46,495 INFO L124 PetriNetUnfolderBase]: 11/138 cut-off events. [2023-09-17 11:46:46,495 INFO L125 PetriNetUnfolderBase]: For 16/16 co-relation queries the response was YES. [2023-09-17 11:46:46,496 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:46,496 INFO L82 GeneralOperation]: Start removeDead. Operand has 69 places, 63 transitions, 158 flow [2023-09-17 11:46:46,498 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 69 places, 63 transitions, 158 flow [2023-09-17 11:46:46,498 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:46:46,498 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:46:46,498 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:46:46,499 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:46:46,499 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:46:46,499 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:46:46,499 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:46:46,499 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:46:46,499 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:47:24,262 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:24,262 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:24,262 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:24,264 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:24,264 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:24,264 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:47:24,266 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:48:01,330 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:48:01,331 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:48:01,331 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:48:01,333 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:48:01,333 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:48:01,335 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 (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 24)) (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| 5) 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#[$Ultimate##0, L724-4]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#[L712, L724-4]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#[L713, L724-4]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#[L724-4, L715]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#[threadEXIT, L724-5]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#[threadEXIT, L723-3]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#[threadEXIT, L723-5]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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, $Ultimate##0, 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] 1675#[L724-5, $Ultimate##0, threadEXIT]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#[L724-5, L712, 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, L713, threadEXIT]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#[L724-5, L715, 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, threadFINAL, 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] 4963#[L723-2, threadFINAL, 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] 6132#[L723-3, threadFINAL, 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] 7511#[L723-4, threadFINAL, 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] 9076#[L723-5, threadFINAL, threadEXIT]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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#[L724, threadFINAL, 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] 12650#[L724-1, threadFINAL, 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] 14722#[L724-2, threadFINAL, 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] 17056#[L724-3, threadFINAL, threadEXIT]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] 19783#[threadFINAL, L724-4, $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] 23082#[threadFINAL, L724-4, 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] 27122#[threadFINAL, L724-4, 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] 32016#[threadFINAL, L724-4, 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] 37884#[threadFINAL, L724-4, threadFINAL, threadEXIT]don't care [277] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 44855#[threadFINAL, L724-4, 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] 53046#[threadFINAL, L724-5, threadEXIT, threadEXIT]don't care [287] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 62589#[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#[L723-2, 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] 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, threadEXIT, L723-4, 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, L723-5, threadEXIT, threadEXIT]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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, threadEXIT, 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] 214336#[L724-2, threadEXIT, 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] 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#[$Ultimate##0, threadEXIT, L724-4, 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, L724-4, threadEXIT]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#[threadEXIT, L713, L724-4, 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, L724-4, threadEXIT]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#[threadEXIT, threadFINAL, L724-4, threadEXIT, threadEXIT]don't care [292] threadFINAL-->threadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 721189#[threadEXIT, threadEXIT, threadEXIT, L724-4, 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] 804916#[L724-5, threadEXIT, 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] 879090#[threadEXIT, threadEXIT, L723-2, 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#[threadEXIT, threadEXIT, L723-3, 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#[threadEXIT, 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] 1020541#[threadEXIT, threadEXIT, L723-5, threadEXIT, threadEXIT]don't care [257] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 5) 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#[L724, threadEXIT, 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] 1054613#[threadEXIT, 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] 1061258#[L724-2, threadEXIT, threadEXIT, 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#[threadEXIT, threadEXIT, L724-3, threadEXIT, threadEXIT]don't care [293] L724-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1065586#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [2023-09-17 11:48:01,335 INFO L750 eck$LassoCheckResult]: Loop: 1065586#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [294] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1065586#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, threadEXIT, threadEXIT, threadEXIT, threadEXIT]don't care [2023-09-17 11:48:01,336 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:01,336 INFO L85 PathProgramCache]: Analyzing trace with hash -372564137, now seen corresponding path program 1 times [2023-09-17 11:48:01,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:01,336 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [740224715] [2023-09-17 11:48:01,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:01,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:01,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:01,358 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:01,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:01,382 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:48:01,382 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:01,383 INFO L85 PathProgramCache]: Analyzing trace with hash 325, now seen corresponding path program 1 times [2023-09-17 11:48:01,383 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:01,383 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1006032968] [2023-09-17 11:48:01,383 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:01,383 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:01,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:01,388 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:01,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:01,392 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:48:01,392 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:01,393 INFO L85 PathProgramCache]: Analyzing trace with hash 1335413935, now seen corresponding path program 1 times [2023-09-17 11:48:01,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:01,393 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1150601724] [2023-09-17 11:48:01,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:01,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:01,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:01,439 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:01,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:01,463 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:48:03,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:03,976 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:03,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:04,019 WARN L148 chiAutomizerObserver]: 4 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:48:04,033 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:48:04,036 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 77 places, 69 transitions, 183 flow [2023-09-17 11:48:04,052 INFO L124 PetriNetUnfolderBase]: 13/164 cut-off events. [2023-09-17 11:48:04,052 INFO L125 PetriNetUnfolderBase]: For 30/30 co-relation queries the response was YES. [2023-09-17 11:48:04,053 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:48:04,053 INFO L82 GeneralOperation]: Start removeDead. Operand has 77 places, 69 transitions, 183 flow [2023-09-17 11:48:04,055 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 77 places, 69 transitions, 183 flow [2023-09-17 11:48:04,056 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:48:04,056 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:48:04,056 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:48:04,056 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:48:04,056 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:48:04,056 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:48:04,056 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:48:04,056 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:48:04,056 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null