/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_LAZY -i ../../../trunk/examples/svcomp/pthread-deagle/airline-25.i -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.me.fairness-42053ae-m [2023-09-17 12:10:59,341 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-09-17 12:10:59,388 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 12:10:59,402 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-09-17 12:10:59,402 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-09-17 12:10:59,402 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-09-17 12:10:59,403 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-09-17 12:10:59,404 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-09-17 12:10:59,404 INFO L137 SettingsManager]: * Use SBE=true [2023-09-17 12:10:59,404 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-09-17 12:10:59,404 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-09-17 12:10:59,405 INFO L137 SettingsManager]: * Use old map elimination=false [2023-09-17 12:10:59,405 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-09-17 12:10:59,405 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-09-17 12:10:59,405 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-09-17 12:10:59,406 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-09-17 12:10:59,406 INFO L137 SettingsManager]: * sizeof long=4 [2023-09-17 12:10:59,406 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-09-17 12:10:59,407 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-09-17 12:10:59,407 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-09-17 12:10:59,407 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-09-17 12:10:59,408 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-09-17 12:10:59,408 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-09-17 12:10:59,408 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-09-17 12:10:59,409 INFO L137 SettingsManager]: * sizeof long double=12 [2023-09-17 12:10:59,409 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-09-17 12:10:59,409 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-09-17 12:10:59,409 INFO L137 SettingsManager]: * Use constant arrays=true [2023-09-17 12:10:59,410 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-09-17 12:10:59,410 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-09-17 12:10:59,410 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-09-17 12:10:59,410 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-09-17 12:10:59,411 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-09-17 12:10:59,411 INFO L137 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-09-17 12:10:59,412 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-09-17 12:10:59,412 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_LAZY [2023-09-17 12:10:59,544 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-09-17 12:10:59,564 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-09-17 12:10:59,565 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-09-17 12:10:59,567 INFO L270 PluginConnector]: Initializing CDTParser... [2023-09-17 12:10:59,568 INFO L274 PluginConnector]: CDTParser initialized [2023-09-17 12:10:59,569 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/airline-25.i [2023-09-17 12:11:00,703 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-09-17 12:11:00,899 INFO L384 CDTParser]: Found 1 translation units. [2023-09-17 12:11:00,900 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/airline-25.i [2023-09-17 12:11:00,910 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8e49eb20f/6da283107d46470d800876b0f147f061/FLAG146256ee9 [2023-09-17 12:11:00,919 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8e49eb20f/6da283107d46470d800876b0f147f061 [2023-09-17 12:11:00,921 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-09-17 12:11:00,922 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-09-17 12:11:00,923 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-09-17 12:11:00,923 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-09-17 12:11:00,927 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-09-17 12:11:00,928 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 12:11:00" (1/1) ... [2023-09-17 12:11:00,930 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@23d191 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:00, skipping insertion in model container [2023-09-17 12:11:00,930 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 12:11:00" (1/1) ... [2023-09-17 12:11:00,935 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-09-17 12:11:00,970 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-09-17 12:11:01,147 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/airline-25.i[32027,32040] [2023-09-17 12:11:01,147 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 12:11:01,154 INFO L203 MainTranslator]: Completed pre-run [2023-09-17 12:11:01,180 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/airline-25.i[32027,32040] [2023-09-17 12:11:01,181 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 12:11:01,197 WARN L667 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 12:11:01,197 WARN L667 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 12:11:01,202 INFO L208 MainTranslator]: Completed translation [2023-09-17 12:11:01,204 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01 WrapperNode [2023-09-17 12:11:01,204 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-09-17 12:11:01,205 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-09-17 12:11:01,205 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-09-17 12:11:01,205 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-09-17 12:11:01,210 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,222 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,239 INFO L138 Inliner]: procedures = 162, calls = 22, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 50 [2023-09-17 12:11:01,240 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-09-17 12:11:01,240 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-09-17 12:11:01,240 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-09-17 12:11:01,240 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-09-17 12:11:01,246 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,246 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,250 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,250 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,253 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,255 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,255 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,256 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,258 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-09-17 12:11:01,258 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-09-17 12:11:01,258 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-09-17 12:11:01,258 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-09-17 12:11:01,259 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (1/1) ... [2023-09-17 12:11:01,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-17 12:11:01,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 12:11:01,330 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 12:11:01,357 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 12:11:01,367 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-09-17 12:11:01,368 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-09-17 12:11:01,368 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-09-17 12:11:01,368 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-09-17 12:11:01,368 INFO L130 BoogieDeclarations]: Found specification of procedure salethread [2023-09-17 12:11:01,368 INFO L138 BoogieDeclarations]: Found implementation of procedure salethread [2023-09-17 12:11:01,368 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-09-17 12:11:01,368 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-09-17 12:11:01,368 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-09-17 12:11:01,369 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-09-17 12:11:01,369 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-09-17 12:11:01,370 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 12:11:01,459 INFO L236 CfgBuilder]: Building ICFG [2023-09-17 12:11:01,460 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-09-17 12:11:01,543 INFO L277 CfgBuilder]: Performing block encoding [2023-09-17 12:11:01,549 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-09-17 12:11:01,549 INFO L302 CfgBuilder]: Removed 1 assume(true) statements. [2023-09-17 12:11:01,551 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 12:11:01 BoogieIcfgContainer [2023-09-17 12:11:01,551 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-09-17 12:11:01,552 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-09-17 12:11:01,552 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-09-17 12:11:01,555 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-09-17 12:11:01,555 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 12:11:01,556 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.09 12:11:00" (1/3) ... [2023-09-17 12:11:01,556 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@30ebca21 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 12:11:01, skipping insertion in model container [2023-09-17 12:11:01,556 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 12:11:01,557 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 12:11:01" (2/3) ... [2023-09-17 12:11:01,557 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@30ebca21 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 12:11:01, skipping insertion in model container [2023-09-17 12:11:01,557 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 12:11:01,557 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 12:11:01" (3/3) ... [2023-09-17 12:11:01,558 INFO L332 chiAutomizerObserver]: Analyzing ICFG airline-25.i [2023-09-17 12:11:01,602 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 12:11:01,621 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 12:11:01,643 INFO L124 PetriNetUnfolderBase]: 7/71 cut-off events. [2023-09-17 12:11:01,643 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-09-17 12:11:01,646 INFO L83 FinitePrefix]: Finished finitePrefix Result has 76 conditions, 71 events. 7/71 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 77 event pairs, 0 based on Foata normal form. 0/63 useless extension candidates. Maximal degree in co-relation 37. Up to 4 conditions per place. [2023-09-17 12:11:01,646 INFO L82 GeneralOperation]: Start removeDead. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 12:11:01,649 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 55 transitions, 115 flow [2023-09-17 12:11:01,659 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 12:11:01,659 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 12:11:01,659 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 12:11:01,659 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 12:11:01,659 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 12:11:01,659 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 12:11:01,659 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 12:11:01,659 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 12:11:01,661 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 12:11:01,868 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:01,868 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:01,868 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:01,873 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, 1, 1, 1] [2023-09-17 12:11:01,873 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:01,873 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 12:11:01,873 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 12:11:01,906 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:01,906 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:01,906 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:01,908 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, 1, 1, 1] [2023-09-17 12:11:01,908 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:01,924 INFO L748 eck$LassoCheckResult]: Stem: SleepPredicate [underlying: 56#[$Ultimate##0]don't care, sleep set: []] [99] $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] SleepPredicate [underlying: 59#[L-1]don't care, sleep set: []] [107] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 61#[L-1-1]don't care, sleep set: []] [121] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 63#[L23]don't care, sleep set: []] [88] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 65#[L23-1]don't care, sleep set: []] [94] L23-1-->L23-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[] SleepPredicate [underlying: 67#[L23-2]don't care, sleep set: []] [98] L23-2-->L23-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[] SleepPredicate [underlying: 69#[L23-3]don't care, sleep set: []] [127] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 71#[L23-4]don't care, sleep set: []] [90] L23-4-->L23-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[] SleepPredicate [underlying: 73#[L23-5]don't care, sleep set: []] [101] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] SleepPredicate [underlying: 75#[L718]don't care, sleep set: []] [93] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] SleepPredicate [underlying: 77#[L719]don't care, sleep set: []] [78] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] SleepPredicate [underlying: 79#[L-1-2]don't care, sleep set: []] [123] 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] SleepPredicate [underlying: 81#[L-1-3]don't care, sleep set: []] [125] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] SleepPredicate [underlying: 83#[L-1-4]don't care, sleep set: []] [111] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] SleepPredicate [underlying: 85#[L735]don't care, sleep set: []] [122] L735-->L735-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] SleepPredicate [underlying: 87#[L735-1]don't care, sleep set: []] [128] L735-1-->L736: 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] SleepPredicate [underlying: 89#[L736]don't care, sleep set: []] [102] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] SleepPredicate [underlying: 91#[L736-1]don't care, sleep set: []] [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] SleepPredicate [underlying: 93#[L739]don't care, sleep set: []] [77] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] SleepPredicate [underlying: 95#[L742]don't care, sleep set: []] [106] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] SleepPredicate [underlying: 97#[L745]don't care, sleep set: []] [82] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] SleepPredicate [underlying: 99#[L746-5]don't care, sleep set: []] [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 101#[L747]don't care, sleep set: []] [87] L747-->L747-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] SleepPredicate [underlying: 105#[L747-1]don't care, sleep set: []] [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 109#[L747-2]don't care, sleep set: []] [113] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 115#[L747-3]don't care, sleep set: []] [142] L747-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_salethreadThread1of1ForFork0_thidvar0_2) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread1of1ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_4|, salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_4, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_4, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_4|, salethreadThread1of1ForFork0_thidvar0=v_salethreadThread1of1ForFork0_thidvar0_2, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_4|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0, salethreadThread1of1ForFork0_#in~arg.base, salethreadThread1of1ForFork0_thidvar0, salethreadThread1of1ForFork0_#in~arg.offset, salethreadThread1of1ForFork0_#res.offset] SleepPredicate [underlying: 121#[L747-4, $Ultimate##0]don't care, sleep set: []] [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] SleepPredicate [underlying: 125#[L747-4, L721]don't care, sleep set: [ULTIMATE.start]] [132] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 133#[L747-4, L721-1]don't care, sleep set: [ULTIMATE.start]] [134] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of1ForFork0_#res.base_1| 0) (= |v_salethreadThread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_1|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_#res.offset] SleepPredicate [underlying: 145#[L747-4, salethreadFINAL]don't care, sleep set: [ULTIMATE.start]] [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 163#[salethreadEXIT, L747-4]don't care, sleep set: [ULTIMATE.start]] [117] L747-4-->L747-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] SleepPredicate [underlying: 181#[salethreadEXIT, L747-5]don't care, sleep set: []] [115] L747-5-->L746-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] SleepPredicate [underlying: 199#[salethreadEXIT, L746-2]don't care, sleep set: []] [89] L746-2-->L746-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] SleepPredicate [underlying: 219#[salethreadEXIT, L746-3]don't care, sleep set: []] [110] L746-3-->L746-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] SleepPredicate [underlying: 243#[salethreadEXIT, L746-4]don't care, sleep set: []] [84] L746-4-->L746-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] SleepPredicate [underlying: 273#[salethreadEXIT, L746-5]don't care, sleep set: []] [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 313#[salethreadEXIT, L747]don't care, sleep set: []] [87] L747-->L747-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] SleepPredicate [underlying: 357#[salethreadEXIT, L747-1]don't care, sleep set: []] [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 401#[salethreadEXIT, L747-2]don't care, sleep set: []] [113] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 439#[salethreadEXIT, L747-3]don't care, sleep set: []] [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 467#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care, sleep set: []] [2023-09-17 12:11:01,926 INFO L750 eck$LassoCheckResult]: Loop: SleepPredicate [underlying: 467#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care, sleep set: []] [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 467#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care, sleep set: []] [2023-09-17 12:11:01,930 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:01,930 INFO L85 PathProgramCache]: Analyzing trace with hash -1964818749, now seen corresponding path program 1 times [2023-09-17 12:11:01,937 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:01,937 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [758924751] [2023-09-17 12:11:01,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:01,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:02,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:02,181 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-09-17 12:11:02,181 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:11:02,181 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [758924751] [2023-09-17 12:11:02,182 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [758924751] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:11:02,183 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:11:02,183 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 12:11:02,184 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [489019420] [2023-09-17 12:11:02,184 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:11:02,189 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:11:02,190 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:02,190 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 1 times [2023-09-17 12:11:02,190 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:02,190 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1808607560] [2023-09-17 12:11:02,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:02,190 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:02,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,205 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:02,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,224 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:02,232 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:11:02,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 12:11:02,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 12:11:02,259 INFO L87 Difference]: Start difference. First operand null Second operand has 3 states, 3 states have (on average 13.333333333333334) internal successors, (40), 3 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:02,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:11:02,339 INFO L93 Difference]: Finished difference Result 617 states and 1189 transitions. [2023-09-17 12:11:02,341 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 617 states and 1189 transitions. [2023-09-17 12:11:02,345 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 12:11:02,354 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 617 states to 339 states and 640 transitions. [2023-09-17 12:11:02,355 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 137 [2023-09-17 12:11:02,357 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 248 [2023-09-17 12:11:02,357 INFO L73 IsDeterministic]: Start isDeterministic. Operand 339 states and 640 transitions. [2023-09-17 12:11:02,362 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:11:02,362 INFO L218 hiAutomatonCegarLoop]: Abstraction has 339 states and 640 transitions. [2023-09-17 12:11:02,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states and 640 transitions. [2023-09-17 12:11:02,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 248. [2023-09-17 12:11:02,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 248 states, 248 states have (on average 1.971774193548387) internal successors, (489), 247 states have internal predecessors, (489), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:02,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 248 states to 248 states and 489 transitions. [2023-09-17 12:11:02,403 INFO L240 hiAutomatonCegarLoop]: Abstraction has 248 states and 489 transitions. [2023-09-17 12:11:02,404 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 12:11:02,407 INFO L428 stractBuchiCegarLoop]: Abstraction has 248 states and 489 transitions. [2023-09-17 12:11:02,407 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 12:11:02,407 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 248 states and 489 transitions. [2023-09-17 12:11:02,409 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:02,409 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:02,409 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:02,411 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, 1, 1, 1, 1, 1, 1] [2023-09-17 12:11:02,411 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:02,419 INFO L748 eck$LassoCheckResult]: Stem: 1314#[$Ultimate##0]don't care [99] $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] 1316#[L-1]don't care [107] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 1400#[L-1-1]don't care [121] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 1216#[L23]don't care [88] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 1218#[L23-1]don't care [94] L23-1-->L23-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[] 1578#[L23-2]don't care [98] L23-2-->L23-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[] 1506#[L23-3]don't care [127] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 1508#[L23-4]don't care [90] L23-4-->L23-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[] 1350#[L23-5]don't care [101] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1352#[L718]don't care [93] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 1522#[L719]don't care [78] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 1524#[L-1-2]don't care [123] 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] 1620#[L-1-3]don't care [125] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 1416#[L-1-4]don't care [111] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 1418#[L735]don't care [122] L735-->L735-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] 1510#[L735-1]don't care [128] L735-1-->L736: 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] 1360#[L736]don't care [102] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1362#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1130#[L739]don't care [77] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1132#[L742]don't care [106] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 1376#[L745]don't care [82] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1540#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1190#[L747]don't care [87] L747-->L747-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] 1192#[L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1422#[L747-2]don't care [113] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1424#[L747-3]don't care [142] L747-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_salethreadThread1of1ForFork0_thidvar0_2) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread1of1ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_4|, salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_4, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_4, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_4|, salethreadThread1of1ForFork0_thidvar0=v_salethreadThread1of1ForFork0_thidvar0_2, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_4|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0, salethreadThread1of1ForFork0_#in~arg.base, salethreadThread1of1ForFork0_thidvar0, salethreadThread1of1ForFork0_#in~arg.offset, salethreadThread1of1ForFork0_#res.offset] 1354#[L747-4, $Ultimate##0]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 1356#[L747-4, L721]don't care [131] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1428#[L747-4, L722]don't care [133] L722-->L723: Formula: (= v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~_numberOfSeatsSold~0] 1174#[L747-4, L723]don't care [117] L747-4-->L747-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] 1180#[L723, L747-5]don't care [115] L747-5-->L746-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] 1394#[L723, L746-2]don't care [135] L723-->L724: Formula: (<= 23 v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1396#[L746-2, L724]don't care [89] L746-2-->L746-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] 1502#[L746-3, L724]don't care [138] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 1228#[L721-1, L746-3]don't care [134] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of1ForFork0_#res.base_1| 0) (= |v_salethreadThread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_1|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_#res.offset] 1624#[salethreadFINAL, L746-3]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1450#[salethreadEXIT, L746-3]don't care [110] L746-3-->L746-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] 1560#[salethreadEXIT, L746-4]don't care [84] L746-4-->L746-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] 1426#[salethreadEXIT, L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1220#[salethreadEXIT, L747]don't care [87] L747-->L747-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] 1184#[salethreadEXIT, L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1550#[salethreadEXIT, L747-2]don't care [113] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1364#[salethreadEXIT, L747-3]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1172#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 12:11:02,419 INFO L750 eck$LassoCheckResult]: Loop: 1172#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1172#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 12:11:02,420 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:02,420 INFO L85 PathProgramCache]: Analyzing trace with hash 1752223960, now seen corresponding path program 1 times [2023-09-17 12:11:02,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:02,420 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1495439864] [2023-09-17 12:11:02,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:02,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:02,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:02,534 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-09-17 12:11:02,534 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:11:02,534 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1495439864] [2023-09-17 12:11:02,535 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1495439864] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:11:02,535 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:11:02,535 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 12:11:02,535 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1349169097] [2023-09-17 12:11:02,535 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:11:02,536 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:11:02,536 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:02,536 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 2 times [2023-09-17 12:11:02,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:02,537 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [410875765] [2023-09-17 12:11:02,537 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:02,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:02,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,547 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:02,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,550 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:02,552 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:11:02,552 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 12:11:02,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 12:11:02,553 INFO L87 Difference]: Start difference. First operand 248 states and 489 transitions. cyclomatic complexity: 250 Second operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:02,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:11:02,575 INFO L93 Difference]: Finished difference Result 218 states and 399 transitions. [2023-09-17 12:11:02,575 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 218 states and 399 transitions. [2023-09-17 12:11:02,577 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:02,578 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 218 states to 218 states and 399 transitions. [2023-09-17 12:11:02,578 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 154 [2023-09-17 12:11:02,579 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 154 [2023-09-17 12:11:02,579 INFO L73 IsDeterministic]: Start isDeterministic. Operand 218 states and 399 transitions. [2023-09-17 12:11:02,580 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:11:02,580 INFO L218 hiAutomatonCegarLoop]: Abstraction has 218 states and 399 transitions. [2023-09-17 12:11:02,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states and 399 transitions. [2023-09-17 12:11:02,594 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 218. [2023-09-17 12:11:02,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 218 states, 218 states have (on average 1.8302752293577982) internal successors, (399), 217 states have internal predecessors, (399), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:02,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 218 states to 218 states and 399 transitions. [2023-09-17 12:11:02,597 INFO L240 hiAutomatonCegarLoop]: Abstraction has 218 states and 399 transitions. [2023-09-17 12:11:02,600 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 12:11:02,600 INFO L428 stractBuchiCegarLoop]: Abstraction has 218 states and 399 transitions. [2023-09-17 12:11:02,600 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 12:11:02,600 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 218 states and 399 transitions. [2023-09-17 12:11:02,601 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:02,601 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:02,601 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:02,602 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, 1, 1, 1, 1, 1, 1] [2023-09-17 12:11:02,602 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:02,603 INFO L748 eck$LassoCheckResult]: Stem: 2005#[$Ultimate##0]don't care [99] $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] 2007#[L-1]don't care [107] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 2079#[L-1-1]don't care [121] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 1915#[L23]don't care [88] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 1917#[L23-1]don't care [94] L23-1-->L23-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[] 2249#[L23-2]don't care [98] L23-2-->L23-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[] 2183#[L23-3]don't care [127] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 2185#[L23-4]don't care [90] L23-4-->L23-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[] 2029#[L23-5]don't care [101] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2031#[L718]don't care [93] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 2191#[L719]don't care [78] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 2193#[L-1-2]don't care [123] 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] 2285#[L-1-3]don't care [125] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 2093#[L-1-4]don't care [111] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 2095#[L735]don't care [122] L735-->L735-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] 2187#[L735-1]don't care [128] L735-1-->L736: 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] 2039#[L736]don't care [102] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2041#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1853#[L739]don't care [77] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1855#[L742]don't care [106] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 2055#[L745]don't care [82] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2207#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1901#[L747]don't care [87] L747-->L747-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] 1903#[L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2099#[L747-2]don't care [113] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2101#[L747-3]don't care [142] L747-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_salethreadThread1of1ForFork0_thidvar0_2) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread1of1ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_4|, salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_4, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_4, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_4|, salethreadThread1of1ForFork0_thidvar0=v_salethreadThread1of1ForFork0_thidvar0_2, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_4|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0, salethreadThread1of1ForFork0_#in~arg.base, salethreadThread1of1ForFork0_thidvar0, salethreadThread1of1ForFork0_#in~arg.offset, salethreadThread1of1ForFork0_#res.offset] 2033#[L747-4, $Ultimate##0]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 2035#[L747-4, L721]don't care [131] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2105#[L747-4, L722]don't care [133] L722-->L723: Formula: (= v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~_numberOfSeatsSold~0] 1885#[L747-4, L723]don't care [117] L747-4-->L747-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] 1887#[L723, L747-5]don't care [115] L747-5-->L746-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] 2067#[L723, L746-2]don't care [136] L723-->L728: Formula: (< v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 1905#[L728, L746-2]don't care [89] L746-2-->L746-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] 1907#[L728, L746-3]don't care [139] L728-->L721-1: Formula: (= v_~numberOfSeatsSold~0_2 (+ v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_7 1)) InVars {salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1935#[L721-1, L746-3]don't care [134] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of1ForFork0_#res.base_1| 0) (= |v_salethreadThread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_1|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_#res.offset] 2129#[salethreadFINAL, L746-3]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2131#[salethreadEXIT, L746-3]don't care [110] L746-3-->L746-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] 2227#[salethreadEXIT, L746-4]don't care [84] L746-4-->L746-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] 2103#[salethreadEXIT, L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1951#[salethreadEXIT, L747]don't care [87] L747-->L747-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] 1895#[salethreadEXIT, L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2217#[salethreadEXIT, L747-2]don't care [113] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2043#[salethreadEXIT, L747-3]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1883#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 12:11:02,603 INFO L750 eck$LassoCheckResult]: Loop: 1883#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1883#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 12:11:02,604 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:02,604 INFO L85 PathProgramCache]: Analyzing trace with hash 1684793174, now seen corresponding path program 1 times [2023-09-17 12:11:02,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:02,604 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [109697681] [2023-09-17 12:11:02,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:02,604 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:02,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,626 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:02,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,658 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:02,658 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:02,659 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 3 times [2023-09-17 12:11:02,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:02,659 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [219099415] [2023-09-17 12:11:02,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:02,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:02,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,662 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:02,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,663 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:02,663 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:02,663 INFO L85 PathProgramCache]: Analyzing trace with hash 688980983, now seen corresponding path program 1 times [2023-09-17 12:11:02,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:02,663 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [390234117] [2023-09-17 12:11:02,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:02,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:02,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,683 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:02,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:02,701 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:03,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:03,405 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:03,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:03,435 WARN L148 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 12:11:03,450 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 12:11:03,455 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 12:11:03,472 INFO L124 PetriNetUnfolderBase]: 11/103 cut-off events. [2023-09-17 12:11:03,472 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-09-17 12:11:03,474 INFO L83 FinitePrefix]: Finished finitePrefix Result has 113 conditions, 103 events. 11/103 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 134 event pairs, 0 based on Foata normal form. 0/90 useless extension candidates. Maximal degree in co-relation 71. Up to 6 conditions per place. [2023-09-17 12:11:03,474 INFO L82 GeneralOperation]: Start removeDead. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 12:11:03,476 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 64 places, 66 transitions, 144 flow [2023-09-17 12:11:03,476 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 12:11:03,476 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 12:11:03,476 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 12:11:03,476 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 12:11:03,476 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 12:11:03,476 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 12:11:03,476 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 12:11:03,477 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 12:11:03,477 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 12:11:04,575 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:04,576 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:04,576 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:04,577 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, 1, 1] [2023-09-17 12:11:04,577 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:04,577 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 12:11:04,577 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 12:11:05,016 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:05,017 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:05,017 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:05,017 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, 1, 1] [2023-09-17 12:11:05,017 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:05,019 INFO L748 eck$LassoCheckResult]: Stem: SleepPredicate [underlying: 67#[$Ultimate##0]don't care, sleep set: []] [165] $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] SleepPredicate [underlying: 70#[L-1]don't care, sleep set: []] [173] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 72#[L-1-1]don't care, sleep set: []] [187] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 74#[L23]don't care, sleep set: []] [154] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 76#[L23-1]don't care, sleep set: []] [160] L23-1-->L23-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[] SleepPredicate [underlying: 78#[L23-2]don't care, sleep set: []] [164] L23-2-->L23-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[] SleepPredicate [underlying: 80#[L23-3]don't care, sleep set: []] [193] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 82#[L23-4]don't care, sleep set: []] [156] L23-4-->L23-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[] SleepPredicate [underlying: 84#[L23-5]don't care, sleep set: []] [167] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] SleepPredicate [underlying: 86#[L718]don't care, sleep set: []] [159] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] SleepPredicate [underlying: 88#[L719]don't care, sleep set: []] [144] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] SleepPredicate [underlying: 90#[L-1-2]don't care, sleep set: []] [189] 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] SleepPredicate [underlying: 92#[L-1-3]don't care, sleep set: []] [191] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] SleepPredicate [underlying: 94#[L-1-4]don't care, sleep set: []] [177] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] SleepPredicate [underlying: 96#[L735]don't care, sleep set: []] [188] L735-->L735-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] SleepPredicate [underlying: 98#[L735-1]don't care, sleep set: []] [194] L735-1-->L736: 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] SleepPredicate [underlying: 100#[L736]don't care, sleep set: []] [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] SleepPredicate [underlying: 102#[L736-1]don't care, sleep set: []] [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] SleepPredicate [underlying: 104#[L739]don't care, sleep set: []] [143] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] SleepPredicate [underlying: 106#[L742]don't care, sleep set: []] [172] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] SleepPredicate [underlying: 108#[L745]don't care, sleep set: []] [148] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] SleepPredicate [underlying: 110#[L746-5]don't care, sleep set: []] [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 112#[L747]don't care, sleep set: []] [153] L747-->L747-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] SleepPredicate [underlying: 116#[L747-1]don't care, sleep set: []] [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 120#[L747-2]don't care, sleep set: []] [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 126#[L747-3]don't care, sleep set: []] [218] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_salethreadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_4|, salethreadThread1of2ForFork0_thidvar0=v_salethreadThread1of2ForFork0_thidvar0_2, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_4|, salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_4|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_4, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_4, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_thidvar0, salethreadThread1of2ForFork0_#in~arg.base, salethreadThread1of2ForFork0_#in~arg.offset, salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0, salethreadThread1of2ForFork0_#res.base] SleepPredicate [underlying: 132#[L747-4, $Ultimate##0]don't care, sleep set: []] [183] L747-4-->L747-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] SleepPredicate [underlying: 136#[$Ultimate##0, L747-5]don't care, sleep set: [salethreadThread1of2ForFork0]] [181] L747-5-->L746-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] SleepPredicate [underlying: 142#[L746-2, $Ultimate##0]don't care, sleep set: [salethreadThread1of2ForFork0]] [155] L746-2-->L746-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] SleepPredicate [underlying: 152#[L746-3, $Ultimate##0]don't care, sleep set: [salethreadThread1of2ForFork0]] [176] L746-3-->L746-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] SleepPredicate [underlying: 166#[$Ultimate##0, L746-4]don't care, sleep set: [salethreadThread1of2ForFork0]] [150] L746-4-->L746-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] SleepPredicate [underlying: 184#[L746-5, $Ultimate##0]don't care, sleep set: [salethreadThread1of2ForFork0]] [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 202#[$Ultimate##0, L747]don't care, sleep set: [salethreadThread1of2ForFork0]] [153] L747-->L747-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] SleepPredicate [underlying: 222#[L747-1, $Ultimate##0]don't care, sleep set: [salethreadThread1of2ForFork0]] [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 244#[$Ultimate##0, L747-2]don't care, sleep set: [salethreadThread1of2ForFork0]] [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 272#[L747-3, $Ultimate##0]don't care, sleep set: [salethreadThread1of2ForFork0]] [196] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_1| v_salethreadThread1of2ForFork0_~arg.offset_1) (= v_salethreadThread1of2ForFork0_~arg.base_1 |v_salethreadThread1of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_1, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_1, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset] SleepPredicate [underlying: 306#[L721, L747-3]don't care, sleep set: []] [198] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 350#[L747-3, L721-1]don't care, sleep set: [salethreadThread2of2ForFork0]] [200] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_1|, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_#res.base] SleepPredicate [underlying: 398#[L747-3, salethreadFINAL]don't care, sleep set: [salethreadThread2of2ForFork0]] [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 458#[salethreadEXIT, L747-3]don't care, sleep set: [salethreadThread2of2ForFork0]] [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] SleepPredicate [underlying: 526#[L747-4, $Ultimate##0, salethreadEXIT]don't care, sleep set: []] [183] L747-4-->L747-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] SleepPredicate [underlying: 614#[L747-5, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [181] L747-5-->L746-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] SleepPredicate [underlying: 734#[L746-2, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [155] L746-2-->L746-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] SleepPredicate [underlying: 880#[L746-3, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [176] L746-3-->L746-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] SleepPredicate [underlying: 1050#[L746-4, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [150] L746-4-->L746-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] SleepPredicate [underlying: 1234#[L746-5, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 1446#[L747, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [153] L747-->L747-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] SleepPredicate [underlying: 1698#[L747-1, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 1998#[L747-2, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 2338#[L747-3, $Ultimate##0, salethreadEXIT]don't care, sleep set: [salethreadThread2of2ForFork0]] [206] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_1| v_salethreadThread2of2ForFork0_~arg.offset_1) (= v_salethreadThread2of2ForFork0_~arg.base_1 |v_salethreadThread2of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_1, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_~arg.offset] SleepPredicate [underlying: 2700#[L721, L747-3, salethreadEXIT]don't care, sleep set: []] [208] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 3044#[L747-3, L721-1, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [210] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread2of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_1|, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_#res.base] SleepPredicate [underlying: 3340#[salethreadFINAL, L747-3, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 3568#[L747-3, salethreadEXIT, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 3720#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [2023-09-17 12:11:05,019 INFO L750 eck$LassoCheckResult]: Loop: SleepPredicate [underlying: 3720#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 3720#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [2023-09-17 12:11:05,019 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:05,019 INFO L85 PathProgramCache]: Analyzing trace with hash -60927569, now seen corresponding path program 1 times [2023-09-17 12:11:05,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:05,020 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596799107] [2023-09-17 12:11:05,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:05,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:05,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:05,050 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2023-09-17 12:11:05,050 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:11:05,050 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596799107] [2023-09-17 12:11:05,050 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [596799107] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:11:05,050 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:11:05,050 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 12:11:05,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [181267083] [2023-09-17 12:11:05,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:11:05,051 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:11:05,051 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:05,051 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 1 times [2023-09-17 12:11:05,051 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:05,051 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [649719647] [2023-09-17 12:11:05,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:05,052 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:05,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:05,053 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:05,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:05,055 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:05,056 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:11:05,057 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 12:11:05,057 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 12:11:05,057 INFO L87 Difference]: Start difference. First operand null Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:05,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:11:05,648 INFO L93 Difference]: Finished difference Result 13142 states and 39971 transitions. [2023-09-17 12:11:05,648 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 13142 states and 39971 transitions. [2023-09-17 12:11:05,761 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 12:11:05,820 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 13142 states to 7268 states and 21951 transitions. [2023-09-17 12:11:05,821 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1369 [2023-09-17 12:11:05,829 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2482 [2023-09-17 12:11:05,830 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7268 states and 21951 transitions. [2023-09-17 12:11:05,851 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:11:05,851 INFO L218 hiAutomatonCegarLoop]: Abstraction has 7268 states and 21951 transitions. [2023-09-17 12:11:05,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7268 states and 21951 transitions. [2023-09-17 12:11:05,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7268 to 5293. [2023-09-17 12:11:05,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5293 states, 5293 states have (on average 3.077649726053278) internal successors, (16290), 5292 states have internal predecessors, (16290), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:05,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5293 states to 5293 states and 16290 transitions. [2023-09-17 12:11:05,999 INFO L240 hiAutomatonCegarLoop]: Abstraction has 5293 states and 16290 transitions. [2023-09-17 12:11:05,999 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 12:11:06,000 INFO L428 stractBuchiCegarLoop]: Abstraction has 5293 states and 16290 transitions. [2023-09-17 12:11:06,001 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 12:11:06,001 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 5293 states and 16290 transitions. [2023-09-17 12:11:06,033 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:06,034 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:06,035 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:06,037 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, 1, 1, 1, 1, 1] [2023-09-17 12:11:06,037 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:06,048 INFO L748 eck$LassoCheckResult]: Stem: 18968#[$Ultimate##0]don't care [165] $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] 18970#[L-1]don't care [173] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 21888#[L-1-1]don't care [187] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 19960#[L23]don't care [154] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 19528#[L23-1]don't care [160] L23-1-->L23-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[] 19530#[L23-2]don't care [164] L23-2-->L23-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[] 24838#[L23-3]don't care [193] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 22648#[L23-4]don't care [156] L23-4-->L23-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[] 17480#[L23-5]don't care [167] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 17482#[L718]don't care [159] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 21494#[L719]don't care [144] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 21496#[L-1-2]don't care [189] 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] 23738#[L-1-3]don't care [191] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 17654#[L-1-4]don't care [177] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 17656#[L735]don't care [188] L735-->L735-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] 17904#[L735-1]don't care [194] L735-1-->L736: 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] 17906#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 19028#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 23310#[L739]don't care [143] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 20230#[L742]don't care [172] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 20232#[L745]don't care [148] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 20454#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 22984#[L747]don't care [153] L747-->L747-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] 20274#[L747-1]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 20276#[L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 24084#[L747-3]don't care [218] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_salethreadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_4|, salethreadThread1of2ForFork0_thidvar0=v_salethreadThread1of2ForFork0_thidvar0_2, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_4|, salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_4|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_4, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_4, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_thidvar0, salethreadThread1of2ForFork0_#in~arg.base, salethreadThread1of2ForFork0_#in~arg.offset, salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0, salethreadThread1of2ForFork0_#res.base] 21548#[L747-4, $Ultimate##0]don't care [196] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_1| v_salethreadThread1of2ForFork0_~arg.offset_1) (= v_salethreadThread1of2ForFork0_~arg.base_1 |v_salethreadThread1of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_1, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_1, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset] 17294#[L721, L747-4]don't care [197] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 17298#[L747-4, L722]don't care [183] L747-4-->L747-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] 24688#[L722, L747-5]don't care [181] L747-5-->L746-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] 21478#[L746-2, L722]don't care [199] L722-->L723: Formula: (= v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~_numberOfSeatsSold~0] 18544#[L746-2, L723]don't care [201] L723-->L724: Formula: (<= 23 v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 21020#[L746-2, L724]don't care [155] L746-2-->L746-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] 22894#[L746-3, L724]don't care [176] L746-3-->L746-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] 20876#[L724, L746-4]don't care [150] L746-4-->L746-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] 19838#[L746-5, L724]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 19840#[L724, L747]don't care [153] L747-->L747-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] 17916#[L747-1, L724]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 17918#[L724, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 22212#[L747-3, L724]don't care [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] 22464#[L747-4, L724, $Ultimate##0]don't care [183] L747-4-->L747-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] 25206#[L747-5, L724, $Ultimate##0]don't care [181] L747-5-->L746-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] 25194#[L746-2, L724, $Ultimate##0]don't care [155] L746-2-->L746-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] 25196#[L746-3, L724, $Ultimate##0]don't care [176] L746-3-->L746-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] 26314#[L746-4, L724, $Ultimate##0]don't care [150] L746-4-->L746-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] 26282#[L746-5, L724, $Ultimate##0]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 26230#[L747, L724, $Ultimate##0]don't care [153] L747-->L747-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] 26154#[L747-1, L724, $Ultimate##0]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 26156#[L747-2, L724, $Ultimate##0]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 26310#[L747-3, L724, $Ultimate##0]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 26268#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L724, $Ultimate##0]don't care [204] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 26270#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, $Ultimate##0]don't care [200] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_1|, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_#res.base] 27496#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, salethreadFINAL]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 21004#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, salethreadEXIT]don't care [206] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_1| v_salethreadThread2of2ForFork0_~arg.offset_1) (= v_salethreadThread2of2ForFork0_~arg.base_1 |v_salethreadThread2of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_1, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_~arg.offset] 21000#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [208] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 21668#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, salethreadEXIT]don't care [210] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread2of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_1|, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_#res.base] 19002#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, salethreadEXIT]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 19004#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:06,048 INFO L750 eck$LassoCheckResult]: Loop: 19004#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 19004#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:06,049 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:06,049 INFO L85 PathProgramCache]: Analyzing trace with hash 647298552, now seen corresponding path program 1 times [2023-09-17 12:11:06,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:06,049 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1393014270] [2023-09-17 12:11:06,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:06,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:06,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:06,144 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 12:11:06,144 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:11:06,144 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1393014270] [2023-09-17 12:11:06,144 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1393014270] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:11:06,145 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:11:06,145 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 12:11:06,145 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1164673092] [2023-09-17 12:11:06,145 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:11:06,145 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:11:06,145 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:06,146 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 2 times [2023-09-17 12:11:06,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:06,146 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1869136247] [2023-09-17 12:11:06,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:06,146 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:06,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:06,148 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:06,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:06,149 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:06,155 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:11:06,155 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 12:11:06,155 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 12:11:06,155 INFO L87 Difference]: Start difference. First operand 5293 states and 16290 transitions. cyclomatic complexity: 11204 Second operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 4 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:06,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:11:06,217 INFO L93 Difference]: Finished difference Result 6077 states and 17524 transitions. [2023-09-17 12:11:06,217 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 6077 states and 17524 transitions. [2023-09-17 12:11:06,260 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 12:11:06,300 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 6077 states to 6077 states and 17524 transitions. [2023-09-17 12:11:06,301 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 2133 [2023-09-17 12:11:06,306 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2133 [2023-09-17 12:11:06,307 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6077 states and 17524 transitions. [2023-09-17 12:11:06,318 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:11:06,318 INFO L218 hiAutomatonCegarLoop]: Abstraction has 6077 states and 17524 transitions. [2023-09-17 12:11:06,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 6077 states and 17524 transitions. [2023-09-17 12:11:06,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 6077 to 4774. [2023-09-17 12:11:06,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4774 states, 4774 states have (on average 2.949099287808965) internal successors, (14079), 4773 states have internal predecessors, (14079), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:06,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4774 states to 4774 states and 14079 transitions. [2023-09-17 12:11:06,408 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4774 states and 14079 transitions. [2023-09-17 12:11:06,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 12:11:06,410 INFO L428 stractBuchiCegarLoop]: Abstraction has 4774 states and 14079 transitions. [2023-09-17 12:11:06,410 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 12:11:06,410 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4774 states and 14079 transitions. [2023-09-17 12:11:06,425 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:06,425 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:06,425 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:06,428 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, 1, 1, 1, 1, 1] [2023-09-17 12:11:06,428 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:06,430 INFO L748 eck$LassoCheckResult]: Stem: 35378#[$Ultimate##0]don't care [165] $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] 35380#[L-1]don't care [173] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 37926#[L-1-1]don't care [187] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 36280#[L23]don't care [154] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 35886#[L23-1]don't care [160] L23-1-->L23-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[] 35888#[L23-2]don't care [164] L23-2-->L23-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[] 40426#[L23-3]don't care [193] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 38594#[L23-4]don't care [156] L23-4-->L23-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[] 34118#[L23-5]don't care [167] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 34120#[L718]don't care [159] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 37596#[L719]don't care [144] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 37598#[L-1-2]don't care [189] 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] 39528#[L-1-3]don't care [191] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 34266#[L-1-4]don't care [177] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 34268#[L735]don't care [188] L735-->L735-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] 34474#[L735-1]don't care [194] L735-1-->L736: 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] 34476#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 35434#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 39170#[L739]don't care [143] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 36526#[L742]don't care [172] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 36528#[L745]don't care [148] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 36716#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 38898#[L747]don't care [153] L747-->L747-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] 36564#[L747-1]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 36566#[L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 39836#[L747-3]don't care [218] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_salethreadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_4|, salethreadThread1of2ForFork0_thidvar0=v_salethreadThread1of2ForFork0_thidvar0_2, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_4|, salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_4|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_4, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_4, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_thidvar0, salethreadThread1of2ForFork0_#in~arg.base, salethreadThread1of2ForFork0_#in~arg.offset, salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0, salethreadThread1of2ForFork0_#res.base] 37648#[L747-4, $Ultimate##0]don't care [196] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_1| v_salethreadThread1of2ForFork0_~arg.offset_1) (= v_salethreadThread1of2ForFork0_~arg.base_1 |v_salethreadThread1of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_1, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_1, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset] 33928#[L721, L747-4]don't care [183] L747-4-->L747-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] 33932#[L721, L747-5]don't care [181] L747-5-->L746-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] 36000#[L721, L746-2]don't care [155] L746-2-->L746-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] 40360#[L721, L746-3]don't care [176] L746-3-->L746-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] 37232#[L721, L746-4]don't care [150] L746-4-->L746-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] 37230#[L721, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 34592#[L721, L747]don't care [153] L747-->L747-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] 34590#[L747-1, L721]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 35480#[L721, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 33864#[L721, L747-3]don't care [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] 33862#[L747-4, $Ultimate##0, L721]don't care [183] L747-4-->L747-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] 34304#[L747-5, $Ultimate##0, L721]don't care [181] L747-5-->L746-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] 40676#[L746-2, $Ultimate##0, L721]don't care [155] L746-2-->L746-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] 40872#[L746-3, $Ultimate##0, L721]don't care [176] L746-3-->L746-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] 40870#[L746-4, $Ultimate##0, L721]don't care [150] L746-4-->L746-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] 40868#[L746-5, $Ultimate##0, L721]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 40864#[L747, $Ultimate##0, L721]don't care [153] L747-->L747-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] 40858#[L747-1, $Ultimate##0, L721]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 40852#[L747-2, $Ultimate##0, L721]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 40842#[L747-3, $Ultimate##0, L721]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 40844#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, L721]don't care [206] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_1| v_salethreadThread2of2ForFork0_~arg.offset_1) (= v_salethreadThread2of2ForFork0_~arg.base_1 |v_salethreadThread2of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_1, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_~arg.offset] 37624#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721, L721]don't care [207] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 35650#[L722, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [209] L722-->L723: Formula: (= v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~_numberOfSeatsSold~0] 35952#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L723, L721]don't care [211] L723-->L724: Formula: (<= 23 v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 42288#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L724, L721]don't care [214] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 35076#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, L721]don't care [210] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread2of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_1|, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_#res.base] 40162#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, L721]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 34486#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721, salethreadEXIT]don't care [198] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 35988#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, salethreadEXIT]don't care [200] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_1|, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_#res.base] 35414#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadFINAL]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 35406#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:06,431 INFO L750 eck$LassoCheckResult]: Loop: 35406#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 35406#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:06,431 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:06,431 INFO L85 PathProgramCache]: Analyzing trace with hash -963477740, now seen corresponding path program 1 times [2023-09-17 12:11:06,431 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:06,431 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166746631] [2023-09-17 12:11:06,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:06,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:06,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:06,523 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2023-09-17 12:11:06,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:11:06,523 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166746631] [2023-09-17 12:11:06,524 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [166746631] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:11:06,524 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:11:06,524 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 12:11:06,524 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2127263413] [2023-09-17 12:11:06,524 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:11:06,524 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:11:06,524 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:06,524 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 3 times [2023-09-17 12:11:06,525 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:06,525 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [41154475] [2023-09-17 12:11:06,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:06,525 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:06,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:06,527 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:06,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:06,528 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:06,535 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:11:06,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 12:11:06,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 12:11:06,535 INFO L87 Difference]: Start difference. First operand 4774 states and 14079 transitions. cyclomatic complexity: 9492 Second operand has 4 states, 4 states have (on average 11.0) internal successors, (44), 4 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:06,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:11:06,576 INFO L93 Difference]: Finished difference Result 4755 states and 13435 transitions. [2023-09-17 12:11:06,576 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 4755 states and 13435 transitions. [2023-09-17 12:11:06,595 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 12:11:06,629 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 4755 states to 4755 states and 13435 transitions. [2023-09-17 12:11:06,639 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1705 [2023-09-17 12:11:06,644 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1705 [2023-09-17 12:11:06,644 INFO L73 IsDeterministic]: Start isDeterministic. Operand 4755 states and 13435 transitions. [2023-09-17 12:11:06,650 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:11:06,650 INFO L218 hiAutomatonCegarLoop]: Abstraction has 4755 states and 13435 transitions. [2023-09-17 12:11:06,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 4755 states and 13435 transitions. [2023-09-17 12:11:06,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 4755 to 4198. [2023-09-17 12:11:06,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4198 states, 4198 states have (on average 2.8525488327775133) internal successors, (11975), 4197 states have internal predecessors, (11975), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:06,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4198 states to 4198 states and 11975 transitions. [2023-09-17 12:11:06,723 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4198 states and 11975 transitions. [2023-09-17 12:11:06,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 12:11:06,724 INFO L428 stractBuchiCegarLoop]: Abstraction has 4198 states and 11975 transitions. [2023-09-17 12:11:06,724 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 12:11:06,724 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4198 states and 11975 transitions. [2023-09-17 12:11:06,739 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:06,739 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:06,739 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:06,739 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, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 12:11:06,740 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:06,741 INFO L748 eck$LassoCheckResult]: Stem: 49544#[$Ultimate##0]don't care [165] $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] 49546#[L-1]don't care [173] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 51842#[L-1-1]don't care [187] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 50372#[L23]don't care [154] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 50010#[L23-1]don't care [160] L23-1-->L23-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[] 50012#[L23-2]don't care [164] L23-2-->L23-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[] 54070#[L23-3]don't care [193] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 52402#[L23-4]don't care [156] L23-4-->L23-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[] 48388#[L23-5]don't care [167] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 48390#[L718]don't care [159] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 51552#[L719]don't care [144] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 51554#[L-1-2]don't care [189] 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] 53274#[L-1-3]don't care [191] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 48538#[L-1-4]don't care [177] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 48540#[L735]don't care [188] L735-->L735-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] 48740#[L735-1]don't care [194] L735-1-->L736: 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] 48742#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 49600#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 52956#[L739]don't care [143] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 50588#[L742]don't care [172] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 50590#[L745]don't care [148] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 50766#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 52678#[L747]don't care [153] L747-->L747-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] 50620#[L747-1]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 50622#[L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 53548#[L747-3]don't care [218] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_salethreadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_4|, salethreadThread1of2ForFork0_thidvar0=v_salethreadThread1of2ForFork0_thidvar0_2, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_4|, salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_4|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_4, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_4, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_thidvar0, salethreadThread1of2ForFork0_#in~arg.base, salethreadThread1of2ForFork0_#in~arg.offset, salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0, salethreadThread1of2ForFork0_#res.base] 51576#[L747-4, $Ultimate##0]don't care [196] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_1| v_salethreadThread1of2ForFork0_~arg.offset_1) (= v_salethreadThread1of2ForFork0_~arg.base_1 |v_salethreadThread1of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_1, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_1, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset] 48220#[L721, L747-4]don't care [197] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 48222#[L747-4, L722]don't care [183] L747-4-->L747-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] 53974#[L722, L747-5]don't care [181] L747-5-->L746-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] 51538#[L746-2, L722]don't care [199] L722-->L723: Formula: (= v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~_numberOfSeatsSold~0] 49196#[L746-2, L723]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 51192#[L746-2, L728]don't care [155] L746-2-->L746-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] 52608#[L746-3, L728]don't care [176] L746-3-->L746-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] 49308#[L728, L746-4]don't care [150] L746-4-->L746-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] 51508#[L746-5, L728]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 51510#[L728, L747]don't care [153] L747-->L747-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] 53054#[L747-1, L728]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 51144#[L728, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 51140#[L747-3, L728]don't care [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] 52702#[L728, $Ultimate##0, L747-4]don't care [183] L747-4-->L747-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] 54376#[L728, $Ultimate##0, L747-5]don't care [181] L747-5-->L746-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] 54406#[L728, L746-2, $Ultimate##0]don't care [155] L746-2-->L746-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] 54402#[L728, L746-3, $Ultimate##0]don't care [176] L746-3-->L746-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] 54404#[L728, $Ultimate##0, L746-4]don't care [150] L746-4-->L746-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] 54318#[L728, L746-5, $Ultimate##0]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 54314#[L728, $Ultimate##0, L747]don't care [153] L747-->L747-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] 54316#[L728, L747-1, $Ultimate##0]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 54336#[L728, L747-2, $Ultimate##0]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 54332#[L728, L747-3, $Ultimate##0]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 54328#[L728, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0]don't care [205] L728-->L721-1: Formula: (= (+ v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 52924#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, $Ultimate##0]don't care [200] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_1|, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_#res.base] 52926#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, salethreadFINAL]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 51182#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, salethreadEXIT]don't care [206] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_1| v_salethreadThread2of2ForFork0_~arg.offset_1) (= v_salethreadThread2of2ForFork0_~arg.base_1 |v_salethreadThread2of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_1, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_~arg.offset] 51180#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [207] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 48832#[L722, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [209] L722-->L723: Formula: (= v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~_numberOfSeatsSold~0] 50548#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L723, salethreadEXIT]don't care [211] L723-->L724: Formula: (<= 23 v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 56176#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L724, salethreadEXIT]don't care [214] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 51660#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, salethreadEXIT]don't care [210] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread2of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_1|, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_#res.base] 49572#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, salethreadEXIT]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 49574#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:06,741 INFO L750 eck$LassoCheckResult]: Loop: 49574#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 49574#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:06,741 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:06,741 INFO L85 PathProgramCache]: Analyzing trace with hash -264808093, now seen corresponding path program 1 times [2023-09-17 12:11:06,741 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:06,741 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247881672] [2023-09-17 12:11:06,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:06,742 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:06,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:06,837 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 12:11:06,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:11:06,838 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [247881672] [2023-09-17 12:11:06,838 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [247881672] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 12:11:06,840 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1731563231] [2023-09-17 12:11:06,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:06,841 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 12:11:06,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 12:11:06,860 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-09-17 12:11:06,928 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2023-09-17 12:11:06,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:07,000 INFO L262 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 12:11:07,003 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 12:11:07,095 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 12:11:07,095 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 12:11:07,185 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 12:11:07,185 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1731563231] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 12:11:07,185 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 12:11:07,186 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 12:11:07,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2130182703] [2023-09-17 12:11:07,186 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 12:11:07,186 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:11:07,186 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:07,186 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 4 times [2023-09-17 12:11:07,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:07,187 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2121974809] [2023-09-17 12:11:07,187 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:07,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:07,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,189 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:07,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,190 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:07,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:11:07,192 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 12:11:07,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 12:11:07,192 INFO L87 Difference]: Start difference. First operand 4198 states and 11975 transitions. cyclomatic complexity: 7938 Second operand has 12 states, 12 states have (on average 9.25) internal successors, (111), 12 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:07,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:11:07,291 INFO L93 Difference]: Finished difference Result 4780 states and 13090 transitions. [2023-09-17 12:11:07,291 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 4780 states and 13090 transitions. [2023-09-17 12:11:07,309 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 12:11:07,324 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 4780 states to 4780 states and 13090 transitions. [2023-09-17 12:11:07,324 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1756 [2023-09-17 12:11:07,327 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1756 [2023-09-17 12:11:07,327 INFO L73 IsDeterministic]: Start isDeterministic. Operand 4780 states and 13090 transitions. [2023-09-17 12:11:07,333 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:11:07,334 INFO L218 hiAutomatonCegarLoop]: Abstraction has 4780 states and 13090 transitions. [2023-09-17 12:11:07,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 4780 states and 13090 transitions. [2023-09-17 12:11:07,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 4780 to 3625. [2023-09-17 12:11:07,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3625 states, 3625 states have (on average 2.7820689655172415) internal successors, (10085), 3624 states have internal predecessors, (10085), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:07,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3625 states to 3625 states and 10085 transitions. [2023-09-17 12:11:07,390 INFO L240 hiAutomatonCegarLoop]: Abstraction has 3625 states and 10085 transitions. [2023-09-17 12:11:07,390 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2023-09-17 12:11:07,391 INFO L428 stractBuchiCegarLoop]: Abstraction has 3625 states and 10085 transitions. [2023-09-17 12:11:07,391 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 12:11:07,391 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 3625 states and 10085 transitions. [2023-09-17 12:11:07,401 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:07,401 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:07,401 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:07,402 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, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 12:11:07,402 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:07,403 INFO L748 eck$LassoCheckResult]: Stem: 63005#[$Ultimate##0]don't care [165] $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] 63007#[L-1]don't care [173] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 65149#[L-1-1]don't care [187] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 63743#[L23]don't care [154] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 63431#[L23-1]don't care [160] L23-1-->L23-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[] 63433#[L23-2]don't care [164] L23-2-->L23-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[] 67209#[L23-3]don't care [193] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 65681#[L23-4]don't care [156] L23-4-->L23-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[] 61947#[L23-5]don't care [167] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 61949#[L718]don't care [159] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 64875#[L719]don't care [144] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 64877#[L-1-2]don't care [189] 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] 66501#[L-1-3]don't care [191] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 62091#[L-1-4]don't care [177] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 62093#[L735]don't care [188] L735-->L735-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] 62273#[L735-1]don't care [194] L735-1-->L736: 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] 62275#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 63061#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 66189#[L739]don't care [143] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 63943#[L742]don't care [172] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 63945#[L745]don't care [148] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 64129#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 65949#[L747]don't care [153] L747-->L747-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] 63985#[L747-1]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 63987#[L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 66743#[L747-3]don't care [218] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread1of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_12|) (= |v_salethreadThread1of2ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_4|, salethreadThread1of2ForFork0_thidvar0=v_salethreadThread1of2ForFork0_thidvar0_2, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_4|, salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_4|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_4, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_4, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_12|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_thidvar0, salethreadThread1of2ForFork0_#in~arg.base, salethreadThread1of2ForFork0_#in~arg.offset, salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0, salethreadThread1of2ForFork0_#res.base] 64913#[L747-4, $Ultimate##0]don't care [196] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of2ForFork0_#in~arg.offset_1| v_salethreadThread1of2ForFork0_~arg.offset_1) (= v_salethreadThread1of2ForFork0_~arg.base_1 |v_salethreadThread1of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of2ForFork0_#in~arg.offset=|v_salethreadThread1of2ForFork0_#in~arg.offset_1|, salethreadThread1of2ForFork0_~arg.base=v_salethreadThread1of2ForFork0_~arg.base_1, salethreadThread1of2ForFork0_~arg.offset=v_salethreadThread1of2ForFork0_~arg.offset_1, salethreadThread1of2ForFork0_#in~arg.base=|v_salethreadThread1of2ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~arg.base, salethreadThread1of2ForFork0_~arg.offset] 61787#[L721, L747-4]don't care [197] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 61789#[L747-4, L722]don't care [183] L747-4-->L747-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] 67119#[L722, L747-5]don't care [181] L747-5-->L746-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] 64859#[L746-2, L722]don't care [199] L722-->L723: Formula: (= v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_~_numberOfSeatsSold~0] 62693#[L746-2, L723]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 64527#[L746-2, L728]don't care [155] L746-2-->L746-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] 65885#[L746-3, L728]don't care [176] L746-3-->L746-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] 62807#[L728, L746-4]don't care [150] L746-4-->L746-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] 64831#[L746-5, L728]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 64827#[L728, L747]don't care [153] L747-->L747-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] 66287#[L747-1, L728]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 64487#[L728, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 64489#[L747-3, L728]don't care [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] 65959#[L728, $Ultimate##0, L747-4]don't care [183] L747-4-->L747-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] 67451#[L728, $Ultimate##0, L747-5]don't care [181] L747-5-->L746-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] 67689#[L728, L746-2, $Ultimate##0]don't care [155] L746-2-->L746-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] 67583#[L728, L746-3, $Ultimate##0]don't care [176] L746-3-->L746-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] 67585#[L728, $Ultimate##0, L746-4]don't care [150] L746-4-->L746-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] 67605#[L728, L746-5, $Ultimate##0]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 67607#[L728, $Ultimate##0, L747]don't care [153] L747-->L747-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] 67699#[L728, L747-1, $Ultimate##0]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 67497#[L728, L747-2, $Ultimate##0]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 67455#[L728, L747-3, $Ultimate##0]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 67457#[L728, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0]don't care [205] L728-->L721-1: Formula: (= (+ v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 66153#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, $Ultimate##0]don't care [200] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of2ForFork0_#res.offset=|v_salethreadThread1of2ForFork0_#res.offset_1|, salethreadThread1of2ForFork0_#res.base=|v_salethreadThread1of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread1of2ForFork0_#res.offset, salethreadThread1of2ForFork0_#res.base] 66155#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, salethreadFINAL]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 64513#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, salethreadEXIT]don't care [206] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_1| v_salethreadThread2of2ForFork0_~arg.offset_1) (= v_salethreadThread2of2ForFork0_~arg.base_1 |v_salethreadThread2of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_1, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_~arg.offset] 64511#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [207] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 62363#[L722, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [209] L722-->L723: Formula: (= v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~_numberOfSeatsSold~0] 61683#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L723, salethreadEXIT]don't care [212] L723-->L728: Formula: (< v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 63707#[L728, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [215] L728-->L721-1: Formula: (= (+ v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_7} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_7, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 64985#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1, salethreadEXIT]don't care [210] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of2ForFork0_#res.offset_1| 0) (= |v_salethreadThread2of2ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_1|, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_1|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_#res.base] 63035#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, salethreadEXIT]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 63033#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:07,403 INFO L750 eck$LassoCheckResult]: Loop: 63033#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 63033#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:11:07,403 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:07,403 INFO L85 PathProgramCache]: Analyzing trace with hash -264777341, now seen corresponding path program 1 times [2023-09-17 12:11:07,403 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:07,403 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1598345021] [2023-09-17 12:11:07,403 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:07,403 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:07,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,413 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:07,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,422 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:07,423 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:07,423 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 5 times [2023-09-17 12:11:07,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:07,423 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1033853141] [2023-09-17 12:11:07,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:07,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:07,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,425 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:07,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,426 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:07,426 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:07,426 INFO L85 PathProgramCache]: Analyzing trace with hash 381837238, now seen corresponding path program 1 times [2023-09-17 12:11:07,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:07,426 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [765774899] [2023-09-17 12:11:07,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:07,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:07,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,434 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:07,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:07,443 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:08,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:08,482 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:08,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:08,500 WARN L148 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 12:11:08,511 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 12:11:08,515 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 12:11:08,543 INFO L124 PetriNetUnfolderBase]: 15/135 cut-off events. [2023-09-17 12:11:08,543 INFO L125 PetriNetUnfolderBase]: For 7/7 co-relation queries the response was YES. [2023-09-17 12:11:08,544 INFO L83 FinitePrefix]: Finished finitePrefix Result has 151 conditions, 135 events. 15/135 cut-off events. For 7/7 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 189 event pairs, 0 based on Foata normal form. 0/117 useless extension candidates. Maximal degree in co-relation 106. Up to 8 conditions per place. [2023-09-17 12:11:08,544 INFO L82 GeneralOperation]: Start removeDead. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 12:11:08,545 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 75 places, 77 transitions, 175 flow [2023-09-17 12:11:08,546 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 12:11:08,546 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 12:11:08,546 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 12:11:08,546 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 12:11:08,546 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 12:11:08,546 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 12:11:08,546 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 12:11:08,546 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 12:11:08,546 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 12:11:29,384 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:29,385 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:29,385 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:29,386 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, 1] [2023-09-17 12:11:29,386 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:29,386 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 12:11:29,386 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 12:11:42,184 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:11:42,185 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:11:42,189 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:11:42,193 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, 1] [2023-09-17 12:11:42,193 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:11:42,204 INFO L748 eck$LassoCheckResult]: Stem: SleepPredicate [underlying: 78#[$Ultimate##0]don't care, sleep set: []] [242] $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] SleepPredicate [underlying: 81#[L-1]don't care, sleep set: []] [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 83#[L-1-1]don't care, sleep set: []] [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 85#[L23]don't care, sleep set: []] [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 87#[L23-1]don't care, sleep set: []] [237] L23-1-->L23-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[] SleepPredicate [underlying: 89#[L23-2]don't care, sleep set: []] [241] L23-2-->L23-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[] SleepPredicate [underlying: 91#[L23-3]don't care, sleep set: []] [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 93#[L23-4]don't care, sleep set: []] [233] L23-4-->L23-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[] SleepPredicate [underlying: 95#[L23-5]don't care, sleep set: []] [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] SleepPredicate [underlying: 97#[L718]don't care, sleep set: []] [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] SleepPredicate [underlying: 99#[L719]don't care, sleep set: []] [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] SleepPredicate [underlying: 101#[L-1-2]don't care, sleep set: []] [266] 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] SleepPredicate [underlying: 103#[L-1-3]don't care, sleep set: []] [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] SleepPredicate [underlying: 105#[L-1-4]don't care, sleep set: []] [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] SleepPredicate [underlying: 107#[L735]don't care, sleep set: []] [265] L735-->L735-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] SleepPredicate [underlying: 109#[L735-1]don't care, sleep set: []] [271] L735-1-->L736: 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] SleepPredicate [underlying: 111#[L736]don't care, sleep set: []] [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] SleepPredicate [underlying: 113#[L736-1]don't care, sleep set: []] [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] SleepPredicate [underlying: 115#[L739]don't care, sleep set: []] [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] SleepPredicate [underlying: 117#[L742]don't care, sleep set: []] [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] SleepPredicate [underlying: 119#[L745]don't care, sleep set: []] [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] SleepPredicate [underlying: 121#[L746-5]don't care, sleep set: []] [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 123#[L747]don't care, sleep set: []] [230] L747-->L747-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] SleepPredicate [underlying: 127#[L747-1]don't care, sleep set: []] [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 131#[L747-2]don't care, sleep set: []] [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 137#[L747-3]don't care, sleep set: []] [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] SleepPredicate [underlying: 143#[$Ultimate##0, L747-4]don't care, sleep set: []] [260] L747-4-->L747-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] SleepPredicate [underlying: 147#[$Ultimate##0, L747-5]don't care, sleep set: [salethreadThread1of3ForFork0]] [258] L747-5-->L746-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] SleepPredicate [underlying: 153#[L746-2, $Ultimate##0]don't care, sleep set: [salethreadThread1of3ForFork0]] [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] SleepPredicate [underlying: 163#[L746-2, L721]don't care, sleep set: []] [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 179#[L746-2, L721-1]don't care, sleep set: [ULTIMATE.start]] [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] SleepPredicate [underlying: 199#[L746-2, salethreadFINAL]don't care, sleep set: [ULTIMATE.start]] [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 221#[L746-2, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [232] L746-2-->L746-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] SleepPredicate [underlying: 241#[salethreadEXIT, L746-3]don't care, sleep set: []] [253] L746-3-->L746-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] SleepPredicate [underlying: 265#[salethreadEXIT, L746-4]don't care, sleep set: []] [227] L746-4-->L746-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] SleepPredicate [underlying: 295#[salethreadEXIT, L746-5]don't care, sleep set: []] [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 335#[salethreadEXIT, L747]don't care, sleep set: []] [230] L747-->L747-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] SleepPredicate [underlying: 379#[L747-1, salethreadEXIT]don't care, sleep set: []] [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 427#[L747-2, salethreadEXIT]don't care, sleep set: []] [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 481#[salethreadEXIT, L747-3]don't care, sleep set: []] [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] SleepPredicate [underlying: 545#[$Ultimate##0, salethreadEXIT, L747-4]don't care, sleep set: []] [260] L747-4-->L747-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] SleepPredicate [underlying: 633#[$Ultimate##0, salethreadEXIT, L747-5]don't care, sleep set: [salethreadThread2of3ForFork0]] [258] L747-5-->L746-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] SleepPredicate [underlying: 751#[$Ultimate##0, L746-2, salethreadEXIT]don't care, sleep set: [salethreadThread2of3ForFork0]] [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] SleepPredicate [underlying: 895#[L746-2, salethreadEXIT, L721]don't care, sleep set: []] [275] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 1063#[L721-1, L746-2, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] SleepPredicate [underlying: 1249#[L746-2, salethreadFINAL, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 1465#[L746-2, salethreadEXIT, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [232] L746-2-->L746-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] SleepPredicate [underlying: 1717#[salethreadEXIT, salethreadEXIT, L746-3]don't care, sleep set: []] [253] L746-3-->L746-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] SleepPredicate [underlying: 2023#[salethreadEXIT, L746-4, salethreadEXIT]don't care, sleep set: []] [227] L746-4-->L746-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] SleepPredicate [underlying: 2385#[salethreadEXIT, L746-5, salethreadEXIT]don't care, sleep set: []] [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 2813#[salethreadEXIT, L747, salethreadEXIT]don't care, sleep set: []] [230] L747-->L747-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] SleepPredicate [underlying: 3303#[L747-1, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 3891#[salethreadEXIT, salethreadEXIT, L747-2]don't care, sleep set: []] [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 4619#[salethreadEXIT, salethreadEXIT, L747-3]don't care, sleep set: []] [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] SleepPredicate [underlying: 5535#[salethreadEXIT, L747-4, salethreadEXIT, $Ultimate##0]don't care, sleep set: []] [260] L747-4-->L747-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] SleepPredicate [underlying: 6685#[salethreadEXIT, L747-5, salethreadEXIT, $Ultimate##0]don't care, sleep set: [salethreadThread3of3ForFork0]] [258] L747-5-->L746-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] SleepPredicate [underlying: 8071#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care, sleep set: [salethreadThread3of3ForFork0]] [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] SleepPredicate [underlying: 9679#[L721, L746-2, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 11533#[L746-2, salethreadEXIT, salethreadEXIT, L721-1]don't care, sleep set: [ULTIMATE.start]] [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] SleepPredicate [underlying: 13659#[L746-2, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care, sleep set: [ULTIMATE.start]] [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 16117#[L746-2, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care, sleep set: [ULTIMATE.start]] [232] L746-2-->L746-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] SleepPredicate [underlying: 18873#[L746-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [253] L746-3-->L746-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] SleepPredicate [underlying: 21841#[salethreadEXIT, salethreadEXIT, L746-4, salethreadEXIT]don't care, sleep set: []] [227] L746-4-->L746-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] SleepPredicate [underlying: 24811#[salethreadEXIT, salethreadEXIT, L746-5, salethreadEXIT]don't care, sleep set: []] [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 27571#[salethreadEXIT, salethreadEXIT, L747, salethreadEXIT]don't care, sleep set: []] [230] L747-->L747-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] SleepPredicate [underlying: 29881#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care, sleep set: []] [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 31657#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 32879#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 33637#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [2023-09-17 12:11:42,204 INFO L750 eck$LassoCheckResult]: Loop: SleepPredicate [underlying: 33637#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] SleepPredicate [underlying: 33637#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care, sleep set: []] [2023-09-17 12:11:42,205 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:42,205 INFO L85 PathProgramCache]: Analyzing trace with hash 354956696, now seen corresponding path program 1 times [2023-09-17 12:11:42,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:42,205 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2103646677] [2023-09-17 12:11:42,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:42,209 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:42,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:11:42,235 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 19 proven. 0 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2023-09-17 12:11:42,236 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:11:42,236 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2103646677] [2023-09-17 12:11:42,236 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2103646677] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:11:42,236 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:11:42,236 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 12:11:42,236 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [633192699] [2023-09-17 12:11:42,236 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:11:42,236 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:11:42,237 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:11:42,237 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 1 times [2023-09-17 12:11:42,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:11:42,237 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1384946631] [2023-09-17 12:11:42,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:11:42,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:11:42,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:42,239 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:11:42,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:11:42,240 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:11:42,242 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:11:42,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 12:11:42,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 12:11:42,242 INFO L87 Difference]: Start difference. First operand null Second operand has 3 states, 3 states have (on average 17.333333333333332) internal successors, (52), 3 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:11:57,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:11:57,932 INFO L93 Difference]: Finished difference Result 242381 states and 1009090 transitions. [2023-09-17 12:11:57,932 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 242381 states and 1009090 transitions. [2023-09-17 12:12:03,016 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 12:12:05,390 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 242381 states to 134528 states and 557189 transitions. [2023-09-17 12:12:05,390 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13347 [2023-09-17 12:12:05,743 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 23124 [2023-09-17 12:12:05,743 INFO L73 IsDeterministic]: Start isDeterministic. Operand 134528 states and 557189 transitions. [2023-09-17 12:12:06,118 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:12:06,118 INFO L218 hiAutomatonCegarLoop]: Abstraction has 134528 states and 557189 transitions. [2023-09-17 12:12:06,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134528 states and 557189 transitions. [2023-09-17 12:12:09,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134528 to 102105. [2023-09-17 12:12:10,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102105 states, 102105 states have (on average 4.177337054992409) internal successors, (426527), 102104 states have internal predecessors, (426527), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:11,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102105 states to 102105 states and 426527 transitions. [2023-09-17 12:12:11,477 INFO L240 hiAutomatonCegarLoop]: Abstraction has 102105 states and 426527 transitions. [2023-09-17 12:12:11,477 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 12:12:11,479 INFO L428 stractBuchiCegarLoop]: Abstraction has 102105 states and 426527 transitions. [2023-09-17 12:12:11,479 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 12:12:11,479 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 102105 states and 426527 transitions. [2023-09-17 12:12:12,660 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:12:12,676 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:12:12,676 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:12:12,677 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, 1, 1, 1, 1] [2023-09-17 12:12:12,677 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:12:12,678 INFO L748 eck$LassoCheckResult]: Stem: 342956#[$Ultimate##0]don't care [242] $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] 339864#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 286662#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 281886#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 281888#[L23-1]don't care [237] L23-1-->L23-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[] 326276#[L23-2]don't care [241] L23-2-->L23-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[] 326278#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 335412#[L23-4]don't care [233] L23-4-->L23-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[] 277406#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 277408#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 288282#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 326676#[L-1-2]don't care [266] 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] 290930#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 290932#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 312650#[L735]don't care [265] L735-->L735-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] 364724#[L735-1]don't care [271] L735-1-->L736: 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] 364726#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 349586#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 337760#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 282244#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 282246#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 282952#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 306450#[L747]don't care [230] L747-->L747-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] 306452#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 291710#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 291712#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 351016#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 343510#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 293620#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 293622#[L746-2, L721]don't care [294] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 312698#[L746-2, L722]don't care [296] L722-->L723: Formula: (= v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0] 303106#[L723, L746-2]don't care [232] L746-2-->L746-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] 305954#[L723, L746-3]don't care [298] L723-->L724: Formula: (<= 23 v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 371458#[L724, L746-3]don't care [301] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 295788#[L721-1, L746-3]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 304374#[salethreadFINAL, L746-3]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 357416#[salethreadEXIT, L746-3]don't care [253] L746-3-->L746-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] 364976#[salethreadEXIT, L746-4]don't care [227] L746-4-->L746-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] 319230#[salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 280902#[salethreadEXIT, L747]don't care [230] L747-->L747-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] 300366#[L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 301008#[L747-2, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 328892#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 367234#[$Ultimate##0, salethreadEXIT, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 314908#[salethreadEXIT, L721, L747-4]don't care [275] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 315224#[L721-1, salethreadEXIT, L747-4]don't care [260] L747-4-->L747-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] 327062#[L721-1, salethreadEXIT, L747-5]don't care [258] L747-5-->L746-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] 418826#[L721-1, L746-2, salethreadEXIT]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 480684#[L746-2, salethreadFINAL, salethreadEXIT]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 375926#[L746-2, salethreadEXIT, salethreadEXIT]don't care [232] L746-2-->L746-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] 382604#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-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] 368158#[salethreadEXIT, L746-4, salethreadEXIT]don't care [227] L746-4-->L746-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] 334840#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 327844#[salethreadEXIT, L747, salethreadEXIT]don't care [230] L747-->L747-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] 337542#[L747-1, salethreadEXIT, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 369448#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 312458#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 398820#[salethreadEXIT, L747-4, salethreadEXIT, $Ultimate##0]don't care [260] L747-4-->L747-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] 480232#[salethreadEXIT, L747-5, salethreadEXIT, $Ultimate##0]don't care [258] L747-5-->L746-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] 480230#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-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] 480228#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 480678#[L721, L746-3, salethreadEXIT, salethreadEXIT]don't care [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 289854#[L746-3, salethreadEXIT, salethreadEXIT, L721-1]don't care [253] L746-3-->L746-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] 349340#[salethreadEXIT, salethreadEXIT, L721-1, L746-4]don't care [227] L746-4-->L746-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] 290820#[salethreadEXIT, salethreadEXIT, L721-1, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 290818#[salethreadEXIT, salethreadEXIT, L721-1, L747]don't care [230] L747-->L747-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] 352652#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 381422#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 287396#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 287398#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 280180#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 320610#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:12,678 INFO L750 eck$LassoCheckResult]: Loop: 320610#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 320610#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:12,679 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:12,679 INFO L85 PathProgramCache]: Analyzing trace with hash -1646081154, now seen corresponding path program 1 times [2023-09-17 12:12:12,679 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:12,679 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1846799825] [2023-09-17 12:12:12,679 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:12,679 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:12,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:12:12,754 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 21 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2023-09-17 12:12:12,754 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:12:12,754 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1846799825] [2023-09-17 12:12:12,754 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1846799825] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:12:12,755 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:12:12,755 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 12:12:12,755 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [773370699] [2023-09-17 12:12:12,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:12:12,756 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:12:12,756 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:12,757 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 2 times [2023-09-17 12:12:12,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:12,758 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1912199954] [2023-09-17 12:12:12,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:12,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:12,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:12,761 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:12:12,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:12,762 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:12:12,764 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:12:12,764 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 12:12:12,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 12:12:12,765 INFO L87 Difference]: Start difference. First operand 102105 states and 426527 transitions. cyclomatic complexity: 328717 Second operand has 4 states, 4 states have (on average 14.0) internal successors, (56), 4 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:14,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:12:14,141 INFO L93 Difference]: Finished difference Result 144582 states and 571852 transitions. [2023-09-17 12:12:14,141 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 144582 states and 571852 transitions. [2023-09-17 12:12:16,763 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 12:12:18,745 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 144582 states to 144582 states and 571852 transitions. [2023-09-17 12:12:18,761 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25935 [2023-09-17 12:12:19,025 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25935 [2023-09-17 12:12:19,026 INFO L73 IsDeterministic]: Start isDeterministic. Operand 144582 states and 571852 transitions. [2023-09-17 12:12:19,347 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:12:19,347 INFO L218 hiAutomatonCegarLoop]: Abstraction has 144582 states and 571852 transitions. [2023-09-17 12:12:19,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144582 states and 571852 transitions. [2023-09-17 12:12:23,548 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144582 to 100734. [2023-09-17 12:12:23,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100734 states, 100734 states have (on average 4.040860086961701) internal successors, (407052), 100733 states have internal predecessors, (407052), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:24,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100734 states to 100734 states and 407052 transitions. [2023-09-17 12:12:24,902 INFO L240 hiAutomatonCegarLoop]: Abstraction has 100734 states and 407052 transitions. [2023-09-17 12:12:24,902 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 12:12:24,904 INFO L428 stractBuchiCegarLoop]: Abstraction has 100734 states and 407052 transitions. [2023-09-17 12:12:24,904 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 12:12:24,905 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 100734 states and 407052 transitions. [2023-09-17 12:12:26,271 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:12:26,271 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:12:26,271 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:12:26,272 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, 1, 1, 1, 1] [2023-09-17 12:12:26,272 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:12:26,273 INFO L748 eck$LassoCheckResult]: Stem: 685343#[$Ultimate##0]don't care [242] $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] 682621#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 634547#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 630297#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 630299#[L23-1]don't care [237] L23-1-->L23-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[] 670777#[L23-2]don't care [241] L23-2-->L23-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[] 670779#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 678659#[L23-4]don't care [233] L23-4-->L23-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[] 626131#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 626133#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 636003#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 671135#[L-1-2]don't care [266] 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] 638375#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 638377#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 658323#[L735]don't care [265] L735-->L735-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] 705029#[L735-1]don't care [271] L735-1-->L736: 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] 705031#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 691321#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 680695#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 630641#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 630643#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 631263#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 652461#[L747]don't care [230] L747-->L747-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] 652463#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 639061#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 639063#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 692663#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 685787#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 640723#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 640725#[L746-2, L721]don't care [232] L746-2-->L746-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] 658333#[L721, L746-3]don't care [253] L746-3-->L746-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] 667591#[L721, L746-4]don't care [227] L746-4-->L746-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] 636331#[L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 636329#[L721, L747]don't care [230] L747-->L747-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] 704625#[L747-1, L721]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 670085#[L721, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 670081#[L721, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 664089#[L721, $Ultimate##0, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 640853#[L721, L721, L747-4]don't care [274] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 640855#[L721, L722, L747-4]don't care [260] L747-4-->L747-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] 700447#[L721, L722, L747-5]don't care [258] L747-5-->L746-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] 635545#[L721, L746-2, L722]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 635547#[L721, L746-2, L723]don't care [278] L723-->L724: Formula: (<= 23 v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 635709#[L721, L746-2, L724]don't care [232] L746-2-->L746-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] 725479#[L721, L724, L746-3]don't care [281] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 639779#[L721-1, L721, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 666193#[L721, salethreadFINAL, L746-3]don't care [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 706435#[L721-1, salethreadFINAL, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 812521#[L721-1, salethreadEXIT, L746-3]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 669763#[salethreadEXIT, salethreadFINAL, L746-3]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 669175#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-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] 661509#[salethreadEXIT, L746-4, salethreadEXIT]don't care [227] L746-4-->L746-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] 678211#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 653315#[salethreadEXIT, L747, salethreadEXIT]don't care [230] L747-->L747-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] 680517#[L747-1, salethreadEXIT, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 664911#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 658091#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 811633#[salethreadEXIT, L747-4, salethreadEXIT, $Ultimate##0]don't care [260] L747-4-->L747-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] 821115#[salethreadEXIT, L747-5, salethreadEXIT, $Ultimate##0]don't care [258] L747-5-->L746-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] 813763#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-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] 813765#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 813725#[L721, L746-3, salethreadEXIT, salethreadEXIT]don't care [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 637425#[L746-3, salethreadEXIT, salethreadEXIT, L721-1]don't care [253] L746-3-->L746-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] 644419#[salethreadEXIT, salethreadEXIT, L721-1, L746-4]don't care [227] L746-4-->L746-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] 681305#[salethreadEXIT, salethreadEXIT, L721-1, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 638285#[salethreadEXIT, salethreadEXIT, L721-1, L747]don't care [230] L747-->L747-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] 719861#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 637749#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 635207#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 635209#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 628763#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 665685#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:26,273 INFO L750 eck$LassoCheckResult]: Loop: 665685#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 665685#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:26,274 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:26,274 INFO L85 PathProgramCache]: Analyzing trace with hash -547619792, now seen corresponding path program 1 times [2023-09-17 12:12:26,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:26,274 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2000901800] [2023-09-17 12:12:26,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:26,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:26,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:12:26,322 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 30 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2023-09-17 12:12:26,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:12:26,322 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2000901800] [2023-09-17 12:12:26,322 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2000901800] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:12:26,322 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:12:26,323 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 12:12:26,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [905271331] [2023-09-17 12:12:26,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:12:26,323 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:12:26,323 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:26,323 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 3 times [2023-09-17 12:12:26,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:26,324 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [600043493] [2023-09-17 12:12:26,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:26,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:26,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:26,326 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:12:26,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:26,327 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:12:26,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:12:26,329 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 12:12:26,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 12:12:26,329 INFO L87 Difference]: Start difference. First operand 100734 states and 407052 transitions. cyclomatic complexity: 310571 Second operand has 4 states, 4 states have (on average 14.5) internal successors, (58), 4 states have internal predecessors, (58), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:27,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:12:27,697 INFO L93 Difference]: Finished difference Result 122251 states and 475459 transitions. [2023-09-17 12:12:27,697 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 122251 states and 475459 transitions. [2023-09-17 12:12:30,281 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 12:12:31,695 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 122251 states to 122251 states and 475459 transitions. [2023-09-17 12:12:31,695 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22570 [2023-09-17 12:12:31,849 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22570 [2023-09-17 12:12:31,850 INFO L73 IsDeterministic]: Start isDeterministic. Operand 122251 states and 475459 transitions. [2023-09-17 12:12:32,257 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:12:32,257 INFO L218 hiAutomatonCegarLoop]: Abstraction has 122251 states and 475459 transitions. [2023-09-17 12:12:32,446 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122251 states and 475459 transitions. [2023-09-17 12:12:34,557 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122251 to 95096. [2023-09-17 12:12:34,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95096 states, 95096 states have (on average 3.9572537225540505) internal successors, (376319), 95095 states have internal predecessors, (376319), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:35,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95096 states to 95096 states and 376319 transitions. [2023-09-17 12:12:35,722 INFO L240 hiAutomatonCegarLoop]: Abstraction has 95096 states and 376319 transitions. [2023-09-17 12:12:35,722 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 12:12:35,723 INFO L428 stractBuchiCegarLoop]: Abstraction has 95096 states and 376319 transitions. [2023-09-17 12:12:35,723 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 12:12:35,723 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 95096 states and 376319 transitions. [2023-09-17 12:12:36,992 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:12:36,992 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:12:36,992 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:12:36,993 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, 1, 1, 1, 1] [2023-09-17 12:12:36,993 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:12:36,994 INFO L748 eck$LassoCheckResult]: Stem: 1005179#[$Ultimate##0]don't care [242] $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] 1002611#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 957519#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 953581#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 953583#[L23-1]don't care [237] L23-1-->L23-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[] 991325#[L23-2]don't care [241] L23-2-->L23-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[] 991327#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 998781#[L23-4]don't care [233] L23-4-->L23-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[] 949791#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 949793#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 958899#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 991703#[L-1-2]don't care [266] 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] 961157#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 961159#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 979793#[L735]don't care [265] L735-->L735-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] 1023851#[L735-1]don't care [271] L735-1-->L736: 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] 1023853#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1010775#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1000775#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 953901#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 953903#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 954455#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 974359#[L747]don't care [230] L747-->L747-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] 974361#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 961777#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 961779#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 1011947#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 1005575#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 963301#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 963303#[L746-2, L721]don't care [232] L746-2-->L746-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] 979797#[L721, L746-3]don't care [253] L746-3-->L746-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] 988365#[L721, L746-4]don't care [227] L746-4-->L746-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] 959199#[L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 959197#[L721, L747]don't care [230] L747-->L747-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] 1023435#[L747-1, L721]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 990661#[L721, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 990657#[L721, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 985153#[L721, $Ultimate##0, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 985155#[L721, L721, L747-4]don't care [260] L747-4-->L747-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] 963405#[L721, L747-5, L721]don't care [258] L747-5-->L746-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] 1024263#[L721, L746-2, L721]don't care [232] L746-2-->L746-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] 1016885#[L721, L746-3, L721]don't care [253] L746-3-->L746-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] 1016889#[L721, L746-4, L721]don't care [227] L746-4-->L746-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] 1010389#[L721, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 979951#[L721, L747, L721]don't care [230] L747-->L747-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] 996501#[L747-1, L721, L721]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1017137#[L721, L747-2, L721]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 991667#[L721, L747-3, L721]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1020121#[L721, L747-4, L721, $Ultimate##0]don't care [260] L747-4-->L747-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] 1040401#[L721, L747-5, L721, $Ultimate##0]don't care [258] L747-5-->L746-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] 1040397#[L721, L746-2, L721, $Ultimate##0]don't care [232] L746-2-->L746-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] 1040387#[L721, L746-3, L721, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 1040373#[L721, L721, L746-3, L721]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1040363#[L721, L746-3, L722, L721]don't care [253] L746-3-->L746-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] 954631#[L721, L722, L721, L746-4]don't care [227] L746-4-->L746-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] 1024409#[L721, L722, L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 976979#[L721, L722, L721, L747]don't care [230] L747-->L747-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] 1041075#[L721, L722, L721, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 1041307#[L721, L721, L747-1, L723]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1049161#[L721, L724, L721, L747-1]don't care [291] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 992659#[L721, L721-1, L721, L747-1]don't care [275] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1103961#[L721, L721-1, L721-1, L747-1]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 1132999#[L721, salethreadFINAL, L721-1, L747-1]don't care [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 998281#[salethreadFINAL, L721-1, L721-1, L747-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 998283#[salethreadEXIT, L721-1, L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1031611#[salethreadEXIT, salethreadFINAL, L721-1, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1037851#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 960555#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 958127#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 958129#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 952175#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 986613#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:36,994 INFO L750 eck$LassoCheckResult]: Loop: 986613#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 986613#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:36,994 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:36,994 INFO L85 PathProgramCache]: Analyzing trace with hash 552590324, now seen corresponding path program 1 times [2023-09-17 12:12:36,995 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:36,995 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037373795] [2023-09-17 12:12:36,995 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:36,995 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:37,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:12:37,035 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2023-09-17 12:12:37,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:12:37,036 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1037373795] [2023-09-17 12:12:37,036 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1037373795] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 12:12:37,036 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 12:12:37,036 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 12:12:37,036 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2024441879] [2023-09-17 12:12:37,036 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 12:12:37,036 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:12:37,036 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:37,036 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 4 times [2023-09-17 12:12:37,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:37,036 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [860850995] [2023-09-17 12:12:37,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:37,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:37,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:37,039 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:12:37,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:37,040 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:12:37,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:12:37,041 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 12:12:37,041 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 12:12:37,041 INFO L87 Difference]: Start difference. First operand 95096 states and 376319 transitions. cyclomatic complexity: 285212 Second operand has 4 states, 4 states have (on average 12.75) internal successors, (51), 4 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:37,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:12:37,960 INFO L93 Difference]: Finished difference Result 102338 states and 395939 transitions. [2023-09-17 12:12:37,960 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 102338 states and 395939 transitions. [2023-09-17 12:12:39,806 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 12:12:40,837 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 102338 states to 102338 states and 395939 transitions. [2023-09-17 12:12:40,837 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19398 [2023-09-17 12:12:40,924 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19398 [2023-09-17 12:12:40,924 INFO L73 IsDeterministic]: Start isDeterministic. Operand 102338 states and 395939 transitions. [2023-09-17 12:12:41,076 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:12:41,076 INFO L218 hiAutomatonCegarLoop]: Abstraction has 102338 states and 395939 transitions. [2023-09-17 12:12:41,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102338 states and 395939 transitions. [2023-09-17 12:12:42,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102338 to 83478. [2023-09-17 12:12:43,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83478 states, 83478 states have (on average 3.9013991710390763) internal successors, (325681), 83477 states have internal predecessors, (325681), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:43,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83478 states to 83478 states and 325681 transitions. [2023-09-17 12:12:43,920 INFO L240 hiAutomatonCegarLoop]: Abstraction has 83478 states and 325681 transitions. [2023-09-17 12:12:43,921 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 12:12:43,921 INFO L428 stractBuchiCegarLoop]: Abstraction has 83478 states and 325681 transitions. [2023-09-17 12:12:43,921 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 12:12:43,921 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 83478 states and 325681 transitions. [2023-09-17 12:12:45,049 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:12:45,049 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:12:45,049 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:12:45,050 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, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 12:12:45,050 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:12:45,053 INFO L748 eck$LassoCheckResult]: Stem: 1294914#[$Ultimate##0]don't care [242] $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] 1292498#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 1249680#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 1245930#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 1245932#[L23-1]don't care [237] L23-1-->L23-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[] 1281758#[L23-2]don't care [241] L23-2-->L23-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[] 1281760#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 1288926#[L23-4]don't care [233] L23-4-->L23-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[] 1242306#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1242308#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 1250904#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 1282074#[L-1-2]don't care [266] 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] 1253058#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 1253060#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 1270648#[L735]don't care [265] L735-->L735-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] 1312934#[L735-1]don't care [271] L735-1-->L736: 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] 1312936#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1300142#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1290788#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1246228#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 1246230#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1246770#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1265526#[L747]don't care [230] L747-->L747-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] 1265528#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1253684#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1253686#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 1301282#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 1295294#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 1255122#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 1255124#[L746-2, L721]don't care [294] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1262888#[L746-2, L722]don't care [296] L722-->L723: Formula: (= v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0] 1262890#[L723, L746-2]don't care [232] L746-2-->L746-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] 1265154#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 1317960#[L728, L746-3]don't care [253] L746-3-->L746-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] 1314632#[L728, L746-4]don't care [227] L746-4-->L746-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] 1268476#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1267348#[L728, L747]don't care [230] L747-->L747-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] 1258556#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1258558#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1260116#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1260592#[L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1261128#[L747-2, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1283766#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1314944#[$Ultimate##0, salethreadEXIT, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 1272540#[salethreadEXIT, L721, L747-4]don't care [274] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1248380#[L722, salethreadEXIT, L747-4]don't care [260] L747-4-->L747-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] 1248382#[L722, salethreadEXIT, L747-5]don't care [258] L747-5-->L746-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] 1290894#[L746-2, L722, salethreadEXIT]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 1290896#[L746-2, L723, salethreadEXIT]don't care [278] L723-->L724: Formula: (<= 23 v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1314072#[L746-2, L724, salethreadEXIT]don't care [232] L746-2-->L746-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] 1314074#[L724, salethreadEXIT, L746-3]don't care [281] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 1324766#[L721-1, salethreadEXIT, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 1280316#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1280318#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-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] 1273574#[salethreadEXIT, L746-4, salethreadEXIT]don't care [227] L746-4-->L746-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] 1260264#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1260266#[salethreadEXIT, L747, salethreadEXIT]don't care [230] L747-->L747-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] 1290624#[L747-1, salethreadEXIT, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1261206#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1261208#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1257350#[salethreadEXIT, L747-4, salethreadEXIT, $Ultimate##0]don't care [260] L747-4-->L747-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] 1246206#[salethreadEXIT, L747-5, salethreadEXIT, $Ultimate##0]don't care [258] L747-5-->L746-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] 1246202#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-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] 1270346#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 1325362#[L721, L746-3, salethreadEXIT, salethreadEXIT]don't care [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1252180#[L746-3, salethreadEXIT, salethreadEXIT, L721-1]don't care [253] L746-3-->L746-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] 1291338#[salethreadEXIT, salethreadEXIT, L721-1, L746-4]don't care [227] L746-4-->L746-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] 1252966#[salethreadEXIT, salethreadEXIT, L721-1, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1252968#[salethreadEXIT, salethreadEXIT, L721-1, L747]don't care [230] L747-->L747-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] 1326696#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 1286298#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1250236#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1250238#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1244566#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1277200#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:45,053 INFO L750 eck$LassoCheckResult]: Loop: 1277200#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1277200#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:45,054 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:45,054 INFO L85 PathProgramCache]: Analyzing trace with hash -739051002, now seen corresponding path program 1 times [2023-09-17 12:12:45,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:45,054 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [534497995] [2023-09-17 12:12:45,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:45,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:45,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:12:45,210 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 30 proven. 7 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 12:12:45,210 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:12:45,210 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [534497995] [2023-09-17 12:12:45,210 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [534497995] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 12:12:45,210 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2106073202] [2023-09-17 12:12:45,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:45,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 12:12:45,211 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 12:12:45,269 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-09-17 12:12:45,297 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2023-09-17 12:12:45,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:12:45,377 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 12:12:45,378 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 12:12:45,439 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 30 proven. 7 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 12:12:45,439 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 12:12:45,524 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 30 proven. 7 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 12:12:45,524 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2106073202] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 12:12:45,524 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 12:12:45,524 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 12:12:45,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [430705645] [2023-09-17 12:12:45,526 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 12:12:45,526 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:12:45,526 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:45,526 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 5 times [2023-09-17 12:12:45,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:45,526 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [323019049] [2023-09-17 12:12:45,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:45,526 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:45,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:45,529 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:12:45,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:45,530 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:12:45,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:12:45,532 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 12:12:45,533 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 12:12:45,533 INFO L87 Difference]: Start difference. First operand 83478 states and 325681 transitions. cyclomatic complexity: 245658 Second operand has 12 states, 12 states have (on average 9.833333333333334) internal successors, (118), 12 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:47,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:12:47,456 INFO L93 Difference]: Finished difference Result 155461 states and 574638 transitions. [2023-09-17 12:12:47,456 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 155461 states and 574638 transitions. [2023-09-17 12:12:49,823 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 12:12:51,511 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 155461 states to 155461 states and 574638 transitions. [2023-09-17 12:12:51,511 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33148 [2023-09-17 12:12:51,654 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33148 [2023-09-17 12:12:51,654 INFO L73 IsDeterministic]: Start isDeterministic. Operand 155461 states and 574638 transitions. [2023-09-17 12:12:51,916 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:12:51,916 INFO L218 hiAutomatonCegarLoop]: Abstraction has 155461 states and 574638 transitions. [2023-09-17 12:12:52,317 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155461 states and 574638 transitions. [2023-09-17 12:12:54,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155461 to 80116. [2023-09-17 12:12:54,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80116 states, 80116 states have (on average 3.8340780867741775) internal successors, (307171), 80115 states have internal predecessors, (307171), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:55,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80116 states to 80116 states and 307171 transitions. [2023-09-17 12:12:55,100 INFO L240 hiAutomatonCegarLoop]: Abstraction has 80116 states and 307171 transitions. [2023-09-17 12:12:55,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 12:12:55,100 INFO L428 stractBuchiCegarLoop]: Abstraction has 80116 states and 307171 transitions. [2023-09-17 12:12:55,100 INFO L335 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2023-09-17 12:12:55,100 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 80116 states and 307171 transitions. [2023-09-17 12:12:55,641 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:12:55,641 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:12:55,641 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:12:55,642 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, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 12:12:55,642 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:12:55,643 INFO L748 eck$LassoCheckResult]: Stem: 1613878#[$Ultimate##0]don't care [242] $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] 1611588#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 1572194#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 1568606#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 1568608#[L23-1]don't care [237] L23-1-->L23-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[] 1601836#[L23-2]don't care [241] L23-2-->L23-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[] 1601838#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 1608488#[L23-4]don't care [233] L23-4-->L23-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[] 1565188#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1565190#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 1573286#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 1602146#[L-1-2]don't care [266] 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] 1575248#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 1575250#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 1591566#[L735]don't care [265] L735-->L735-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] 1630886#[L735-1]don't care [271] L735-1-->L736: 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] 1630888#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1618796#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1610106#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1568900#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 1568902#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1569422#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1586862#[L747]don't care [230] L747-->L747-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] 1586864#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1575850#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1575852#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 1619858#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 1614286#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 1577190#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 1577192#[L746-2, L721]don't care [294] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1584438#[L746-2, L722]don't care [296] L722-->L723: Formula: (= v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0] 1584440#[L723, L746-2]don't care [232] L746-2-->L746-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] 1586532#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 1635910#[L728, L746-3]don't care [253] L746-3-->L746-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] 1589522#[L728, L746-4]don't care [227] L746-4-->L746-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] 1589524#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1588522#[L728, L747]don't care [230] L747-->L747-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] 1580472#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1580474#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1581932#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1582372#[L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1582828#[L747-2, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1603720#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1632752#[$Ultimate##0, salethreadEXIT, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 1593302#[salethreadEXIT, L721, L747-4]don't care [260] L747-4-->L747-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] 1618366#[salethreadEXIT, L747-5, L721]don't care [258] L747-5-->L746-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] 1618368#[L746-2, salethreadEXIT, L721]don't care [232] L746-2-->L746-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] 1566430#[salethreadEXIT, L746-3, L721]don't care [253] L746-3-->L746-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] 1566428#[L746-4, salethreadEXIT, L721]don't care [227] L746-4-->L746-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] 1572502#[L746-5, salethreadEXIT, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1592216#[L747, salethreadEXIT, L721]don't care [230] L747-->L747-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] 1572412#[L747-1, salethreadEXIT, L721]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1614976#[salethreadEXIT, L747-2, L721]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1578884#[salethreadEXIT, L747-3, L721]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1576390#[L747-4, salethreadEXIT, L721, $Ultimate##0]don't care [260] L747-4-->L747-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] 1650778#[L747-5, salethreadEXIT, L721, $Ultimate##0]don't care [258] L747-5-->L746-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] 1650756#[L746-2, salethreadEXIT, L721, $Ultimate##0]don't care [232] L746-2-->L746-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] 1651874#[L746-3, salethreadEXIT, L721, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 1651876#[L721, L746-3, salethreadEXIT, L721]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1617678#[L746-3, salethreadEXIT, L721, L722]don't care [253] L746-3-->L746-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] 1659278#[salethreadEXIT, L721, L722, L746-4]don't care [227] L746-4-->L746-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] 1580214#[salethreadEXIT, L721, L722, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1585566#[salethreadEXIT, L721, L722, L747]don't care [230] L747-->L747-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] 1585512#[salethreadEXIT, L721, L722, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 1585514#[salethreadEXIT, L721, L747-1, L723]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1661028#[L724, salethreadEXIT, L721, L747-1]don't care [291] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 1627332#[salethreadEXIT, L721, L721-1, L747-1]don't care [275] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1568686#[salethreadEXIT, L721-1, L721-1, L747-1]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 1568688#[salethreadFINAL, salethreadEXIT, L721-1, L747-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1587972#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 1575366#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1572716#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1572718#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1567322#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1597624#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:55,643 INFO L750 eck$LassoCheckResult]: Loop: 1597624#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1597624#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:12:55,643 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:55,644 INFO L85 PathProgramCache]: Analyzing trace with hash 1025257486, now seen corresponding path program 1 times [2023-09-17 12:12:55,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:55,644 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [822199927] [2023-09-17 12:12:55,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:55,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:55,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:12:55,933 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 26 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2023-09-17 12:12:55,933 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:12:55,933 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [822199927] [2023-09-17 12:12:55,934 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [822199927] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 12:12:55,934 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [408829492] [2023-09-17 12:12:55,934 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:55,934 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 12:12:55,934 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 12:12:55,941 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-09-17 12:12:55,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2023-09-17 12:12:56,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:12:56,009 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 12:12:56,012 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 12:12:56,060 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 26 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2023-09-17 12:12:56,060 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 12:12:56,121 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 26 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2023-09-17 12:12:56,121 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [408829492] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 12:12:56,121 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 12:12:56,121 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 12:12:56,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [455828914] [2023-09-17 12:12:56,122 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 12:12:56,122 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:12:56,122 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:12:56,122 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 6 times [2023-09-17 12:12:56,122 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:12:56,122 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905083136] [2023-09-17 12:12:56,122 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:12:56,122 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:12:56,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:56,124 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:12:56,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:12:56,126 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:12:56,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:12:56,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 12:12:56,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 12:12:56,127 INFO L87 Difference]: Start difference. First operand 80116 states and 307171 transitions. cyclomatic complexity: 230396 Second operand has 12 states, 12 states have (on average 10.25) internal successors, (123), 12 states have internal predecessors, (123), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:12:57,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:12:57,389 INFO L93 Difference]: Finished difference Result 148457 states and 540634 transitions. [2023-09-17 12:12:57,389 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 148457 states and 540634 transitions. [2023-09-17 12:12:59,639 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 12:13:00,968 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 148457 states to 148457 states and 540634 transitions. [2023-09-17 12:13:00,968 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31866 [2023-09-17 12:13:01,102 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31866 [2023-09-17 12:13:01,102 INFO L73 IsDeterministic]: Start isDeterministic. Operand 148457 states and 540634 transitions. [2023-09-17 12:13:01,300 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:13:01,300 INFO L218 hiAutomatonCegarLoop]: Abstraction has 148457 states and 540634 transitions. [2023-09-17 12:13:01,675 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148457 states and 540634 transitions. [2023-09-17 12:13:03,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148457 to 76728. [2023-09-17 12:13:03,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76728 states, 76728 states have (on average 3.7472500260661037) internal successors, (287519), 76727 states have internal predecessors, (287519), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:13:04,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76728 states to 76728 states and 287519 transitions. [2023-09-17 12:13:04,263 INFO L240 hiAutomatonCegarLoop]: Abstraction has 76728 states and 287519 transitions. [2023-09-17 12:13:04,263 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 12:13:04,263 INFO L428 stractBuchiCegarLoop]: Abstraction has 76728 states and 287519 transitions. [2023-09-17 12:13:04,264 INFO L335 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2023-09-17 12:13:04,264 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 76728 states and 287519 transitions. [2023-09-17 12:13:04,981 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:13:04,981 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:13:04,982 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:13:04,983 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, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 12:13:04,983 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:13:04,984 INFO L748 eck$LassoCheckResult]: Stem: 1920750#[$Ultimate##0]don't care [242] $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] 1918582#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 1881022#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 1877646#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 1877648#[L23-1]don't care [237] L23-1-->L23-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[] 1909216#[L23-2]don't care [241] L23-2-->L23-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[] 1909218#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 1915612#[L23-4]don't care [233] L23-4-->L23-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[] 1874354#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1874356#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 1882132#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 1909498#[L-1-2]don't care [266] 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] 1883976#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 1883978#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 1899454#[L735]don't care [265] L735-->L735-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] 1936410#[L735-1]don't care [271] L735-1-->L736: 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] 1936412#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1925296#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1917170#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1877952#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 1877954#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1878474#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1895022#[L747]don't care [230] L747-->L747-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] 1895024#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1884550#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1884552#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 1926254#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 1921088#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 1885848#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 1885850#[L746-2, L721]don't care [232] L746-2-->L746-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] 1899456#[L721, L746-3]don't care [253] L746-3-->L746-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] 1906760#[L721, L746-4]don't care [227] L746-4-->L746-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] 1882388#[L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1882386#[L721, L747]don't care [230] L747-->L747-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] 1936028#[L747-1, L721]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1908716#[L721, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1908712#[L721, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1904028#[L721, $Ultimate##0, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 1904030#[L721, L721, L747-4]don't care [274] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1952916#[L721, L722, L747-4]don't care [260] L747-4-->L747-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] 1933274#[L721, L722, L747-5]don't care [258] L747-5-->L746-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] 1922210#[L721, L746-2, L722]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 1952666#[L721, L746-2, L723]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 1881884#[L728, L721, L746-2]don't care [232] L746-2-->L746-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] 1908542#[L728, L721, L746-3]don't care [282] L728-->L721-1: Formula: (= (+ v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1925772#[L721-1, L721, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 1947630#[L721, salethreadFINAL, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1877980#[L721, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-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] 1877978#[L721, salethreadEXIT, L746-4]don't care [227] L746-4-->L746-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] 1886324#[L721, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1916396#[L721, salethreadEXIT, L747]don't care [230] L747-->L747-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] 1927458#[L747-1, L721, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1881332#[L721, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1920092#[L721, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1880982#[L721, salethreadEXIT, L747-4, $Ultimate##0]don't care [260] L747-4-->L747-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] 1950798#[L721, salethreadEXIT, L747-5, $Ultimate##0]don't care [258] L747-5-->L746-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] 1950790#[L721, L746-2, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-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] 1950782#[L721, L746-3, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 1908550#[L721, L721, L746-3, salethreadEXIT]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 1908552#[L721, L746-3, salethreadEXIT, L722]don't care [253] L746-3-->L746-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] 1913200#[L721, salethreadEXIT, L722, L746-4]don't care [227] L746-4-->L746-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] 1885724#[L721, salethreadEXIT, L722, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1938314#[L721, salethreadEXIT, L722, L747]don't care [230] L747-->L747-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] 1923120#[L721, salethreadEXIT, L722, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 1938220#[L721, salethreadEXIT, L747-1, L723]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1978682#[L721, L724, salethreadEXIT, L747-1]don't care [291] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 1899594#[L721, salethreadEXIT, L721-1, L747-1]don't care [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1885108#[salethreadEXIT, L721-1, L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1926854#[salethreadEXIT, salethreadFINAL, L721-1, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1896026#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 1883458#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1881524#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1881526#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1876382#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1905282#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:13:04,984 INFO L750 eck$LassoCheckResult]: Loop: 1905282#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1905282#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:13:04,985 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:13:04,985 INFO L85 PathProgramCache]: Analyzing trace with hash 1856385764, now seen corresponding path program 1 times [2023-09-17 12:13:04,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:13:04,985 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258086860] [2023-09-17 12:13:04,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:04,985 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:13:05,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:13:05,122 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 25 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2023-09-17 12:13:05,122 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:13:05,122 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258086860] [2023-09-17 12:13:05,122 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1258086860] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 12:13:05,122 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [806884332] [2023-09-17 12:13:05,122 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:05,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 12:13:05,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 12:13:05,161 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-09-17 12:13:05,229 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2023-09-17 12:13:05,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:13:05,317 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 12:13:05,318 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 12:13:05,418 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 25 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2023-09-17 12:13:05,418 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 12:13:05,522 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 25 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2023-09-17 12:13:05,522 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [806884332] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 12:13:05,522 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 12:13:05,522 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 12:13:05,523 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1584462615] [2023-09-17 12:13:05,523 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 12:13:05,523 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:13:05,523 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:13:05,523 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 7 times [2023-09-17 12:13:05,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:13:05,523 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [39628040] [2023-09-17 12:13:05,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:05,523 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:13:05,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:05,526 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:13:05,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:05,532 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:13:05,533 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:13:05,534 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 12:13:05,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 12:13:05,534 INFO L87 Difference]: Start difference. First operand 76728 states and 287519 transitions. cyclomatic complexity: 213985 Second operand has 12 states, 12 states have (on average 10.166666666666666) internal successors, (122), 12 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:13:06,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:13:06,806 INFO L93 Difference]: Finished difference Result 141320 states and 508090 transitions. [2023-09-17 12:13:06,806 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 141320 states and 508090 transitions. [2023-09-17 12:13:09,128 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 12 [2023-09-17 12:13:10,426 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 141320 states to 141320 states and 508090 transitions. [2023-09-17 12:13:10,426 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30497 [2023-09-17 12:13:10,574 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30497 [2023-09-17 12:13:10,574 INFO L73 IsDeterministic]: Start isDeterministic. Operand 141320 states and 508090 transitions. [2023-09-17 12:13:10,804 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:13:10,804 INFO L218 hiAutomatonCegarLoop]: Abstraction has 141320 states and 508090 transitions. [2023-09-17 12:13:11,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141320 states and 508090 transitions. [2023-09-17 12:13:12,828 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141320 to 75589. [2023-09-17 12:13:12,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75589 states, 75589 states have (on average 3.7002606199314716) internal successors, (279699), 75588 states have internal predecessors, (279699), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:13:13,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75589 states to 75589 states and 279699 transitions. [2023-09-17 12:13:13,245 INFO L240 hiAutomatonCegarLoop]: Abstraction has 75589 states and 279699 transitions. [2023-09-17 12:13:13,246 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 12:13:13,247 INFO L428 stractBuchiCegarLoop]: Abstraction has 75589 states and 279699 transitions. [2023-09-17 12:13:13,247 INFO L335 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2023-09-17 12:13:13,247 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 75589 states and 279699 transitions. [2023-09-17 12:13:13,964 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:13:13,964 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:13:13,964 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:13:13,965 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 12:13:13,965 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:13:13,966 INFO L748 eck$LassoCheckResult]: Stem: 2213491#[$Ultimate##0]don't care [242] $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] 2211503#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 2175929#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 2172745#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 2172747#[L23-1]don't care [237] L23-1-->L23-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[] 2202559#[L23-2]don't care [241] L23-2-->L23-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[] 2202561#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 2208659#[L23-4]don't care [233] L23-4-->L23-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[] 2169573#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2169575#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 2176997#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 2202833#[L-1-2]don't care [266] 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] 2178721#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 2178723#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 2193309#[L735]don't care [265] L735-->L735-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] 2228425#[L735-1]don't care [271] L735-1-->L736: 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] 2228427#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2217825#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2210093#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2172995#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 2172997#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2173515#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2189233#[L747]don't care [230] L747-->L747-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] 2189235#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2179287#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2179289#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 2218713#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 2213797#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 2180587#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 2180589#[L746-2, L721]don't care [294] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2187135#[L746-2, L722]don't care [296] L722-->L723: Formula: (= v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0] 2187137#[L723, L746-2]don't care [232] L746-2-->L746-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] 2188973#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2232817#[L728, L746-3]don't care [253] L746-3-->L746-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] 2191547#[L728, L746-4]don't care [227] L746-4-->L746-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] 2191549#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2190707#[L728, L747]don't care [230] L747-->L747-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] 2183519#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2183521#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2184853#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2185273#[L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2185669#[L747-2, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2204243#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 2230113#[$Ultimate##0, salethreadEXIT, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 2194833#[salethreadEXIT, L721, L747-4]don't care [274] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2225183#[L722, salethreadEXIT, L747-4]don't care [260] L747-4-->L747-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] 2236061#[L722, salethreadEXIT, L747-5]don't care [258] L747-5-->L746-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] 2210167#[L746-2, L722, salethreadEXIT]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 2210169#[L746-2, L723, salethreadEXIT]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2273109#[L728, L746-2, salethreadEXIT]don't care [232] L746-2-->L746-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] 2273359#[L728, salethreadEXIT, L746-3]don't care [282] L728-->L721-1: Formula: (= (+ v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2273059#[L721-1, salethreadEXIT, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 2298993#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2298939#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-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] 2298929#[salethreadEXIT, L746-4, salethreadEXIT]don't care [227] L746-4-->L746-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] 2298749#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2297771#[salethreadEXIT, L747, salethreadEXIT]don't care [230] L747-->L747-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] 2297763#[L747-1, salethreadEXIT, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2295177#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2295167#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 2295163#[salethreadEXIT, L747-4, salethreadEXIT, $Ultimate##0]don't care [260] L747-4-->L747-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] 2296761#[salethreadEXIT, L747-5, salethreadEXIT, $Ultimate##0]don't care [258] L747-5-->L746-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] 2298901#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-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] 2298913#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 2298897#[L721, L746-3, salethreadEXIT, salethreadEXIT]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2292591#[L746-3, salethreadEXIT, salethreadEXIT, L722]don't care [253] L746-3-->L746-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] 2295031#[salethreadEXIT, salethreadEXIT, L722, L746-4]don't care [227] L746-4-->L746-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] 2297871#[salethreadEXIT, salethreadEXIT, L722, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2282259#[salethreadEXIT, salethreadEXIT, L722, L747]don't care [230] L747-->L747-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] 2298629#[salethreadEXIT, salethreadEXIT, L722, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 2295187#[salethreadEXIT, salethreadEXIT, L747-1, L723]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 2233111#[L724, salethreadEXIT, salethreadEXIT, L747-1]don't care [291] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 2171821#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 2178251#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2176405#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2176407#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2171507#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2198819#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:13:13,966 INFO L750 eck$LassoCheckResult]: Loop: 2198819#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2198819#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:13:13,966 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:13:13,966 INFO L85 PathProgramCache]: Analyzing trace with hash -1576595664, now seen corresponding path program 1 times [2023-09-17 12:13:13,966 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:13:13,966 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1731037840] [2023-09-17 12:13:13,966 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:13,966 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:13:13,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:13:14,042 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 32 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-09-17 12:13:14,042 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 12:13:14,042 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1731037840] [2023-09-17 12:13:14,042 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1731037840] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 12:13:14,042 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [198415778] [2023-09-17 12:13:14,042 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:14,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 12:13:14,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 12:13:14,060 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-09-17 12:13:14,084 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2023-09-17 12:13:14,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 12:13:14,127 INFO L262 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2023-09-17 12:13:14,128 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 12:13:14,185 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 32 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-09-17 12:13:14,185 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 12:13:14,281 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 32 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-09-17 12:13:14,281 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [198415778] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 12:13:14,281 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 12:13:14,281 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 16 [2023-09-17 12:13:14,281 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1921717757] [2023-09-17 12:13:14,281 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 12:13:14,281 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 12:13:14,281 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:13:14,281 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 8 times [2023-09-17 12:13:14,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:13:14,282 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307846943] [2023-09-17 12:13:14,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:14,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:13:14,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:14,283 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:13:14,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:14,284 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:13:14,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 12:13:14,286 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2023-09-17 12:13:14,286 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2023-09-17 12:13:14,286 INFO L87 Difference]: Start difference. First operand 75589 states and 279699 transitions. cyclomatic complexity: 207248 Second operand has 16 states, 16 states have (on average 8.875) internal successors, (142), 16 states have internal predecessors, (142), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:13:15,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 12:13:15,775 INFO L93 Difference]: Finished difference Result 135814 states and 484406 transitions. [2023-09-17 12:13:15,775 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 135814 states and 484406 transitions. [2023-09-17 12:13:17,554 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 12:13:18,740 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 135814 states to 135814 states and 484406 transitions. [2023-09-17 12:13:18,741 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29175 [2023-09-17 12:13:18,858 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29175 [2023-09-17 12:13:18,858 INFO L73 IsDeterministic]: Start isDeterministic. Operand 135814 states and 484406 transitions. [2023-09-17 12:13:19,034 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 12:13:19,034 INFO L218 hiAutomatonCegarLoop]: Abstraction has 135814 states and 484406 transitions. [2023-09-17 12:13:19,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135814 states and 484406 transitions. [2023-09-17 12:13:20,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135814 to 59065. [2023-09-17 12:13:20,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59065 states, 59065 states have (on average 3.7064081943621434) internal successors, (218919), 59064 states have internal predecessors, (218919), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 12:13:21,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59065 states to 59065 states and 218919 transitions. [2023-09-17 12:13:21,279 INFO L240 hiAutomatonCegarLoop]: Abstraction has 59065 states and 218919 transitions. [2023-09-17 12:13:21,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2023-09-17 12:13:21,280 INFO L428 stractBuchiCegarLoop]: Abstraction has 59065 states and 218919 transitions. [2023-09-17 12:13:21,280 INFO L335 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2023-09-17 12:13:21,280 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 59065 states and 218919 transitions. [2023-09-17 12:13:21,856 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 12:13:21,856 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 12:13:21,856 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 12:13:21,857 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 12:13:21,857 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 12:13:21,858 INFO L748 eck$LassoCheckResult]: Stem: 2499480#[$Ultimate##0]don't care [242] $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] 2497484#[L-1]don't care [250] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 2463238#[L-1-1]don't care [264] L-1-1-->L23: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 2460170#[L23]don't care [231] L23-->L23-1: Formula: (and (= (select |v_#valid_4| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_4|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] 2460172#[L23-1]don't care [237] L23-1-->L23-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[] 2488796#[L23-2]don't care [241] L23-2-->L23-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[] 2488798#[L23-3]don't care [270] L23-3-->L23-4: Formula: (and (= (select |v_#valid_5| 2) 1) (= (select |v_#length_2| 2) 1)) InVars {#length=|v_#length_2|, #valid=|v_#valid_5|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_5|} AuxVars[] AssignedVars[] 2494736#[L23-4]don't care [233] L23-4-->L23-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[] 2457100#[L23-5]don't care [244] L23-5-->L718: Formula: (= v_~numberOfSeatsSold~0_3 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_3} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2457102#[L718]don't care [236] L718-->L719: Formula: (= v_~stopSales~0_4 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_4} AuxVars[] AssignedVars[~stopSales~0] 2464304#[L719]don't care [221] L719-->L-1-2: Formula: (= v_~numOfTickets~0_1 0) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_1} AuxVars[] AssignedVars[~numOfTickets~0] 2489048#[L-1-2]don't care [266] 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] 2465992#[L-1-3]don't care [268] L-1-3-->L-1-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 2465994#[L-1-4]don't care [254] L-1-4-->L735: 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_~_numberOfSeatsSold~1#1=|v_ULTIMATE.start_main_~_numberOfSeatsSold~1#1_3|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_3|, ULTIMATE.start_main_~argv#1.offset=|v_ULTIMATE.start_main_~argv#1.offset_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_1|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_3|} 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_~_numberOfSeatsSold~1#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#salethreads~0#1.base, ULTIMATE.start_main_~argv#1.offset, ULTIMATE.start_main_#t~pre2#1, ULTIMATE.start_main_~#salethreads~0#1.offset] 2480024#[L735]don't care [265] L735-->L735-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] 2513684#[L735-1]don't care [271] L735-1-->L736: 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] 2513686#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2503486#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2496152#[L739]don't care [220] L739-->L742: Formula: (= v_~numberOfSeatsSold~0_4 0) InVars {} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_4} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2460394#[L742]don't care [249] L742-->L745: Formula: (= v_~stopSales~0_5 0) InVars {} OutVars{~stopSales~0=v_~stopSales~0_5} AuxVars[] AssignedVars[~stopSales~0] 2460396#[L745]don't care [225] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2460918#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2476098#[L747]don't care [230] L747-->L747-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] 2476100#[L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2466534#[L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2466536#[L747-3]don't care [305] L747-3-->$Ultimate##0: Formula: (and (= v_salethreadThread1of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_27|) (= |v_salethreadThread1of3ForFork0_#in~arg.base_4| 0) (= |v_salethreadThread1of3ForFork0_#in~arg.offset_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_4|, salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_4, salethreadThread1of3ForFork0_thidvar0=v_salethreadThread1of3ForFork0_thidvar0_2, salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_4|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_4|, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_4, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_27|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0, salethreadThread1of3ForFork0_#in~arg.offset, salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_thidvar0, salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset, salethreadThread1of3ForFork0_~arg.offset, salethreadThread1of3ForFork0_#in~arg.base] 2504338#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-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] 2499768#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-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] 2467780#[L746-2, $Ultimate##0]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 2467782#[L746-2, L721]don't care [294] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2474134#[L746-2, L722]don't care [296] L722-->L723: Formula: (= v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~_numberOfSeatsSold~0] 2474136#[L723, L746-2]don't care [232] L746-2-->L746-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] 2475846#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2517862#[L728, L746-3]don't care [253] L746-3-->L746-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] 2478304#[L728, L746-4]don't care [227] L746-4-->L746-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] 2478306#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2477474#[L728, L747]don't care [230] L747-->L747-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] 2470662#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2470664#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2471956#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2472356#[L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2472748#[L747-2, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2490444#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 2515292#[$Ultimate##0, salethreadEXIT, L747-4]don't care [273] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread2of3ForFork0_~arg.base_1 |v_salethreadThread2of3ForFork0_#in~arg.base_1|) (= v_salethreadThread2of3ForFork0_~arg.offset_1 |v_salethreadThread2of3ForFork0_#in~arg.offset_1|)) InVars {salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_1|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_1, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_1, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_~arg.base] 2481482#[salethreadEXIT, L721, L747-4]don't care [274] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2484244#[L722, salethreadEXIT, L747-4]don't care [260] L747-4-->L747-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] 2540792#[L722, salethreadEXIT, L747-5]don't care [258] L747-5-->L746-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] 2496216#[L746-2, L722, salethreadEXIT]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 2490722#[L746-2, L723, salethreadEXIT]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2484642#[L728, L746-2, salethreadEXIT]don't care [232] L746-2-->L746-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] 2484644#[L728, salethreadEXIT, L746-3]don't care [282] L728-->L721-1: Formula: (= (+ v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2474620#[L721-1, salethreadEXIT, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 2487734#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2487736#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-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] 2482378#[salethreadEXIT, L746-4, salethreadEXIT]don't care [227] L746-4-->L746-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] 2472092#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2472094#[salethreadEXIT, L747, salethreadEXIT]don't care [230] L747-->L747-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] 2496020#[L747-1, salethreadEXIT, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2472794#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2472796#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 2469650#[salethreadEXIT, L747-4, salethreadEXIT, $Ultimate##0]don't care [260] L747-4-->L747-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] 2460390#[salethreadEXIT, L747-5, salethreadEXIT, $Ultimate##0]don't care [258] L747-5-->L746-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] 2460386#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-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] 2508748#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 2568750#[L721, L746-3, salethreadEXIT, salethreadEXIT]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2516698#[L746-3, salethreadEXIT, salethreadEXIT, L722]don't care [253] L746-3-->L746-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] 2567950#[salethreadEXIT, salethreadEXIT, L722, L746-4]don't care [227] L746-4-->L746-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] 2519368#[salethreadEXIT, salethreadEXIT, L722, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2487438#[salethreadEXIT, salethreadEXIT, L722, L747]don't care [230] L747-->L747-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] 2505850#[salethreadEXIT, salethreadEXIT, L722, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 2519346#[salethreadEXIT, salethreadEXIT, L747-1, L723]don't care [289] L723-->L728: Formula: (< v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2459282#[L728, salethreadEXIT, salethreadEXIT, L747-1]don't care [292] L728-->L721-1: Formula: (= (+ v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2459284#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 2465518#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2463730#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2463732#[salethreadEXIT, L747-2, salethreadEXIT, salethreadEXIT]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |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|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2458974#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2485240#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:13:21,858 INFO L750 eck$LassoCheckResult]: Loop: 2485240#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2485240#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 12:13:21,858 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:13:21,858 INFO L85 PathProgramCache]: Analyzing trace with hash -660462832, now seen corresponding path program 1 times [2023-09-17 12:13:21,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:13:21,858 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1482301054] [2023-09-17 12:13:21,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:21,859 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:13:21,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:21,869 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:13:21,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:21,878 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:13:21,878 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:13:21,878 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 9 times [2023-09-17 12:13:21,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:13:21,878 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [216831781] [2023-09-17 12:13:21,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:21,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:13:21,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:21,880 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:13:21,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:21,881 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:13:21,881 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 12:13:21,881 INFO L85 PathProgramCache]: Analyzing trace with hash 1000488992, now seen corresponding path program 1 times [2023-09-17 12:13:21,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 12:13:21,881 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1960093328] [2023-09-17 12:13:21,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 12:13:21,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 12:13:21,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:21,889 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:13:21,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:21,898 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 12:13:23,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:23,225 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 12:13:23,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 12:13:23,262 WARN L148 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 12:13:23,281 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 12:13:23,284 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 12:13:23,293 INFO L124 PetriNetUnfolderBase]: 19/167 cut-off events. [2023-09-17 12:13:23,293 INFO L125 PetriNetUnfolderBase]: For 16/16 co-relation queries the response was YES. [2023-09-17 12:13:23,294 INFO L83 FinitePrefix]: Finished finitePrefix Result has 190 conditions, 167 events. 19/167 cut-off events. For 16/16 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 250 event pairs, 0 based on Foata normal form. 0/144 useless extension candidates. Maximal degree in co-relation 142. Up to 10 conditions per place. [2023-09-17 12:13:23,294 INFO L82 GeneralOperation]: Start removeDead. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 12:13:23,296 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 86 places, 88 transitions, 208 flow [2023-09-17 12:13:23,296 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 12:13:23,296 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 12:13:23,296 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 12:13:23,296 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 12:13:23,296 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 12:13:23,296 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 12:13:23,296 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 12:13:23,296 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 12:13:23,296 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null