/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf --buchiautomizer.fairness.type.for.concurrent.programs FAIRNESS_INTERSECTION -i ../../../trunk/examples/svcomp/pthread-deagle/airline-15.i -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.me.fairness-42053ae-m [2023-09-17 11:45:37,456 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-09-17 11:45:37,510 INFO L100 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf [2023-09-17 11:45:37,525 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-09-17 11:45:37,526 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-09-17 11:45:37,526 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-09-17 11:45:37,527 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-09-17 11:45:37,527 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-09-17 11:45:37,527 INFO L137 SettingsManager]: * Use SBE=true [2023-09-17 11:45:37,527 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-09-17 11:45:37,528 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-09-17 11:45:37,528 INFO L137 SettingsManager]: * Use old map elimination=false [2023-09-17 11:45:37,528 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-09-17 11:45:37,528 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-09-17 11:45:37,529 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-09-17 11:45:37,529 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-09-17 11:45:37,529 INFO L137 SettingsManager]: * sizeof long=4 [2023-09-17 11:45:37,529 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-09-17 11:45:37,530 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-09-17 11:45:37,530 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-09-17 11:45:37,530 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-09-17 11:45:37,540 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-09-17 11:45:37,540 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-09-17 11:45:37,540 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-09-17 11:45:37,543 INFO L137 SettingsManager]: * sizeof long double=12 [2023-09-17 11:45:37,543 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-09-17 11:45:37,543 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-09-17 11:45:37,543 INFO L137 SettingsManager]: * Use constant arrays=true [2023-09-17 11:45:37,544 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-09-17 11:45:37,544 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-09-17 11:45:37,544 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-09-17 11:45:37,544 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-09-17 11:45:37,544 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-09-17 11:45:37,545 INFO L137 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-09-17 11:45:37,546 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-09-17 11:45:37,546 INFO L137 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer: Fairness type for concurrent programs -> FAIRNESS_INTERSECTION [2023-09-17 11:45:37,737 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-09-17 11:45:37,755 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-09-17 11:45:37,757 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-09-17 11:45:37,757 INFO L270 PluginConnector]: Initializing CDTParser... [2023-09-17 11:45:37,758 INFO L274 PluginConnector]: CDTParser initialized [2023-09-17 11:45:37,759 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/airline-15.i [2023-09-17 11:45:38,763 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-09-17 11:45:38,981 INFO L384 CDTParser]: Found 1 translation units. [2023-09-17 11:45:38,981 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/airline-15.i [2023-09-17 11:45:38,999 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3df3b36c/d3fe0b3fa42448d8a9e0d7b51fbde7ec/FLAG8646b9dc5 [2023-09-17 11:45:39,009 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3df3b36c/d3fe0b3fa42448d8a9e0d7b51fbde7ec [2023-09-17 11:45:39,011 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-09-17 11:45:39,012 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-09-17 11:45:39,014 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-09-17 11:45:39,014 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-09-17 11:45:39,017 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-09-17 11:45:39,018 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,019 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@478cff91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39, skipping insertion in model container [2023-09-17 11:45:39,019 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,023 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-09-17 11:45:39,048 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-09-17 11:45:39,248 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-15.i[32027,32040] [2023-09-17 11:45:39,249 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:45:39,256 INFO L203 MainTranslator]: Completed pre-run [2023-09-17 11:45:39,296 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-15.i[32027,32040] [2023-09-17 11:45:39,296 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:45:39,324 WARN L667 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:45:39,324 WARN L667 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:45:39,329 INFO L208 MainTranslator]: Completed translation [2023-09-17 11:45:39,329 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39 WrapperNode [2023-09-17 11:45:39,329 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-09-17 11:45:39,344 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-09-17 11:45:39,345 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-09-17 11:45:39,345 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-09-17 11:45:39,350 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,364 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,377 INFO L138 Inliner]: procedures = 162, calls = 22, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 50 [2023-09-17 11:45:39,378 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-09-17 11:45:39,378 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-09-17 11:45:39,379 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-09-17 11:45:39,379 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-09-17 11:45:39,384 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,384 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,387 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,387 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,390 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,392 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,396 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,397 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,399 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-09-17 11:45:39,399 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-09-17 11:45:39,400 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-09-17 11:45:39,400 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-09-17 11:45:39,400 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (1/1) ... [2023-09-17 11:45:39,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-17 11:45:39,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:45:39,435 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2023-09-17 11:45:39,441 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2023-09-17 11:45:39,461 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure salethread [2023-09-17 11:45:39,462 INFO L138 BoogieDeclarations]: Found implementation of procedure salethread [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-09-17 11:45:39,462 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-09-17 11:45:39,462 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-09-17 11:45:39,463 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-09-17 11:45:39,546 INFO L236 CfgBuilder]: Building ICFG [2023-09-17 11:45:39,548 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-09-17 11:45:39,637 INFO L277 CfgBuilder]: Performing block encoding [2023-09-17 11:45:39,642 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-09-17 11:45:39,642 INFO L302 CfgBuilder]: Removed 1 assume(true) statements. [2023-09-17 11:45:39,643 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:45:39 BoogieIcfgContainer [2023-09-17 11:45:39,644 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-09-17 11:45:39,644 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-09-17 11:45:39,644 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-09-17 11:45:39,647 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-09-17 11:45:39,648 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:39,648 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.09 11:45:39" (1/3) ... [2023-09-17 11:45:39,648 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@7285e754 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:45:39, skipping insertion in model container [2023-09-17 11:45:39,648 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:39,649 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:39" (2/3) ... [2023-09-17 11:45:39,650 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@7285e754 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:45:39, skipping insertion in model container [2023-09-17 11:45:39,650 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:39,650 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:45:39" (3/3) ... [2023-09-17 11:45:39,656 INFO L332 chiAutomizerObserver]: Analyzing ICFG airline-15.i [2023-09-17 11:45:39,698 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:39,717 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:39,743 INFO L124 PetriNetUnfolderBase]: 7/71 cut-off events. [2023-09-17 11:45:39,743 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-09-17 11:45:39,747 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 11:45:39,747 INFO L82 GeneralOperation]: Start removeDead. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:39,750 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:39,761 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:39,761 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:39,761 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:39,761 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:39,761 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:39,761 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:39,762 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:39,762 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:39,763 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:39,873 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:39,876 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:39,876 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:39,883 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 11:45:39,883 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:39,883 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:45:39,883 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:39,900 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:39,900 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:39,900 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:39,901 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 11:45:39,901 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:39,907 INFO L748 eck$LassoCheckResult]: Stem: 61#[$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] 66#[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[] 70#[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[] 73#[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[] 76#[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[] 79#[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[] 82#[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[] 85#[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[] 88#[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] 91#[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] 94#[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] 97#[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] 100#[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] 103#[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] 106#[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] 109#[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] 112#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 115#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 118#[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] 121#[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] 124#[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] 127#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 132#[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] 136#[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] 142#[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] 151#[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] 162#[$Ultimate##0, L747-4]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] 172#[L721, L747-4]don't care [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[] 186#[L721-1, L747-4]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] 206#[L721-1, 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] 242#[L721-1, L746-2]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] 292#[salethreadFINAL, L746-2]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 353#[salethreadEXIT, 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] 417#[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] 492#[L746-4, salethreadEXIT]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] 586#[L746-5, salethreadEXIT]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 715#[L747, salethreadEXIT]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] 865#[L747-1, salethreadEXIT]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] 1031#[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] 1185#[L747-3, salethreadEXIT]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1299#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:45:39,907 INFO L750 eck$LassoCheckResult]: Loop: 1299#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1299#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:45:39,911 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:39,912 INFO L85 PathProgramCache]: Analyzing trace with hash 858911747, now seen corresponding path program 1 times [2023-09-17 11:45:39,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:39,918 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2052134688] [2023-09-17 11:45:39,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:39,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:40,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:40,141 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 11:45:40,142 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:40,142 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2052134688] [2023-09-17 11:45:40,143 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2052134688] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:40,143 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:40,143 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:45:40,144 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1965474393] [2023-09-17 11:45:40,145 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:40,151 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:40,152 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:40,152 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 1 times [2023-09-17 11:45:40,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:40,152 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [384050813] [2023-09-17 11:45:40,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:40,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:40,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,160 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:40,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,171 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:40,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:40,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:45:40,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:45:40,214 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 11:45:40,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:40,243 INFO L93 Difference]: Finished difference Result 1244 states and 2324 transitions. [2023-09-17 11:45:40,245 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1244 states and 2324 transitions. [2023-09-17 11:45:40,254 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:40,266 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1244 states to 663 states and 1225 transitions. [2023-09-17 11:45:40,267 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 243 [2023-09-17 11:45:40,270 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 415 [2023-09-17 11:45:40,271 INFO L73 IsDeterministic]: Start isDeterministic. Operand 663 states and 1225 transitions. [2023-09-17 11:45:40,278 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:40,278 INFO L218 hiAutomatonCegarLoop]: Abstraction has 663 states and 1225 transitions. [2023-09-17 11:45:40,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 663 states and 1225 transitions. [2023-09-17 11:45:40,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 663 to 349. [2023-09-17 11:45:40,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 349 states, 349 states have (on average 2.037249283667622) internal successors, (711), 348 states have internal predecessors, (711), 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 11:45:40,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 349 states to 349 states and 711 transitions. [2023-09-17 11:45:40,333 INFO L240 hiAutomatonCegarLoop]: Abstraction has 349 states and 711 transitions. [2023-09-17 11:45:40,334 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:45:40,337 INFO L428 stractBuchiCegarLoop]: Abstraction has 349 states and 711 transitions. [2023-09-17 11:45:40,337 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:45:40,337 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 349 states and 711 transitions. [2023-09-17 11:45:40,339 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:40,339 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:40,339 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:40,340 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 11:45:40,340 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:40,342 INFO L748 eck$LassoCheckResult]: Stem: 2882#[$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] 2884#[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[] 2964#[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[] 2790#[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[] 2792#[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[] 3206#[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[] 3080#[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[] 3082#[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[] 2914#[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] 2916#[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] 3104#[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] 3106#[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] 3286#[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] 2978#[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] 2980#[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] 3084#[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] 2924#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 2926#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2718#[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] 2720#[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] 2940#[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] 3132#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2778#[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] 2780#[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] 2984#[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] 2986#[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] 2918#[$Ultimate##0, L747-4]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] 2920#[L721, L747-4]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[] 2990#[L747-4, L722]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] 3224#[L722, 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] 3140#[L722, L746-2]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] 2946#[L723, L746-2]don't care [135] L723-->L724: Formula: (<= 14 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[] 2948#[L724, 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] 3222#[L724, L746-3]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] 3410#[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] 3016#[salethreadFINAL, L746-3]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3018#[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] 3162#[L746-4, salethreadEXIT]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] 2988#[L746-5, salethreadEXIT]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2806#[L747, salethreadEXIT]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] 2774#[L747-1, salethreadEXIT]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] 3146#[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] 2930#[L747-3, salethreadEXIT]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2768#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:45:40,342 INFO L750 eck$LassoCheckResult]: Loop: 2768#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2768#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:45:40,342 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:40,343 INFO L85 PathProgramCache]: Analyzing trace with hash -868938084, now seen corresponding path program 1 times [2023-09-17 11:45:40,343 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:40,343 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [306674314] [2023-09-17 11:45:40,343 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:40,343 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:40,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:40,500 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 11:45:40,500 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:40,501 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [306674314] [2023-09-17 11:45:40,501 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [306674314] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:40,501 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:40,501 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:40,501 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628784581] [2023-09-17 11:45:40,501 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:40,502 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:40,502 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:40,502 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 2 times [2023-09-17 11:45:40,502 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:40,502 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [959579614] [2023-09-17 11:45:40,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:40,503 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:40,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,513 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:40,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,515 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:40,517 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:40,518 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:40,518 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:40,518 INFO L87 Difference]: Start difference. First operand 349 states and 711 transitions. cyclomatic complexity: 371 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 11:45:40,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:40,543 INFO L93 Difference]: Finished difference Result 299 states and 561 transitions. [2023-09-17 11:45:40,543 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 299 states and 561 transitions. [2023-09-17 11:45:40,545 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:40,546 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 299 states to 299 states and 561 transitions. [2023-09-17 11:45:40,547 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 196 [2023-09-17 11:45:40,547 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 196 [2023-09-17 11:45:40,547 INFO L73 IsDeterministic]: Start isDeterministic. Operand 299 states and 561 transitions. [2023-09-17 11:45:40,547 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:40,547 INFO L218 hiAutomatonCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:40,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states and 561 transitions. [2023-09-17 11:45:40,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 299. [2023-09-17 11:45:40,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 299 states, 299 states have (on average 1.8762541806020068) internal successors, (561), 298 states have internal predecessors, (561), 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 11:45:40,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 561 transitions. [2023-09-17 11:45:40,556 INFO L240 hiAutomatonCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:40,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:40,557 INFO L428 stractBuchiCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:40,557 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:45:40,557 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 299 states and 561 transitions. [2023-09-17 11:45:40,558 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:40,559 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:40,559 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:40,559 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 11:45:40,559 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:40,561 INFO L748 eck$LassoCheckResult]: Stem: 3882#[$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] 3884#[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[] 3946#[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[] 3792#[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[] 3794#[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[] 4150#[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[] 4046#[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[] 4048#[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[] 3898#[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] 3900#[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] 4054#[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] 4056#[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] 4208#[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] 3960#[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] 3962#[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] 4050#[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] 3908#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 3910#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 3724#[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] 3726#[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] 3920#[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] 4078#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 3772#[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] 3774#[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] 3966#[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] 3968#[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] 3902#[$Ultimate##0, L747-4]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] 3904#[L721, L747-4]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[] 3972#[L747-4, L722]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] 4166#[L722, 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] 4084#[L722, L746-2]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] 3930#[L723, L746-2]don't care [136] L723-->L728: Formula: (< v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3776#[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] 3778#[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] 4246#[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] 3942#[salethreadFINAL, L746-3]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 4000#[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] 4106#[L746-4, salethreadEXIT]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] 3970#[L746-5, salethreadEXIT]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 3820#[L747, salethreadEXIT]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] 3768#[L747-1, salethreadEXIT]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] 4088#[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] 3914#[L747-3, salethreadEXIT]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3762#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:45:40,561 INFO L750 eck$LassoCheckResult]: Loop: 3762#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3762#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:45:40,562 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:40,562 INFO L85 PathProgramCache]: Analyzing trace with hash -936368870, now seen corresponding path program 1 times [2023-09-17 11:45:40,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:40,562 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [955371155] [2023-09-17 11:45:40,562 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:40,562 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:40,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,584 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:40,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,617 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:40,618 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:40,618 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 3 times [2023-09-17 11:45:40,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:40,618 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [944133260] [2023-09-17 11:45:40,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:40,618 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:40,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,622 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:40,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,624 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:40,624 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:40,625 INFO L85 PathProgramCache]: Analyzing trace with hash 1037336243, now seen corresponding path program 1 times [2023-09-17 11:45:40,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:40,625 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1828830429] [2023-09-17 11:45:40,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:40,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:40,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,640 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:40,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:40,654 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:41,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:41,468 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:41,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:41,502 WARN L148 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:45:41,515 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:41,518 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:41,530 INFO L124 PetriNetUnfolderBase]: 11/103 cut-off events. [2023-09-17 11:45:41,531 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-09-17 11:45:41,533 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 11:45:41,533 INFO L82 GeneralOperation]: Start removeDead. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:41,535 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:41,535 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:41,535 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:41,535 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:41,535 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:41,535 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:41,536 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:41,536 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:41,536 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:41,536 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:42,121 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,122 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,122 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,126 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 11:45:42,127 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,127 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:45:42,127 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:42,483 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,483 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,483 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,486 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 11:45:42,486 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,487 INFO L748 eck$LassoCheckResult]: Stem: 74#[$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] 80#[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[] 85#[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[] 88#[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[] 91#[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[] 94#[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[] 97#[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[] 100#[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[] 103#[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] 106#[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] 109#[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] 112#[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] 115#[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] 118#[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] 121#[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] 124#[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] 127#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 130#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 133#[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] 136#[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] 139#[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] 142#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 147#[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] 151#[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] 157#[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] 166#[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] 178#[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] 189#[L747-4, L721]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[] 205#[L747-4, L721-1]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] 226#[L721-1, 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] 263#[L721-1, L746-2]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] 314#[salethreadFINAL, L746-2]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 375#[salethreadEXIT, 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] 439#[salethreadEXIT, 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] 514#[salethreadEXIT, 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] 608#[salethreadEXIT, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 737#[salethreadEXIT, 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] 889#[salethreadEXIT, 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] 1067#[salethreadEXIT, 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] 1260#[salethreadEXIT, 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] 1486#[L747-4, salethreadEXIT, $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] 1828#[L747-5, salethreadEXIT, $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] 2371#[L746-2, salethreadEXIT, $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] 3149#[salethreadEXIT, $Ultimate##0, 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] 4139#[L746-4, salethreadEXIT, $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] 5281#[L746-5, salethreadEXIT, $Ultimate##0]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 6577#[L747, salethreadEXIT, $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] 8104#[L747-1, salethreadEXIT, $Ultimate##0]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] 9979#[L747-1, L721, salethreadEXIT]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[] 12252#[L747-1, 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] 14829#[L747-1, salethreadFINAL, salethreadEXIT]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17447#[L747-1, salethreadEXIT, salethreadEXIT]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] 19824#[L747-2, salethreadEXIT, salethreadEXIT]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] 21671#[L747-3, salethreadEXIT, salethreadEXIT]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 22918#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:42,487 INFO L750 eck$LassoCheckResult]: Loop: 22918#[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[] 22918#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:42,488 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,488 INFO L85 PathProgramCache]: Analyzing trace with hash 1065297753, now seen corresponding path program 1 times [2023-09-17 11:45:42,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,489 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1770104738] [2023-09-17 11:45:42,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:42,541 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2023-09-17 11:45:42,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:42,542 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1770104738] [2023-09-17 11:45:42,542 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1770104738] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:42,542 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:42,543 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:45:42,543 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [143798088] [2023-09-17 11:45:42,543 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:42,543 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:42,544 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,544 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 1 times [2023-09-17 11:45:42,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,544 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396947721] [2023-09-17 11:45:42,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,549 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,554 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:42,556 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:42,557 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:45:42,558 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:45:42,558 INFO L87 Difference]: Start difference. First operand null Second operand has 3 states, 3 states have (on average 15.0) internal successors, (45), 3 states have internal predecessors, (45), 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 11:45:42,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:42,887 INFO L93 Difference]: Finished difference Result 29755 states and 87336 transitions. [2023-09-17 11:45:42,887 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29755 states and 87336 transitions. [2023-09-17 11:45:43,326 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:43,494 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29755 states to 16138 states and 47174 transitions. [2023-09-17 11:45:43,494 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 3900 [2023-09-17 11:45:43,510 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6304 [2023-09-17 11:45:43,511 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16138 states and 47174 transitions. [2023-09-17 11:45:43,547 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:43,547 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16138 states and 47174 transitions. [2023-09-17 11:45:43,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16138 states and 47174 transitions. [2023-09-17 11:45:43,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16138 to 6345. [2023-09-17 11:45:43,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6345 states, 6345 states have (on average 3.0638297872340425) internal successors, (19440), 6344 states have internal predecessors, (19440), 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 11:45:43,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6345 states to 6345 states and 19440 transitions. [2023-09-17 11:45:43,872 INFO L240 hiAutomatonCegarLoop]: Abstraction has 6345 states and 19440 transitions. [2023-09-17 11:45:43,873 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:45:43,873 INFO L428 stractBuchiCegarLoop]: Abstraction has 6345 states and 19440 transitions. [2023-09-17 11:45:43,874 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:45:43,874 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 6345 states and 19440 transitions. [2023-09-17 11:45:43,900 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:43,901 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:43,901 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:43,901 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 11:45:43,902 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:43,903 INFO L748 eck$LassoCheckResult]: Stem: 55622#[$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] 55624#[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[] 57922#[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[] 56424#[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[] 56068#[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[] 56070#[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[] 60406#[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[] 58536#[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[] 54476#[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] 54478#[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] 57604#[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] 57606#[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] 59436#[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] 54614#[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] 54616#[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] 54802#[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] 54804#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 55670#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 59078#[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] 56614#[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] 56616#[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] 56782#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 58810#[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] 56652#[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] 56654#[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] 59728#[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] 57646#[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] 54338#[L747-4, L721]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[] 54340#[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] 56922#[L747-5, L722]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] 56920#[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] 57216#[L723, L746-2]don't care [201] L723-->L724: Formula: (<= 14 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[] 57218#[L724, 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] 59272#[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] 57100#[L746-4, L724]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] 59772#[L746-5, L724]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 56328#[L747, L724]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] 60254#[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] 54810#[L747-2, L724]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] 58202#[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] 60998#[L747-4, $Ultimate##0, L724]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] 60344#[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] 63902#[L746-2, $Ultimate##0, 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] 63904#[L724, $Ultimate##0, 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] 64038#[L746-4, $Ultimate##0, L724]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] 64040#[L746-5, L724, $Ultimate##0]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 64112#[L747, $Ultimate##0, L724]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] 64104#[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] 64096#[L747-2, $Ultimate##0, L724]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] 64088#[L747-3, L724, $Ultimate##0]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 64080#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $Ultimate##0, L724]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] 64082#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $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] 65408#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, $Ultimate##0]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 57196#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, $Ultimate##0]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] 57198#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]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[] 57736#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 55648#[salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 55650#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:43,903 INFO L750 eck$LassoCheckResult]: Loop: 55650#[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[] 55650#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:43,903 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:43,903 INFO L85 PathProgramCache]: Analyzing trace with hash 647298552, now seen corresponding path program 1 times [2023-09-17 11:45:43,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:43,903 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2075273726] [2023-09-17 11:45:43,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:43,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:43,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:43,976 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 11:45:43,976 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:43,976 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2075273726] [2023-09-17 11:45:43,976 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2075273726] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:43,976 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:43,976 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:43,976 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2093341674] [2023-09-17 11:45:43,977 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:43,977 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:43,977 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:43,977 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 2 times [2023-09-17 11:45:43,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:43,977 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [566797998] [2023-09-17 11:45:43,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:43,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:43,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,980 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:43,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,981 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:43,987 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:43,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:43,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:43,987 INFO L87 Difference]: Start difference. First operand 6345 states and 19440 transitions. cyclomatic complexity: 13250 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 11:45:44,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:44,041 INFO L93 Difference]: Finished difference Result 7175 states and 20645 transitions. [2023-09-17 11:45:44,041 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:44,082 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:45:44,118 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 7175 states to 7175 states and 20645 transitions. [2023-09-17 11:45:44,119 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 3784 [2023-09-17 11:45:44,123 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 3784 [2023-09-17 11:45:44,124 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:44,137 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:44,138 INFO L218 hiAutomatonCegarLoop]: Abstraction has 7175 states and 20645 transitions. [2023-09-17 11:45:44,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:44,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7175 to 5740. [2023-09-17 11:45:44,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5740 states, 5740 states have (on average 2.941637630662021) internal successors, (16885), 5739 states have internal predecessors, (16885), 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 11:45:44,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5740 states to 5740 states and 16885 transitions. [2023-09-17 11:45:44,365 INFO L240 hiAutomatonCegarLoop]: Abstraction has 5740 states and 16885 transitions. [2023-09-17 11:45:44,366 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:44,367 INFO L428 stractBuchiCegarLoop]: Abstraction has 5740 states and 16885 transitions. [2023-09-17 11:45:44,367 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:45:44,367 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 5740 states and 16885 transitions. [2023-09-17 11:45:44,389 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:44,389 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:44,390 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:44,394 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 11:45:44,394 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:44,397 INFO L748 eck$LassoCheckResult]: Stem: 75508#[$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] 75510#[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[] 77846#[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[] 76326#[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[] 75970#[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[] 75972#[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[] 80340#[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[] 78496#[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[] 74384#[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] 74386#[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] 77524#[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] 77526#[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] 79454#[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] 74514#[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] 74516#[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] 74712#[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] 74714#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 75562#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 79058#[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] 76524#[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] 76526#[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] 76676#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 78774#[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] 76560#[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] 76562#[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] 79724#[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] 77570#[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] 74198#[L747-4, 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] 74202#[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] 80274#[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] 80272#[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] 77152#[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] 77150#[L721, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 74830#[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] 74828#[L721, 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] 75602#[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] 74160#[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] 74158#[L747-4, L721, $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] 74552#[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] 79566#[L746-2, L721, $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] 79498#[$Ultimate##0, 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] 76902#[L746-4, L721, $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] 76906#[L746-5, $Ultimate##0, L721]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 82338#[L747, L721, $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] 82656#[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] 82654#[L747-2, L721, $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] 74242#[L747-3, $Ultimate##0, L721]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 74246#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721, $Ultimate##0]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] 77544#[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[] 78930#[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] 82370#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721, L723]don't care [211] L723-->L724: Formula: (<= 14 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[] 78072#[L724, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 78762#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 75248#[salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 74732#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, L721]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[] 77014#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 75542#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, salethreadEXIT]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 75534#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:44,397 INFO L750 eck$LassoCheckResult]: Loop: 75534#[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[] 75534#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:44,397 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:44,398 INFO L85 PathProgramCache]: Analyzing trace with hash -963477740, now seen corresponding path program 1 times [2023-09-17 11:45:44,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:44,398 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1997785263] [2023-09-17 11:45:44,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:44,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:44,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:44,508 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 11:45:44,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:44,509 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1997785263] [2023-09-17 11:45:44,509 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1997785263] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:44,509 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:44,509 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:44,509 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [907500956] [2023-09-17 11:45:44,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:44,509 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:44,509 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:44,510 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 3 times [2023-09-17 11:45:44,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:44,510 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [197686711] [2023-09-17 11:45:44,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:44,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:44,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:44,512 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:44,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:44,515 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:44,517 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:44,517 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:44,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:44,517 INFO L87 Difference]: Start difference. First operand 5740 states and 16885 transitions. cyclomatic complexity: 11288 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 11:45:44,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:44,556 INFO L93 Difference]: Finished difference Result 5314 states and 14892 transitions. [2023-09-17 11:45:44,556 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:44,580 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:44,603 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 5314 states to 5314 states and 14892 transitions. [2023-09-17 11:45:44,604 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 2793 [2023-09-17 11:45:44,608 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2793 [2023-09-17 11:45:44,608 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:44,615 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:44,616 INFO L218 hiAutomatonCegarLoop]: Abstraction has 5314 states and 14892 transitions. [2023-09-17 11:45:44,714 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:44,780 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5314 to 4856. [2023-09-17 11:45:44,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4856 states, 4856 states have (on average 2.830724876441516) internal successors, (13746), 4855 states have internal predecessors, (13746), 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 11:45:44,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4856 states to 4856 states and 13746 transitions. [2023-09-17 11:45:44,800 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4856 states and 13746 transitions. [2023-09-17 11:45:44,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:44,801 INFO L428 stractBuchiCegarLoop]: Abstraction has 4856 states and 13746 transitions. [2023-09-17 11:45:44,801 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 11:45:44,801 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4856 states and 13746 transitions. [2023-09-17 11:45:44,815 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:44,815 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:44,815 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:44,816 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 11:45:44,816 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:44,817 INFO L748 eck$LassoCheckResult]: Stem: 92161#[$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] 92163#[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[] 94319#[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[] 92911#[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[] 92577#[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[] 92579#[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[] 96615#[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[] 94887#[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[] 91131#[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] 91133#[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] 94035#[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] 94037#[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] 95769#[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] 91249#[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] 91251#[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] 91427#[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] 91429#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 92211#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 95431#[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] 93093#[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] 93095#[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] 93257#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 95173#[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] 93135#[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] 93137#[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] 96073#[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] 94067#[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] 90985#[L747-4, L721]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[] 90987#[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] 93367#[L747-5, L722]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] 93369#[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] 94021#[L723, L746-2]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 98389#[L728, 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] 91945#[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] 91947#[L746-4, L728]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] 93987#[L746-5, L728]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 93983#[L747, L728]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] 95539#[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] 96347#[L747-2, L728]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] 93633#[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] 97083#[L728, L747-4, $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] 97093#[L728, L747-5, $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] 97313#[L746-2, L728, $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] 97303#[L728, $Ultimate##0, 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] 97301#[L728, L746-4, $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] 97293#[L746-5, L728, $Ultimate##0]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 97287#[L728, L747, $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] 97289#[L747-1, L728, $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] 93915#[L747-2, L728, $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] 93917#[L747-3, L728, $Ultimate##0]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 95599#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L728, $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] 95403#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $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] 95405#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, $Ultimate##0]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 93663#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, $Ultimate##0]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] 93661#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]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[] 91509#[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] 93049#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, L723]don't care [211] L723-->L724: Formula: (<= 14 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[] 91987#[L724, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 94141#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 92187#[salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 92189#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:44,817 INFO L750 eck$LassoCheckResult]: Loop: 92189#[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[] 92189#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:44,818 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:44,818 INFO L85 PathProgramCache]: Analyzing trace with hash -264808093, now seen corresponding path program 1 times [2023-09-17 11:45:44,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:44,818 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472607979] [2023-09-17 11:45:44,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:44,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:44,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:44,922 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 11:45:44,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:44,922 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472607979] [2023-09-17 11:45:44,922 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1472607979] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:45:44,922 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1817429020] [2023-09-17 11:45:44,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:44,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:45:44,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:45:44,925 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 11:45:44,926 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 11:45:44,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:44,999 INFO L262 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:45:45,001 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:45:45,077 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 11:45:45,077 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:45:45,156 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 11:45:45,156 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1817429020] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:45:45,156 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:45:45,156 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:45:45,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710599735] [2023-09-17 11:45:45,157 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:45:45,157 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:45,157 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:45,157 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 4 times [2023-09-17 11:45:45,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:45,158 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [103711607] [2023-09-17 11:45:45,158 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:45,158 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:45,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,160 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:45,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,161 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:45,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:45,163 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:45:45,163 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:45:45,164 INFO L87 Difference]: Start difference. First operand 4856 states and 13746 transitions. cyclomatic complexity: 9012 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 11:45:45,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:45,347 INFO L93 Difference]: Finished difference Result 5468 states and 14890 transitions. [2023-09-17 11:45:45,347 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:45,373 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:45:45,395 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 5468 states to 5468 states and 14890 transitions. [2023-09-17 11:45:45,396 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 2885 [2023-09-17 11:45:45,398 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2885 [2023-09-17 11:45:45,399 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:45,406 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:45,407 INFO L218 hiAutomatonCegarLoop]: Abstraction has 5468 states and 14890 transitions. [2023-09-17 11:45:45,414 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:45,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5468 to 4329. [2023-09-17 11:45:45,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4329 states, 4329 states have (on average 2.7673827673827676) internal successors, (11980), 4328 states have internal predecessors, (11980), 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 11:45:45,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4329 states to 4329 states and 11980 transitions. [2023-09-17 11:45:45,495 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4329 states and 11980 transitions. [2023-09-17 11:45:45,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2023-09-17 11:45:45,496 INFO L428 stractBuchiCegarLoop]: Abstraction has 4329 states and 11980 transitions. [2023-09-17 11:45:45,496 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 11:45:45,496 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4329 states and 11980 transitions. [2023-09-17 11:45:45,512 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:45,512 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:45,512 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:45,513 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 11:45:45,513 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:45,514 INFO L748 eck$LassoCheckResult]: Stem: 107648#[$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] 107650#[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[] 109622#[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[] 108320#[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[] 108040#[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[] 108042#[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[] 111696#[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[] 110206#[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[] 106702#[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] 106704#[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] 109340#[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] 109342#[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] 110970#[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] 106836#[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] 106838#[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] 107002#[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] 107004#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 107690#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 110708#[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] 108506#[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] 108508#[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] 108658#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 110464#[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] 108544#[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] 108546#[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] 111230#[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] 109372#[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] 106548#[L747-4, L721]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[] 106550#[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] 108764#[L747-5, L722]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] 108766#[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] 109000#[L723, L746-2]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 109002#[L728, 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] 109832#[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] 107478#[L746-4, L728]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] 109306#[L746-5, L728]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 109302#[L747, L728]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] 110800#[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] 108974#[L747-2, L728]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] 108976#[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] 110474#[L728, L747-4, $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] 112124#[L728, L747-5, $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] 112120#[L746-2, L728, $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] 112114#[L728, $Ultimate##0, 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] 110740#[L728, L746-4, $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] 107398#[L746-5, L728, $Ultimate##0]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 107400#[L728, L747, $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] 109826#[L747-1, L728, $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] 113442#[L747-2, L728, $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] 113438#[L747-3, L728, $Ultimate##0]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 113434#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L728, $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] 113432#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, $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] 111940#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL, $Ultimate##0]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 108996#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, $Ultimate##0]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] 108994#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]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[] 107088#[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] 106480#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, L723]don't care [212] L723-->L728: Formula: (< v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 108286#[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] 109442#[L721-1, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 107678#[salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 107676#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:45,514 INFO L750 eck$LassoCheckResult]: Loop: 107676#[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[] 107676#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:45:45,515 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:45,515 INFO L85 PathProgramCache]: Analyzing trace with hash -264777341, now seen corresponding path program 1 times [2023-09-17 11:45:45,515 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:45,518 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1484939474] [2023-09-17 11:45:45,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:45,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:45,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,535 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:45,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,558 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:45,559 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:45,559 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 5 times [2023-09-17 11:45:45,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:45,560 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1860656192] [2023-09-17 11:45:45,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:45,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:45,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,562 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:45,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,564 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:45,565 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:45,565 INFO L85 PathProgramCache]: Analyzing trace with hash 381837238, now seen corresponding path program 1 times [2023-09-17 11:45:45,565 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:45,565 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [370394149] [2023-09-17 11:45:45,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:45,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:45,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,577 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:45,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,594 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:46,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:46,537 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:46,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:46,561 WARN L148 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:45:46,574 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:46,579 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:46,609 INFO L124 PetriNetUnfolderBase]: 15/135 cut-off events. [2023-09-17 11:45:46,609 INFO L125 PetriNetUnfolderBase]: For 7/7 co-relation queries the response was YES. [2023-09-17 11:45:46,610 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 11:45:46,610 INFO L82 GeneralOperation]: Start removeDead. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:46,612 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:46,612 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:46,612 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:46,612 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:46,612 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:46,612 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:46,612 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:46,612 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:46,612 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:46,612 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:58,740 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:58,740 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:58,740 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:58,741 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 11:45:58,741 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:58,741 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:45:58,741 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:09,075 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:09,075 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:09,075 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:09,079 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 11:46:09,079 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:09,081 INFO L748 eck$LassoCheckResult]: Stem: 87#[$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] 93#[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[] 98#[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[] 101#[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[] 104#[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[] 107#[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[] 110#[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[] 113#[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[] 116#[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] 119#[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] 122#[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] 125#[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] 128#[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] 131#[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] 134#[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] 137#[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] 140#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 143#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 146#[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] 149#[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] 152#[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] 155#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 160#[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] 164#[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] 170#[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] 179#[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] 190#[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] 199#[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] 212#[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] 231#[L746-2, L721]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[] 266#[L746-2, L721-1]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] 316#[L746-3, 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] 389#[L746-3, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 480#[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] 589#[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] 728#[L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 915#[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] 1137#[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] 1399#[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] 1663#[L747-3, salethreadEXIT]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] 1917#[L747-4, salethreadEXIT, $Ultimate##0]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] 2259#[L747-4, L721, salethreadEXIT]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[] 2772#[L721-1, L747-4, salethreadEXIT]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] 3490#[L721-1, L747-5, salethreadEXIT]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] 4425#[L721-1, salethreadEXIT, L746-2]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] 5548#[salethreadEXIT, salethreadFINAL, L746-2]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 6849#[salethreadEXIT, salethreadEXIT, 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] 8389#[L746-3, salethreadEXIT, salethreadEXIT]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] 10303#[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] 12671#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 15520#[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] 18828#[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] 22954#[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] 28516#[L747-3, salethreadEXIT, salethreadEXIT]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] 36509#[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] 47936#[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] 63129#[salethreadEXIT, salethreadEXIT, L746-2, $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] 81889#[salethreadEXIT, salethreadEXIT, L746-3, $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] 104074#[salethreadEXIT, salethreadEXIT, L721, L746-3]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[] 130015#[L721-1, 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] 160701#[L721-1, salethreadEXIT, 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] 196917#[salethreadEXIT, L721-1, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 238236#[L721-1, salethreadEXIT, 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] 282180#[salethreadEXIT, L721-1, salethreadEXIT, 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] 324948#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 362089#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 391017#[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] 410822#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 422918#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:46:09,081 INFO L750 eck$LassoCheckResult]: Loop: 422918#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 422918#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:46:09,081 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:09,081 INFO L85 PathProgramCache]: Analyzing trace with hash -1276582200, now seen corresponding path program 1 times [2023-09-17 11:46:09,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:09,082 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [83922877] [2023-09-17 11:46:09,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:09,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:09,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:46:09,131 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 11:46:09,131 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:46:09,131 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [83922877] [2023-09-17 11:46:09,131 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [83922877] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:46:09,131 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:46:09,131 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:46:09,131 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1061186495] [2023-09-17 11:46:09,132 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:46:09,132 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:46:09,132 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:09,132 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 1 times [2023-09-17 11:46:09,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:09,132 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [930711562] [2023-09-17 11:46:09,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:09,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:09,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:09,135 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:09,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:09,136 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:09,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:46:09,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:46:09,147 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:46:09,147 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 11:46:19,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:46:19,022 INFO L93 Difference]: Finished difference Result 610157 states and 2476914 transitions. [2023-09-17 11:46:19,022 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 610157 states and 2476914 transitions. [2023-09-17 11:46:34,244 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:46:39,509 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 610157 states to 333039 states and 1347274 transitions. [2023-09-17 11:46:39,509 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46280 [2023-09-17 11:46:39,827 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63752 [2023-09-17 11:46:39,828 INFO L73 IsDeterministic]: Start isDeterministic. Operand 333039 states and 1347274 transitions. [2023-09-17 11:46:40,386 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:46:40,387 INFO L218 hiAutomatonCegarLoop]: Abstraction has 333039 states and 1347274 transitions. [2023-09-17 11:46:41,324 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 333039 states and 1347274 transitions. [2023-09-17 11:46:46,158 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 333039 to 97019. [2023-09-17 11:46:46,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97019 states, 97019 states have (on average 4.12744926251559) internal successors, (400441), 97018 states have internal predecessors, (400441), 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 11:46:47,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97019 states to 97019 states and 400441 transitions. [2023-09-17 11:46:47,199 INFO L240 hiAutomatonCegarLoop]: Abstraction has 97019 states and 400441 transitions. [2023-09-17 11:46:47,200 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:46:47,202 INFO L428 stractBuchiCegarLoop]: Abstraction has 97019 states and 400441 transitions. [2023-09-17 11:46:47,202 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:46:47,202 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 97019 states and 400441 transitions. [2023-09-17 11:46:48,114 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:48,114 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:48,114 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:48,115 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 11:46:48,115 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:48,116 INFO L748 eck$LassoCheckResult]: Stem: 1091459#[$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] 1089411#[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[] 1051293#[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[] 1047707#[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[] 1047709#[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[] 1080099#[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[] 1080101#[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[] 1086355#[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[] 1044353#[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] 1044355#[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] 1052415#[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] 1080395#[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] 1054395#[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] 1054397#[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] 1070373#[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] 1106757#[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] 1106759#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 1096163#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1087983#[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] 1047985#[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] 1047987#[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] 1048501#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1065795#[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] 1065797#[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] 1055035#[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] 1055037#[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] 1097175#[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] 1091867#[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] 1056445#[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] 1056447#[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[] 1063453#[L746-2, L722]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] 1063455#[L746-3, 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] 1065461#[L723, L746-3]don't care [298] L723-->L724: Formula: (<= 14 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[] 1058051#[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] 1058053#[L746-3, 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] 1120515#[L746-3, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1106933#[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] 1106935#[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] 1094275#[L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1046937#[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] 1061403#[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] 1120757#[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] 1120751#[L747-3, salethreadEXIT]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] 1120747#[L747-4, salethreadEXIT, $Ultimate##0]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] 1120185#[L747-4, L721, salethreadEXIT]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[] 1090973#[L721-1, L747-4, salethreadEXIT]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] 1090975#[L721-1, L747-5, salethreadEXIT]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] 1171597#[L721-1, salethreadEXIT, L746-2]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] 1179215#[salethreadEXIT, salethreadFINAL, L746-2]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1065643#[salethreadEXIT, salethreadEXIT, 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] 1104267#[L746-3, salethreadEXIT, salethreadEXIT]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] 1179727#[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] 1085989#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1179657#[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] 1087851#[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] 1109981#[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] 1236719#[L747-3, salethreadEXIT, salethreadEXIT]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] 1118199#[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] 1177057#[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] 1047967#[salethreadEXIT, salethreadEXIT, L746-2, $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] 1070097#[salethreadEXIT, salethreadEXIT, L746-3, $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] 1237473#[salethreadEXIT, salethreadEXIT, L721, L746-3]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[] 1093009#[L721-1, 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] 1236983#[L721-1, salethreadEXIT, 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] 1088477#[salethreadEXIT, L721-1, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1051923#[L721-1, salethreadEXIT, 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] 1118673#[salethreadEXIT, L721-1, salethreadEXIT, 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] 1237919#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1051815#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 1051817#[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] 1046407#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1076093#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:46:48,116 INFO L750 eck$LassoCheckResult]: Loop: 1076093#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1076093#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:46:48,117 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:48,117 INFO L85 PathProgramCache]: Analyzing trace with hash 1028932350, now seen corresponding path program 1 times [2023-09-17 11:46:48,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:48,117 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2136872517] [2023-09-17 11:46:48,117 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:48,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:48,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:46:48,193 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 11:46:48,193 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:46:48,194 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2136872517] [2023-09-17 11:46:48,194 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2136872517] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:46:48,195 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:46:48,195 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:46:48,195 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [438275856] [2023-09-17 11:46:48,196 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:46:48,196 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:46:48,196 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:48,196 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 2 times [2023-09-17 11:46:48,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:48,198 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1523419201] [2023-09-17 11:46:48,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:48,198 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:48,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:48,201 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:48,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:48,203 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:48,205 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:46:48,205 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:46:48,205 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:46:48,206 INFO L87 Difference]: Start difference. First operand 97019 states and 400441 transitions. cyclomatic complexity: 306191 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 11:46:49,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:46:49,754 INFO L93 Difference]: Finished difference Result 137551 states and 536489 transitions. [2023-09-17 11:46:49,754 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 137551 states and 536489 transitions. [2023-09-17 11:46:52,223 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:46:53,721 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 137551 states to 137551 states and 536489 transitions. [2023-09-17 11:46:53,721 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 56165 [2023-09-17 11:46:53,803 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 56165 [2023-09-17 11:46:53,803 INFO L73 IsDeterministic]: Start isDeterministic. Operand 137551 states and 536489 transitions. [2023-09-17 11:46:54,241 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:46:54,241 INFO L218 hiAutomatonCegarLoop]: Abstraction has 137551 states and 536489 transitions. [2023-09-17 11:46:54,472 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137551 states and 536489 transitions. [2023-09-17 11:46:56,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137551 to 98327. [2023-09-17 11:46:56,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98327 states, 98327 states have (on average 3.9985151586034355) internal successors, (393162), 98326 states have internal predecessors, (393162), 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 11:46:57,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98327 states to 98327 states and 393162 transitions. [2023-09-17 11:46:57,553 INFO L240 hiAutomatonCegarLoop]: Abstraction has 98327 states and 393162 transitions. [2023-09-17 11:46:57,553 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:46:57,553 INFO L428 stractBuchiCegarLoop]: Abstraction has 98327 states and 393162 transitions. [2023-09-17 11:46:57,553 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:46:57,553 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 98327 states and 393162 transitions. [2023-09-17 11:46:58,640 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:58,640 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:58,640 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:58,641 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 11:46:58,641 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:58,642 INFO L748 eck$LassoCheckResult]: Stem: 1423451#[$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] 1421347#[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[] 1382593#[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[] 1379151#[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[] 1379153#[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[] 1411861#[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[] 1411863#[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[] 1418209#[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[] 1375957#[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] 1375959#[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] 1383761#[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] 1412165#[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] 1385739#[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] 1385741#[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] 1401797#[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] 1439707#[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] 1439709#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 1428425#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1419869#[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] 1379443#[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] 1379445#[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] 1379921#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1397163#[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] 1397165#[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] 1386321#[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] 1386323#[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] 1429501#[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] 1423833#[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] 1387659#[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] 1387661#[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] 1401815#[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] 1456077#[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] 1454217#[L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1384031#[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] 1439359#[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] 1451707#[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] 1454599#[L747-3, L721]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] 1433127#[L747-4, $Ultimate##0, L721]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] 1406389#[L747-4, L721, L721]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[] 1454595#[L747-4, L722, L721]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] 1435941#[L747-5, L721, L722]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] 1383407#[L746-2, L722, L721]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] 1383409#[L723, L721, L746-2]don't care [278] L723-->L724: Formula: (<= 14 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[] 1383521#[L724, 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] 1409383#[L746-3, L724, L721]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] 1386869#[L721-1, L746-3, L721]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] 1408191#[L746-3, salethreadFINAL, L721]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[] 1400167#[L746-3, salethreadFINAL, L721-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1379483#[L746-3, L721-1, salethreadEXIT]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] 1542233#[L746-3, salethreadFINAL, salethreadEXIT]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1543665#[L746-3, salethreadEXIT, salethreadEXIT]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] 1543659#[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] 1543371#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1527729#[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] 1527725#[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] 1526897#[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] 1557209#[L747-3, salethreadEXIT, salethreadEXIT]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] 1526571#[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] 1546861#[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] 1441893#[salethreadEXIT, salethreadEXIT, L746-2, $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] 1526593#[salethreadEXIT, salethreadEXIT, L746-3, $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] 1528371#[salethreadEXIT, salethreadEXIT, L721, L746-3]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[] 1528343#[L721-1, 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] 1528345#[L721-1, salethreadEXIT, 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] 1385643#[salethreadEXIT, L721-1, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1385645#[L721-1, salethreadEXIT, 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] 1398325#[salethreadEXIT, L721-1, salethreadEXIT, 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] 1385195#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1383147#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 1383149#[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] 1377993#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1407763#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:46:58,642 INFO L750 eck$LassoCheckResult]: Loop: 1407763#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1407763#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:46:58,642 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:58,643 INFO L85 PathProgramCache]: Analyzing trace with hash -547619792, now seen corresponding path program 1 times [2023-09-17 11:46:58,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:58,643 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2058813272] [2023-09-17 11:46:58,643 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:58,643 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:58,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:46:58,690 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 11:46:58,690 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:46:58,690 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2058813272] [2023-09-17 11:46:58,690 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2058813272] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:46:58,690 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:46:58,690 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:46:58,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [224880232] [2023-09-17 11:46:58,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:46:58,691 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:46:58,691 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:58,691 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 3 times [2023-09-17 11:46:58,691 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:58,691 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [607521659] [2023-09-17 11:46:58,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:58,691 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:58,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:58,693 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:58,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:58,695 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:58,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:46:58,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:46:58,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:46:58,697 INFO L87 Difference]: Start difference. First operand 98327 states and 393162 transitions. cyclomatic complexity: 297650 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 11:46:59,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:46:59,580 INFO L93 Difference]: Finished difference Result 113639 states and 435276 transitions. [2023-09-17 11:46:59,580 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:01,428 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:47:02,538 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 113639 states to 113639 states and 435276 transitions. [2023-09-17 11:47:02,538 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44701 [2023-09-17 11:47:02,605 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44701 [2023-09-17 11:47:02,605 INFO L73 IsDeterministic]: Start isDeterministic. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:02,917 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:02,918 INFO L218 hiAutomatonCegarLoop]: Abstraction has 113639 states and 435276 transitions. [2023-09-17 11:47:03,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:04,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113639 to 88588. [2023-09-17 11:47:05,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88588 states, 88588 states have (on average 3.905630559443717) internal successors, (345992), 88587 states have internal predecessors, (345992), 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 11:47:05,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88588 states to 88588 states and 345992 transitions. [2023-09-17 11:47:05,823 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88588 states and 345992 transitions. [2023-09-17 11:47:05,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:05,824 INFO L428 stractBuchiCegarLoop]: Abstraction has 88588 states and 345992 transitions. [2023-09-17 11:47:05,824 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 11:47:05,824 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88588 states and 345992 transitions. [2023-09-17 11:47:06,821 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:06,821 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:06,821 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:06,822 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 11:47:06,822 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:06,823 INFO L748 eck$LassoCheckResult]: Stem: 1730643#[$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] 1728615#[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[] 1692337#[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[] 1689185#[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[] 1689187#[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[] 1719663#[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[] 1719665#[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[] 1725541#[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[] 1686211#[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] 1686213#[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] 1693431#[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] 1719997#[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] 1695211#[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] 1695213#[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] 1710309#[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] 1745441#[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] 1745443#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 1735011#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1727159#[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] 1689457#[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] 1689459#[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] 1689901#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1705869#[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] 1705871#[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] 1695775#[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] 1695777#[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] 1735953#[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] 1730975#[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] 1697025#[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] 1697027#[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] 1759827#[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] 1759823#[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] 1759819#[L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1693711#[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] 1745115#[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] 1756403#[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] 1719133#[L747-3, L721]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] 1714551#[L747-4, $Ultimate##0, L721]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] 1697093#[L747-4, L721, L721]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] 1697097#[L747-5, L721, 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] 1732113#[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] 1732111#[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] 1739949#[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] 1744927#[L721, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1708717#[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] 1708713#[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] 1742279#[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] 1699597#[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] 1761467#[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] 1762545#[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] 1765053#[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] 1765049#[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] 1715849#[L721, L721, L721, L746-3]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[] 1728423#[L721, L722, 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] 1690029#[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] 1757815#[L721, L722, L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1764341#[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] 1765437#[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] 1738483#[L721, L721, L723, L747-1]don't care [288] L723-->L724: Formula: (<= 14 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[] 1760575#[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] 1720333#[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[] 1732749#[L721-1, L721, L747-1, L721-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] 1738055#[L721-1, salethreadFINAL, L721, 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[] 1686271#[L721-1, salethreadFINAL, L747-1, L721-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1717081#[L721-1, salethreadEXIT, 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] 1751719#[L721-1, salethreadFINAL, salethreadEXIT, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1688373#[salethreadEXIT, L721-1, salethreadEXIT, 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] 1694727#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1692821#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 1692823#[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] 1688089#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1715789#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:06,823 INFO L750 eck$LassoCheckResult]: Loop: 1715789#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1715789#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:06,824 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:06,824 INFO L85 PathProgramCache]: Analyzing trace with hash 552590324, now seen corresponding path program 1 times [2023-09-17 11:47:06,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:06,824 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [444766171] [2023-09-17 11:47:06,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:06,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:06,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:06,869 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 11:47:06,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:06,869 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [444766171] [2023-09-17 11:47:06,869 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [444766171] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:47:06,869 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:47:06,869 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:47:06,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1548501089] [2023-09-17 11:47:06,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:47:06,870 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:06,870 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:06,870 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 4 times [2023-09-17 11:47:06,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:06,870 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1507300686] [2023-09-17 11:47:06,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:06,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:06,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:06,872 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:06,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:06,873 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:06,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:06,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:47:06,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:47:06,875 INFO L87 Difference]: Start difference. First operand 88588 states and 345992 transitions. cyclomatic complexity: 259991 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 11:47:07,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:07,730 INFO L93 Difference]: Finished difference Result 93587 states and 356302 transitions. [2023-09-17 11:47:07,730 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:09,077 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:47:10,033 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 93587 states to 93587 states and 356302 transitions. [2023-09-17 11:47:10,034 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36718 [2023-09-17 11:47:10,086 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36718 [2023-09-17 11:47:10,086 INFO L73 IsDeterministic]: Start isDeterministic. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:10,224 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:10,224 INFO L218 hiAutomatonCegarLoop]: Abstraction has 93587 states and 356302 transitions. [2023-09-17 11:47:10,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:11,810 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93587 to 76455. [2023-09-17 11:47:11,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76455 states, 76455 states have (on average 3.8436858282649924) internal successors, (293869), 76454 states have internal predecessors, (293869), 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 11:47:12,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76455 states to 76455 states and 293869 transitions. [2023-09-17 11:47:12,572 INFO L240 hiAutomatonCegarLoop]: Abstraction has 76455 states and 293869 transitions. [2023-09-17 11:47:12,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:12,575 INFO L428 stractBuchiCegarLoop]: Abstraction has 76455 states and 293869 transitions. [2023-09-17 11:47:12,575 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 11:47:12,575 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 76455 states and 293869 transitions. [2023-09-17 11:47:13,425 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:13,425 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:13,425 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:13,426 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 11:47:13,426 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:13,427 INFO L748 eck$LassoCheckResult]: Stem: 2000265#[$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] 1998227#[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[] 1963069#[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[] 1959907#[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[] 1959909#[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[] 1989535#[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[] 1989537#[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[] 1995267#[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[] 1956969#[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] 1956971#[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] 1964103#[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] 1989819#[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] 1965839#[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] 1965841#[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] 1980499#[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] 2015065#[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] 2015067#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 2004677#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1996795#[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] 1960199#[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] 1960201#[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] 1960669#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1976247#[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] 1976249#[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] 1966387#[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] 1966389#[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] 2005565#[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] 2000627#[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] 1967593#[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] 1967595#[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[] 1980509#[L746-2, L722]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] 2028151#[L746-3, 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] 1975909#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2019465#[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] 2031379#[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] 2031377#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2031375#[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] 1970477#[L747-1, L728]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] 1970473#[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] 1971719#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1972149#[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] 1988093#[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] 2053487#[L747-3, salethreadEXIT]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] 2027073#[L747-4, salethreadEXIT, $Ultimate##0]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] 2027075#[L747-4, L721, salethreadEXIT]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[] 1961985#[L747-4, salethreadEXIT, L722]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] 1961987#[L747-5, salethreadEXIT, L722]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] 2022727#[salethreadEXIT, 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] 2035731#[salethreadEXIT, L723, L746-2]don't care [278] L723-->L724: Formula: (<= 14 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[] 1976121#[salethreadEXIT, L724, 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] 1971019#[L746-3, salethreadEXIT, L724]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] 2024319#[L721-1, L746-3, 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] 1999323#[L746-3, salethreadEXIT, salethreadFINAL]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2026727#[L746-3, salethreadEXIT, salethreadEXIT]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] 2017327#[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] 1994941#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1990603#[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] 1996643#[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] 2047229#[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] 2047225#[L747-3, salethreadEXIT, salethreadEXIT]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] 2041453#[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] 2047223#[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] 2060743#[salethreadEXIT, salethreadEXIT, L746-2, $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] 2032031#[salethreadEXIT, salethreadEXIT, L746-3, $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] 2054675#[salethreadEXIT, salethreadEXIT, L721, L746-3]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[] 2004427#[L721-1, 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] 1981351#[L721-1, salethreadEXIT, 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] 1965735#[salethreadEXIT, L721-1, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 1965737#[L721-1, salethreadEXIT, 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] 1977267#[salethreadEXIT, L721-1, salethreadEXIT, 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] 1965293#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1963561#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 1963563#[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] 1958793#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1985911#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:13,427 INFO L750 eck$LassoCheckResult]: Loop: 1985911#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1985911#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:13,427 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:13,427 INFO L85 PathProgramCache]: Analyzing trace with hash 1765036678, now seen corresponding path program 1 times [2023-09-17 11:47:13,427 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:13,427 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1769260047] [2023-09-17 11:47:13,427 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:13,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:13,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:13,495 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 11:47:13,495 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:13,496 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1769260047] [2023-09-17 11:47:13,496 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1769260047] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:13,496 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [768859524] [2023-09-17 11:47:13,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:13,496 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:13,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:13,527 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 11:47:13,533 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 11:47:13,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:13,607 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:13,609 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:13,647 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 11:47:13,647 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:13,701 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 11:47:13,702 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [768859524] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:13,702 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:13,702 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:13,703 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1331241860] [2023-09-17 11:47:13,703 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:13,704 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:13,704 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:13,704 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 5 times [2023-09-17 11:47:13,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:13,704 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1308829569] [2023-09-17 11:47:13,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:13,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:13,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:13,707 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:13,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:13,708 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:13,710 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:13,710 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:13,710 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:13,711 INFO L87 Difference]: Start difference. First operand 76455 states and 293869 transitions. cyclomatic complexity: 219620 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 11:47:14,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:14,999 INFO L93 Difference]: Finished difference Result 133523 states and 482978 transitions. [2023-09-17 11:47:14,999 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:17,193 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:18,433 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 133523 states to 133523 states and 482978 transitions. [2023-09-17 11:47:18,433 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52581 [2023-09-17 11:47:18,501 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52581 [2023-09-17 11:47:18,502 INFO L73 IsDeterministic]: Start isDeterministic. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:18,885 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:18,885 INFO L218 hiAutomatonCegarLoop]: Abstraction has 133523 states and 482978 transitions. [2023-09-17 11:47:19,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:20,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133523 to 74350. [2023-09-17 11:47:20,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74350 states, 74350 states have (on average 3.779340954942838) internal successors, (280994), 74349 states have internal predecessors, (280994), 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 11:47:21,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74350 states to 74350 states and 280994 transitions. [2023-09-17 11:47:21,660 INFO L240 hiAutomatonCegarLoop]: Abstraction has 74350 states and 280994 transitions. [2023-09-17 11:47:21,661 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:21,662 INFO L428 stractBuchiCegarLoop]: Abstraction has 74350 states and 280994 transitions. [2023-09-17 11:47:21,662 INFO L335 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2023-09-17 11:47:21,662 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 74350 states and 280994 transitions. [2023-09-17 11:47:22,183 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:22,183 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:22,183 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:22,184 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 11:47:22,184 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:22,185 INFO L748 eck$LassoCheckResult]: Stem: 2283237#[$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] 2281411#[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[] 2249397#[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[] 2246549#[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[] 2246551#[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[] 2273657#[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[] 2273659#[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[] 2278883#[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[] 2243843#[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] 2243845#[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] 2250315#[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] 2273887#[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] 2251919#[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] 2251921#[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] 2265359#[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] 2296767#[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] 2296769#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 2287129#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2280221#[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] 2246783#[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] 2246785#[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] 2247201#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2261381#[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] 2261383#[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] 2252449#[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] 2252451#[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] 2287925#[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] 2283561#[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] 2253479#[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] 2253481#[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[] 2265361#[L746-2, L722]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] 2310359#[L746-3, 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] 2261101#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2300725#[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] 2300727#[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] 2311197#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2311195#[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] 2256209#[L747-1, L728]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] 2256205#[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] 2257353#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2257717#[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] 2272341#[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] 2323311#[L747-3, salethreadEXIT]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] 2307823#[L747-4, salethreadEXIT, $Ultimate##0]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] 2307825#[L747-4, L721, salethreadEXIT]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] 2309007#[L747-5, L721, salethreadEXIT]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] 2286783#[L721, salethreadEXIT, 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] 2251649#[L721, L746-3, salethreadEXIT]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] 2244779#[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] 2249651#[L721, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2265849#[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] 2305261#[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] 2284123#[L721, 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] 2252887#[L721, L747-3, salethreadEXIT]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] 2252891#[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] 2282485#[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] 2324331#[L721, salethreadEXIT, L746-2, $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] 2324323#[L721, salethreadEXIT, L746-3, $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] 2257533#[L721, salethreadEXIT, L721, L746-3]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[] 2327665#[L721, salethreadEXIT, L746-3, 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] 2295803#[L721, salethreadEXIT, L746-4, L722]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] 2318077#[L721, salethreadEXIT, L746-5, L722]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2319095#[L721, salethreadEXIT, L747, L722]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] 2320447#[L721, salethreadEXIT, L747-1, L722]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] 2320413#[L721, salethreadEXIT, L723, L747-1]don't care [288] L723-->L724: Formula: (<= 14 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[] 2320415#[L721, salethreadEXIT, L724, 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] 2335297#[L721, salethreadEXIT, L747-1, L721-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[] 2374205#[salethreadEXIT, L721-1, L747-1, L721-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] 2288407#[salethreadEXIT, L721-1, salethreadFINAL, L747-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2245773#[salethreadEXIT, L721-1, salethreadEXIT, 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] 2251449#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2249843#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 2249845#[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] 2245481#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2270213#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:22,185 INFO L750 eck$LassoCheckResult]: Loop: 2270213#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2270213#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:22,186 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:22,186 INFO L85 PathProgramCache]: Analyzing trace with hash -765622130, now seen corresponding path program 1 times [2023-09-17 11:47:22,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:22,186 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [915300568] [2023-09-17 11:47:22,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:22,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:22,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:22,238 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 11:47:22,239 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:22,239 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [915300568] [2023-09-17 11:47:22,239 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [915300568] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:22,239 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1004914058] [2023-09-17 11:47:22,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:22,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:22,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:22,241 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 11:47:22,242 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 11:47:22,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:22,571 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:22,573 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:22,622 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 11:47:22,622 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:22,702 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 11:47:22,702 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1004914058] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:22,702 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:22,702 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:22,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1332093060] [2023-09-17 11:47:22,702 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:22,702 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:22,704 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:22,704 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 6 times [2023-09-17 11:47:22,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:22,704 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [801496749] [2023-09-17 11:47:22,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:22,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:22,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:22,707 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:22,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:22,708 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:22,709 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:22,710 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:22,710 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:22,710 INFO L87 Difference]: Start difference. First operand 74350 states and 280994 transitions. cyclomatic complexity: 208819 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 11:47:23,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:23,844 INFO L93 Difference]: Finished difference Result 128965 states and 457813 transitions. [2023-09-17 11:47:23,844 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:25,698 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:26,916 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 128965 states to 128965 states and 457813 transitions. [2023-09-17 11:47:26,916 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51807 [2023-09-17 11:47:26,994 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51807 [2023-09-17 11:47:26,994 INFO L73 IsDeterministic]: Start isDeterministic. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:27,171 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:27,172 INFO L218 hiAutomatonCegarLoop]: Abstraction has 128965 states and 457813 transitions. [2023-09-17 11:47:27,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:29,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128965 to 70996. [2023-09-17 11:47:29,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70996 states, 70996 states have (on average 3.678080455236915) internal successors, (261129), 70995 states have internal predecessors, (261129), 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 11:47:29,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70996 states to 70996 states and 261129 transitions. [2023-09-17 11:47:29,706 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70996 states and 261129 transitions. [2023-09-17 11:47:29,706 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:29,706 INFO L428 stractBuchiCegarLoop]: Abstraction has 70996 states and 261129 transitions. [2023-09-17 11:47:29,706 INFO L335 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2023-09-17 11:47:29,706 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70996 states and 261129 transitions. [2023-09-17 11:47:30,489 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:30,489 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:30,489 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:30,490 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 11:47:30,490 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:30,491 INFO L748 eck$LassoCheckResult]: Stem: 2559635#[$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] 2557949#[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[] 2527367#[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[] 2524551#[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[] 2524553#[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[] 2550305#[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[] 2550307#[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[] 2555375#[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[] 2521969#[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] 2521971#[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] 2528301#[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] 2550557#[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] 2529785#[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] 2529787#[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] 2542403#[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] 2572367#[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] 2572369#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 2563311#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2556705#[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] 2524815#[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] 2524817#[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] 2525229#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2538813#[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] 2538815#[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] 2530291#[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] 2530293#[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] 2564111#[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] 2559913#[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] 2531349#[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] 2531351#[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] 2584649#[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] 2584637#[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] 2583741#[L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2528519#[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] 2572095#[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] 2549865#[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] 2549867#[L747-3, L721]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] 2567033#[L747-4, $Ultimate##0, L721]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] 2531403#[L747-4, L721, L721]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[] 2531405#[L747-4, L722, L721]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] 2569831#[L747-5, L721, L722]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] 2528009#[L746-2, L722, L721]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] 2528003#[L723, L721, L746-2]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2528091#[L728, 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] 2573817#[L728, L746-3, L721]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] 2547427#[L721-1, L746-3, L721]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] 2547423#[L746-3, salethreadFINAL, L721]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2524845#[L746-3, L721, salethreadEXIT]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] 2524847#[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] 2531749#[L746-5, L721, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2565033#[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] 2527657#[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] 2527659#[L747-2, salethreadEXIT, 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] 2527339#[L747-3, L721, salethreadEXIT]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] 2527341#[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] 2530969#[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] 2558075#[salethreadEXIT, 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] 2555293#[salethreadEXIT, 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] 2555289#[salethreadEXIT, L721, L721, L746-3]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[] 2549721#[L722, 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] 2524081#[L722, salethreadEXIT, 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] 2545397#[L722, salethreadEXIT, L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2564435#[L747, L722, 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] 2573907#[L722, salethreadEXIT, 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] 2573903#[salethreadEXIT, L721, L723, L747-1]don't care [288] L723-->L724: Formula: (<= 14 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[] 2609863#[salethreadEXIT, 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] 2542671#[L721-1, salethreadEXIT, L721, 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[] 2580687#[L721-1, salethreadEXIT, 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] 2535183#[L721-1, salethreadFINAL, salethreadEXIT, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2523801#[salethreadEXIT, L721-1, salethreadEXIT, 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] 2529351#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2527837#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 2527839#[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] 2523537#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2547133#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:30,491 INFO L750 eck$LassoCheckResult]: Loop: 2547133#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2547133#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:30,491 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:30,492 INFO L85 PathProgramCache]: Analyzing trace with hash 1856385764, now seen corresponding path program 1 times [2023-09-17 11:47:30,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:30,492 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2087624009] [2023-09-17 11:47:30,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:30,492 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:30,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:30,553 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 11:47:30,553 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:30,553 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2087624009] [2023-09-17 11:47:30,553 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2087624009] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:30,553 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [608122153] [2023-09-17 11:47:30,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:30,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:30,554 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:30,556 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 11:47:30,573 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 11:47:30,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:30,630 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:30,635 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:30,688 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 11:47:30,688 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:30,767 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 11:47:30,767 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [608122153] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:30,767 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:30,767 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:30,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [247566385] [2023-09-17 11:47:30,768 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:30,768 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:30,768 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:30,768 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 7 times [2023-09-17 11:47:30,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:30,768 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [631650281] [2023-09-17 11:47:30,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:30,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:30,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:30,771 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:30,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:30,777 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:30,779 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:30,780 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:30,780 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:30,780 INFO L87 Difference]: Start difference. First operand 70996 states and 261129 transitions. cyclomatic complexity: 192182 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 11:47:31,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:31,872 INFO L93 Difference]: Finished difference Result 122857 states and 432367 transitions. [2023-09-17 11:47:31,872 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:33,651 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 12 [2023-09-17 11:47:34,798 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 122857 states to 122857 states and 432367 transitions. [2023-09-17 11:47:34,799 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 48311 [2023-09-17 11:47:34,870 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 48311 [2023-09-17 11:47:34,870 INFO L73 IsDeterministic]: Start isDeterministic. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:35,038 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:35,038 INFO L218 hiAutomatonCegarLoop]: Abstraction has 122857 states and 432367 transitions. [2023-09-17 11:47:35,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:36,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122857 to 70860. [2023-09-17 11:47:36,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70860 states, 70860 states have (on average 3.633149872988992) internal successors, (257445), 70859 states have internal predecessors, (257445), 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 11:47:37,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70860 states to 70860 states and 257445 transitions. [2023-09-17 11:47:37,480 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70860 states and 257445 transitions. [2023-09-17 11:47:37,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:37,481 INFO L428 stractBuchiCegarLoop]: Abstraction has 70860 states and 257445 transitions. [2023-09-17 11:47:37,481 INFO L335 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2023-09-17 11:47:37,481 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70860 states and 257445 transitions. [2023-09-17 11:47:38,157 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:38,157 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:38,157 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:38,158 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 11:47:38,158 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:38,159 INFO L748 eck$LassoCheckResult]: Stem: 2821807#[$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] 2820293#[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[] 2792327#[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[] 2789769#[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[] 2789771#[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[] 2813375#[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[] 2813377#[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[] 2818109#[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[] 2787303#[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] 2787305#[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] 2793179#[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] 2813613#[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] 2794489#[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] 2794491#[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] 2806133#[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] 2833339#[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] 2833341#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 2825191#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2819255#[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] 2789989#[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] 2789991#[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] 2790411#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2802849#[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] 2802851#[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] 2794935#[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] 2794937#[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] 2825885#[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] 2822047#[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] 2795977#[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] 2795979#[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[] 2806143#[L746-2, L722]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] 2844121#[L746-3, 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] 2802643#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2836821#[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] 2836823#[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] 2844111#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2844109#[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] 2798345#[L747-1, L728]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] 2798341#[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] 2799379#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2799719#[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] 2812281#[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] 2843843#[L747-3, salethreadEXIT]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] 2842837#[L747-4, salethreadEXIT, $Ultimate##0]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] 2842839#[L747-4, L721, salethreadEXIT]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[] 2791473#[L747-4, salethreadEXIT, L722]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] 2791475#[L747-5, salethreadEXIT, L722]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] 2839349#[salethreadEXIT, 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] 2884917#[salethreadEXIT, L723, L746-2]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2884631#[L728, salethreadEXIT, 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] 2884601#[L728, L746-3, salethreadEXIT]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] 2884919#[L721-1, L746-3, 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] 2884693#[L746-3, salethreadEXIT, salethreadFINAL]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2884883#[L746-3, salethreadEXIT, salethreadEXIT]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] 2884333#[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] 2884215#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2884189#[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] 2884187#[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] 2883825#[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] 2884159#[L747-3, salethreadEXIT, salethreadEXIT]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] 2883769#[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] 2884139#[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] 2908833#[salethreadEXIT, salethreadEXIT, L746-2, $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] 2908165#[salethreadEXIT, salethreadEXIT, L746-3, $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] 2908931#[salethreadEXIT, salethreadEXIT, L721, L746-3]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[] 2908803#[L722, 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] 2908801#[L722, salethreadEXIT, 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] 2908297#[salethreadEXIT, L722, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 2903191#[L722, salethreadEXIT, 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] 2903177#[salethreadEXIT, L722, salethreadEXIT, 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] 2900433#[salethreadEXIT, salethreadEXIT, L723, L747-1]don't care [288] L723-->L724: Formula: (<= 14 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[] 2900427#[salethreadEXIT, salethreadEXIT, L724, 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] 2900429#[salethreadEXIT, L721-1, salethreadEXIT, 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] 2794145#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2792721#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 2792723#[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] 2788781#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2810427#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:38,160 INFO L750 eck$LassoCheckResult]: Loop: 2810427#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2810427#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:38,160 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:38,160 INFO L85 PathProgramCache]: Analyzing trace with hash -1587485008, now seen corresponding path program 1 times [2023-09-17 11:47:38,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:38,160 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [746546904] [2023-09-17 11:47:38,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:38,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:38,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:38,227 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 11:47:38,227 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:38,227 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [746546904] [2023-09-17 11:47:38,227 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [746546904] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:38,227 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [423622109] [2023-09-17 11:47:38,227 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:38,228 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:38,228 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:38,239 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 11:47:38,240 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 11:47:38,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:38,307 INFO L262 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2023-09-17 11:47:38,309 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:38,358 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 11:47:38,358 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:38,433 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 11:47:38,433 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [423622109] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:38,433 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:38,433 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 16 [2023-09-17 11:47:38,433 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [418776393] [2023-09-17 11:47:38,433 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:38,433 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:38,434 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:38,434 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 8 times [2023-09-17 11:47:38,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:38,434 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1964684351] [2023-09-17 11:47:38,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:38,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:38,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:38,436 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:38,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:38,437 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:38,438 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:38,438 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2023-09-17 11:47:38,438 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2023-09-17 11:47:38,439 INFO L87 Difference]: Start difference. First operand 70860 states and 257445 transitions. cyclomatic complexity: 188614 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 11:47:39,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:39,670 INFO L93 Difference]: Finished difference Result 117177 states and 408323 transitions. [2023-09-17 11:47:39,670 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 117177 states and 408323 transitions. [2023-09-17 11:47:41,298 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:42,501 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 117177 states to 117177 states and 408323 transitions. [2023-09-17 11:47:42,501 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46372 [2023-09-17 11:47:42,572 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 46372 [2023-09-17 11:47:42,572 INFO L73 IsDeterministic]: Start isDeterministic. Operand 117177 states and 408323 transitions. [2023-09-17 11:47:42,786 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:42,786 INFO L218 hiAutomatonCegarLoop]: Abstraction has 117177 states and 408323 transitions. [2023-09-17 11:47:42,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117177 states and 408323 transitions. [2023-09-17 11:47:44,819 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117177 to 55742. [2023-09-17 11:47:44,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55742 states, 55742 states have (on average 3.640773563919486) internal successors, (202944), 55741 states have internal predecessors, (202944), 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 11:47:45,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55742 states to 55742 states and 202944 transitions. [2023-09-17 11:47:45,097 INFO L240 hiAutomatonCegarLoop]: Abstraction has 55742 states and 202944 transitions. [2023-09-17 11:47:45,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2023-09-17 11:47:45,097 INFO L428 stractBuchiCegarLoop]: Abstraction has 55742 states and 202944 transitions. [2023-09-17 11:47:45,097 INFO L335 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2023-09-17 11:47:45,097 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 55742 states and 202944 transitions. [2023-09-17 11:47:45,691 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:45,691 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:45,691 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:45,692 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 11:47:45,692 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:45,693 INFO L748 eck$LassoCheckResult]: Stem: 3079959#[$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] 3078495#[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[] 3051493#[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[] 3049067#[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[] 3049069#[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[] 3071687#[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[] 3071689#[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[] 3076329#[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[] 3046755#[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] 3046757#[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] 3052349#[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] 3071897#[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] 3053711#[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] 3053713#[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] 3064725#[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] 3091093#[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] 3091095#[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)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 60))) 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] 3083251#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 15) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 3077413#[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] 3049259#[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] 3049261#[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] 3049647#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 3061639#[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] 3061641#[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] 3054155#[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] 3054157#[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] 3083915#[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] 3080205#[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] 3055123#[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] 3055125#[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[] 3064739#[L746-2, L722]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] 3109907#[L746-3, 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] 3061457#[L723, L746-3]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3094477#[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] 3094479#[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] 3109877#[L728, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 3109875#[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] 3057433#[L747-1, L728]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] 3057429#[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] 3058411#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3058745#[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] 3070585#[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] 3101349#[L747-3, salethreadEXIT]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] 3101339#[L747-4, salethreadEXIT, $Ultimate##0]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] 3101321#[L747-4, L721, salethreadEXIT]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[] 3050649#[L747-4, salethreadEXIT, L722]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] 3050651#[L747-5, salethreadEXIT, L722]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] 3096871#[salethreadEXIT, 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] 3122325#[salethreadEXIT, L723, L746-2]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3121013#[L728, salethreadEXIT, 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] 3068365#[L728, L746-3, salethreadEXIT]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] 3140341#[L721-1, L746-3, 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] 3124939#[L746-3, salethreadEXIT, salethreadFINAL]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3070791#[L746-3, salethreadEXIT, salethreadEXIT]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] 3066579#[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] 3058523#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 3058525#[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] 3077313#[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] 3059073#[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] 3059075#[L747-3, salethreadEXIT, salethreadEXIT]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] 3136835#[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] 3136837#[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] 3049245#[salethreadEXIT, salethreadEXIT, L746-2, $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] 3087377#[salethreadEXIT, salethreadEXIT, L746-3, $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] 3093577#[salethreadEXIT, salethreadEXIT, L721, L746-3]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[] 3061169#[L722, 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] 3054589#[L722, salethreadEXIT, 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] 3095567#[salethreadEXIT, L722, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 15) 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[] 3070539#[L722, salethreadEXIT, 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] 3068301#[salethreadEXIT, L722, salethreadEXIT, 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] 3068297#[salethreadEXIT, salethreadEXIT, L723, L747-1]don't care [289] L723-->L728: Formula: (< v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5 14) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3058553#[salethreadEXIT, salethreadEXIT, L728, 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] 3156723#[salethreadEXIT, L721-1, salethreadEXIT, 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] 3053343#[salethreadFINAL, salethreadEXIT, salethreadEXIT, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3051893#[salethreadEXIT, salethreadEXIT, salethreadEXIT, 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] 3051895#[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] 3048151#[salethreadEXIT, salethreadEXIT, L747-3, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3068841#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:45,693 INFO L750 eck$LassoCheckResult]: Loop: 3068841#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3068841#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT]don't care [2023-09-17 11:47:45,693 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:45,694 INFO L85 PathProgramCache]: Analyzing trace with hash -671352176, now seen corresponding path program 1 times [2023-09-17 11:47:45,694 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:45,694 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [602435017] [2023-09-17 11:47:45,694 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:45,694 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:45,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:45,703 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:45,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:45,713 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:45,714 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:45,714 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 9 times [2023-09-17 11:47:45,714 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:45,714 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1597939626] [2023-09-17 11:47:45,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:45,714 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:45,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:45,716 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:45,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:45,717 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:45,717 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:45,717 INFO L85 PathProgramCache]: Analyzing trace with hash 662919328, now seen corresponding path program 1 times [2023-09-17 11:47:45,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:45,717 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [717122842] [2023-09-17 11:47:45,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:45,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:45,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:45,726 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:45,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:45,740 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:47,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:47,112 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:47,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:47,148 WARN L148 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:47:47,255 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:47:47,257 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 11:47:47,272 INFO L124 PetriNetUnfolderBase]: 19/167 cut-off events. [2023-09-17 11:47:47,273 INFO L125 PetriNetUnfolderBase]: For 16/16 co-relation queries the response was YES. [2023-09-17 11:47:47,276 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 11:47:47,276 INFO L82 GeneralOperation]: Start removeDead. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 11:47:47,281 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 86 places, 88 transitions, 208 flow [2023-09-17 11:47:47,281 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:47:47,281 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:47:47,281 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:47:47,281 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:47:47,281 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:47:47,281 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:47:47,281 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:47:47,282 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:47:47,282 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null Received shutdown request... [2023-09-17 11:48:39,262 WARN L324 stractBuchiCegarLoop]: Verification cancelled [2023-09-17 11:48:39,277 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 17.09 11:48:39 BoogieIcfgContainer [2023-09-17 11:48:39,277 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2023-09-17 11:48:39,277 INFO L158 Benchmark]: Toolchain (without parser) took 180265.15ms. Allocated memory was 255.9MB in the beginning and 8.0GB in the end (delta: 7.7GB). Free memory was 199.0MB in the beginning and 3.1GB in the end (delta: -2.9GB). Peak memory consumption was 5.2GB. Max. memory is 8.0GB. [2023-09-17 11:48:39,277 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 255.9MB. Free memory is still 210.1MB. There was no memory consumed. Max. memory is 8.0GB. [2023-09-17 11:48:39,289 INFO L158 Benchmark]: CACSL2BoogieTranslator took 315.18ms. Allocated memory is still 255.9MB. Free memory was 198.7MB in the beginning and 179.9MB in the end (delta: 18.9MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. [2023-09-17 11:48:39,289 INFO L158 Benchmark]: Boogie Procedure Inliner took 33.56ms. Allocated memory is still 334.5MB. Free memory was 303.6MB in the beginning and 302.0MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2023-09-17 11:48:39,294 INFO L158 Benchmark]: Boogie Preprocessor took 20.40ms. Allocated memory is still 334.5MB. Free memory was 302.0MB in the beginning and 300.4MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2023-09-17 11:48:39,294 INFO L158 Benchmark]: RCFGBuilder took 244.25ms. Allocated memory is still 334.5MB. Free memory was 300.4MB in the beginning and 287.3MB in the end (delta: 13.1MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2023-09-17 11:48:39,295 INFO L158 Benchmark]: BuchiAutomizer took 179632.48ms. Allocated memory was 334.5MB in the beginning and 8.0GB in the end (delta: 7.7GB). Free memory was 287.3MB in the beginning and 3.1GB in the end (delta: -2.8GB). Peak memory consumption was 5.2GB. Max. memory is 8.0GB. [2023-09-17 11:48:39,297 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-09-17 11:48:39,297 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-09-17 11:48:39,297 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-09-17 11:48:39,297 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-09-17 11:48:39,297 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-09-17 11:48:39,297 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-09-17 11:48:39,299 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 255.9MB. Free memory is still 210.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 315.18ms. Allocated memory is still 255.9MB. Free memory was 198.7MB in the beginning and 179.9MB in the end (delta: 18.9MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 33.56ms. Allocated memory is still 334.5MB. Free memory was 303.6MB in the beginning and 302.0MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 20.40ms. Allocated memory is still 334.5MB. Free memory was 302.0MB in the beginning and 300.4MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 244.25ms. Allocated memory is still 334.5MB. Free memory was 300.4MB in the beginning and 287.3MB in the end (delta: 13.1MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * BuchiAutomizer took 179632.48ms. Allocated memory was 334.5MB in the beginning and 8.0GB in the end (delta: 7.7GB). Free memory was 287.3MB in the beginning and 3.1GB in the end (delta: -2.8GB). Peak memory consumption was 5.2GB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Trivial decomposition into one module whose termination is unknown. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 52.1s and 17 iterations. TraceHistogramMax:4. Analysis of lassos took 6.1s. Construction of modules took 0.4s. Büchi inclusion checks took 90.6s. Highest rank in rank-based complementation 0. Minimization of det autom 14. Minimization of nondet autom 0. Automata minimization 26.3s AutomataMinimizationTime, 14 MinimizatonAttempts, 561140 StatesRemovedByMinimization, 13 NontrivialMinimizations. Non-live state removal took 42.7s Buchi closure took 0.8s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [0, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 3200 SdHoareTripleChecker+Valid, 0.6s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 3200 mSDsluCounter, 5713 SdHoareTripleChecker+Invalid, 0.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 4444 mSDsCounter, 85 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1009 IncrementalHoareTripleChecker+Invalid, 1094 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 85 mSolverCounterUnsat, 1269 mSDtfsCounter, 1009 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont3 unkn0 SFLI0 SFLT0 conc0 concLT0 SILN14 SILU0 SILI0 SILT0 lasso0 LassoPreprocessingBenchmarks: LassoTerminationAnalysisBenchmarks: not availableLassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.1s - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction) Buchi Automizer is unable to decide termination: Timeout while executing BuchiIsEmpty. RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown [2023-09-17 11:48:39,352 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2023-09-17 11:48:39,550 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2023-09-17 11:48:39,756 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2023-09-17 11:48:39,954 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2023-09-17 11:48:40,156 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2023-09-17 11:48:40,306 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Ended with exit code 0 !ENTRY org.eclipse.osgi 4 0 2023-09-17 11:48:40.378 !MESSAGE Application error !STACK 1 org.eclipse.core.internal.resources.ResourceException(/)[568]: java.io.FileNotFoundException: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3df3b36c/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree (No such file or directory) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.(FileOutputStream.java:237) at java.base/java.io.FileOutputStream.(FileOutputStream.java:187) at org.eclipse.core.internal.localstore.SafeFileOutputStream.(SafeFileOutputStream.java:55) at org.eclipse.core.internal.resources.SaveManager.saveTree(SaveManager.java:1381) at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1168) at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2333) at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2322) at de.uni_freiburg.informatik.ultimate.core.coreplugin.UltimateCore.start(UltimateCore.java:190) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438) An error has occurred. See the log file /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3df3b36c/.metadata/.log.