/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-20.i -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.me.fairness-42053ae-m [2023-09-17 11:45:38,839 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-09-17 11:45:38,918 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:38,948 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-09-17 11:45:38,949 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-09-17 11:45:38,950 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-09-17 11:45:38,951 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-09-17 11:45:38,951 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-09-17 11:45:38,952 INFO L137 SettingsManager]: * Use SBE=true [2023-09-17 11:45:38,955 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-09-17 11:45:38,956 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-09-17 11:45:38,956 INFO L137 SettingsManager]: * Use old map elimination=false [2023-09-17 11:45:38,956 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-09-17 11:45:38,957 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-09-17 11:45:38,958 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-09-17 11:45:38,958 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-09-17 11:45:38,958 INFO L137 SettingsManager]: * sizeof long=4 [2023-09-17 11:45:38,959 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-09-17 11:45:38,959 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-09-17 11:45:38,959 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-09-17 11:45:38,959 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-09-17 11:45:38,960 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-09-17 11:45:38,960 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-09-17 11:45:38,960 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-09-17 11:45:38,961 INFO L137 SettingsManager]: * sizeof long double=12 [2023-09-17 11:45:38,962 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-09-17 11:45:38,962 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-09-17 11:45:38,962 INFO L137 SettingsManager]: * Use constant arrays=true [2023-09-17 11:45:38,962 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-09-17 11:45:38,962 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-09-17 11:45:38,963 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-09-17 11:45:38,964 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-09-17 11:45:38,964 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-09-17 11:45:38,964 INFO L137 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-09-17 11:45:38,965 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-09-17 11:45:38,965 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:39,200 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-09-17 11:45:39,230 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-09-17 11:45:39,232 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-09-17 11:45:39,233 INFO L270 PluginConnector]: Initializing CDTParser... [2023-09-17 11:45:39,234 INFO L274 PluginConnector]: CDTParser initialized [2023-09-17 11:45:39,235 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/airline-20.i [2023-09-17 11:45:40,408 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-09-17 11:45:40,702 INFO L384 CDTParser]: Found 1 translation units. [2023-09-17 11:45:40,703 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/airline-20.i [2023-09-17 11:45:40,723 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c614485ad/2e03c4c463184adea24d79fcd0469ade/FLAGed149e2de [2023-09-17 11:45:40,739 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c614485ad/2e03c4c463184adea24d79fcd0469ade [2023-09-17 11:45:40,742 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-09-17 11:45:40,744 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-09-17 11:45:40,747 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-09-17 11:45:40,747 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-09-17 11:45:40,753 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-09-17 11:45:40,754 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:45:40" (1/1) ... [2023-09-17 11:45:40,755 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1a88a855 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:40, skipping insertion in model container [2023-09-17 11:45:40,755 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:45:40" (1/1) ... [2023-09-17 11:45:40,762 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-09-17 11:45:40,812 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-09-17 11:45:41,108 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-20.i[32027,32040] [2023-09-17 11:45:41,109 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:45:41,121 INFO L203 MainTranslator]: Completed pre-run [2023-09-17 11:45:41,178 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-20.i[32027,32040] [2023-09-17 11:45:41,178 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:45:41,205 WARN L667 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:45:41,205 WARN L667 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:45:41,211 INFO L208 MainTranslator]: Completed translation [2023-09-17 11:45:41,213 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:41 WrapperNode [2023-09-17 11:45:41,213 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-09-17 11:45:41,214 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-09-17 11:45:41,214 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-09-17 11:45:41,214 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-09-17 11:45:41,221 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:41" (1/1) ... [2023-09-17 11:45:41,235 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:41" (1/1) ... [2023-09-17 11:45:41,260 INFO L138 Inliner]: procedures = 162, calls = 22, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 50 [2023-09-17 11:45:41,261 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-09-17 11:45:41,262 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-09-17 11:45:41,262 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-09-17 11:45:41,262 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-09-17 11:45:41,270 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:41" (1/1) ... [2023-09-17 11:45:41,270 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:41" (1/1) ... [2023-09-17 11:45:41,276 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:41" (1/1) ... [2023-09-17 11:45:41,276 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:41" (1/1) ... [2023-09-17 11:45:41,282 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:41" (1/1) ... [2023-09-17 11:45:41,285 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:41" (1/1) ... [2023-09-17 11:45:41,287 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:41" (1/1) ... [2023-09-17 11:45:41,288 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:41" (1/1) ... [2023-09-17 11:45:41,290 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-09-17 11:45:41,291 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-09-17 11:45:41,291 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-09-17 11:45:41,291 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-09-17 11:45:41,292 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:41" (1/1) ... [2023-09-17 11:45:41,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-17 11:45:41,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:45:41,335 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:41,360 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:41,375 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-09-17 11:45:41,376 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-09-17 11:45:41,376 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-09-17 11:45:41,376 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-09-17 11:45:41,376 INFO L130 BoogieDeclarations]: Found specification of procedure salethread [2023-09-17 11:45:41,377 INFO L138 BoogieDeclarations]: Found implementation of procedure salethread [2023-09-17 11:45:41,377 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-09-17 11:45:41,377 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-09-17 11:45:41,377 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-09-17 11:45:41,377 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-09-17 11:45:41,377 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-09-17 11:45:41,378 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:41,504 INFO L236 CfgBuilder]: Building ICFG [2023-09-17 11:45:41,506 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-09-17 11:45:41,641 INFO L277 CfgBuilder]: Performing block encoding [2023-09-17 11:45:41,647 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-09-17 11:45:41,647 INFO L302 CfgBuilder]: Removed 1 assume(true) statements. [2023-09-17 11:45:41,649 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:45:41 BoogieIcfgContainer [2023-09-17 11:45:41,649 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-09-17 11:45:41,650 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-09-17 11:45:41,650 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-09-17 11:45:41,654 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-09-17 11:45:41,654 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:41,655 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.09 11:45:40" (1/3) ... [2023-09-17 11:45:41,656 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4a1936bb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:45:41, skipping insertion in model container [2023-09-17 11:45:41,656 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:41,656 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:41" (2/3) ... [2023-09-17 11:45:41,656 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4a1936bb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:45:41, skipping insertion in model container [2023-09-17 11:45:41,656 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:41,656 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:45:41" (3/3) ... [2023-09-17 11:45:41,657 INFO L332 chiAutomizerObserver]: Analyzing ICFG airline-20.i [2023-09-17 11:45:41,719 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:41,742 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:41,769 INFO L124 PetriNetUnfolderBase]: 7/71 cut-off events. [2023-09-17 11:45:41,769 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-09-17 11:45:41,774 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:41,774 INFO L82 GeneralOperation]: Start removeDead. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:41,779 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:41,794 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:41,794 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:41,794 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:41,794 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:41,794 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:41,794 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:41,794 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:41,795 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:41,796 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:41,937 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:41,937 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:41,938 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:41,951 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:41,951 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:41,952 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:45:41,952 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:41,971 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:41,971 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:41,972 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:41,973 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:41,973 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:41,981 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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 115#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) 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| 20) 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#[L747-4, $Ultimate##0]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 172#[L747-4, L721]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#[L747-4, L721-1]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#[L746-2, salethreadEXIT]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#[L746-3, salethreadEXIT]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| 20) 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#[L747-2, salethreadEXIT]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:41,982 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:41,987 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:41,987 INFO L85 PathProgramCache]: Analyzing trace with hash 858911747, now seen corresponding path program 1 times [2023-09-17 11:45:41,995 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:41,996 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [934361475] [2023-09-17 11:45:41,996 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:41,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:42,243 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:42,243 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:42,244 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [934361475] [2023-09-17 11:45:42,245 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [934361475] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:42,245 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:42,245 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:45:42,247 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [256674948] [2023-09-17 11:45:42,247 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:42,254 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:42,254 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,255 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 1 times [2023-09-17 11:45:42,255 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,255 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1240860282] [2023-09-17 11:45:42,255 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,255 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,265 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,285 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:42,297 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:42,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:45:42,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:45:42,331 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:42,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:42,376 INFO L93 Difference]: Finished difference Result 1244 states and 2324 transitions. [2023-09-17 11:45:42,377 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1244 states and 2324 transitions. [2023-09-17 11:45:42,391 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:42,401 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1244 states to 663 states and 1225 transitions. [2023-09-17 11:45:42,402 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 243 [2023-09-17 11:45:42,404 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 415 [2023-09-17 11:45:42,405 INFO L73 IsDeterministic]: Start isDeterministic. Operand 663 states and 1225 transitions. [2023-09-17 11:45:42,408 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:42,409 INFO L218 hiAutomatonCegarLoop]: Abstraction has 663 states and 1225 transitions. [2023-09-17 11:45:42,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 663 states and 1225 transitions. [2023-09-17 11:45:42,483 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 663 to 349. [2023-09-17 11:45:42,487 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:42,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 349 states to 349 states and 711 transitions. [2023-09-17 11:45:42,493 INFO L240 hiAutomatonCegarLoop]: Abstraction has 349 states and 711 transitions. [2023-09-17 11:45:42,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:45:42,500 INFO L428 stractBuchiCegarLoop]: Abstraction has 349 states and 711 transitions. [2023-09-17 11:45:42,501 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:45:42,501 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 349 states and 711 transitions. [2023-09-17 11:45:42,504 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,504 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,504 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,508 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:42,508 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,510 INFO L748 eck$LassoCheckResult]: Stem: 2896#[$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] 2898#[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[] 2984#[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[] 3204#[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[] 3098#[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[] 3100#[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[] 2934#[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] 2936#[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] 3118#[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] 3120#[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] 3272#[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] 2996#[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] 2998#[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] 3102#[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] 2944#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2946#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) 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] 2960#[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] 3144#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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] 3002#[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] 3004#[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] 2938#[L747-4, $Ultimate##0]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 2940#[L747-4, L721]don't care [131] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 3008#[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#[L747-5, L722]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] 3152#[L746-2, L722]don't care [133] L722-->L723: Formula: (= v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~_numberOfSeatsSold~0] 2964#[L723, L746-2]don't care [135] L723-->L724: Formula: (<= 18 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[] 2966#[L746-2, L724]don't care [89] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3222#[L746-3, L724]don't care [138] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 3390#[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] 3038#[salethreadFINAL, L746-3]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3040#[L746-3, salethreadEXIT]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] 3172#[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] 3006#[L746-5, salethreadEXIT]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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] 3158#[L747-2, salethreadEXIT]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] 2950#[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:42,511 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:42,511 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,512 INFO L85 PathProgramCache]: Analyzing trace with hash -868938084, now seen corresponding path program 1 times [2023-09-17 11:45:42,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,512 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1429584754] [2023-09-17 11:45:42,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:42,739 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:42,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:42,739 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1429584754] [2023-09-17 11:45:42,739 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1429584754] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:42,740 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:42,740 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:42,740 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1554983183] [2023-09-17 11:45:42,740 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:42,740 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:42,741 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,741 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 2 times [2023-09-17 11:45:42,741 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,742 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1041659237] [2023-09-17 11:45:42,742 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,742 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,748 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,751 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:42,753 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:42,754 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:42,754 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:42,754 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:42,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:42,775 INFO L93 Difference]: Finished difference Result 299 states and 561 transitions. [2023-09-17 11:45:42,776 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,778 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,780 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 299 states to 299 states and 561 transitions. [2023-09-17 11:45:42,781 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 196 [2023-09-17 11:45:42,781 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 196 [2023-09-17 11:45:42,781 INFO L73 IsDeterministic]: Start isDeterministic. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,782 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:42,782 INFO L218 hiAutomatonCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:42,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 299. [2023-09-17 11:45:42,789 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:42,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 561 transitions. [2023-09-17 11:45:42,791 INFO L240 hiAutomatonCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:42,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:42,792 INFO L428 stractBuchiCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:42,792 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:45:42,792 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,794 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,794 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,794 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,795 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:42,795 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,797 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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 3910#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) 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| 20) 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#[L747-4, $Ultimate##0]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 3904#[L747-4, L721]don't care [131] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 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#[L747-5, L722]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#[L746-2, L722]don't care [133] L722-->L723: Formula: (= v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~_numberOfSeatsSold~0] 3930#[L723, L746-2]don't care [136] L723-->L728: Formula: (< v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3776#[L746-2, L728]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#[L746-3, L728]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#[L746-3, salethreadEXIT]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| 20) 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#[L747-2, salethreadEXIT]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:42,798 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:42,798 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,798 INFO L85 PathProgramCache]: Analyzing trace with hash -936368870, now seen corresponding path program 1 times [2023-09-17 11:45:42,799 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,799 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [568310275] [2023-09-17 11:45:42,799 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,799 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,832 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,864 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:42,865 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,866 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 3 times [2023-09-17 11:45:42,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,866 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1283260228] [2023-09-17 11:45:42,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,871 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,873 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:42,874 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,874 INFO L85 PathProgramCache]: Analyzing trace with hash 1037336243, now seen corresponding path program 1 times [2023-09-17 11:45:42,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,874 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1723743949] [2023-09-17 11:45:42,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,903 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,926 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:43,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,927 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:43,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,965 WARN L148 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:45:43,985 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:43,992 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:44,018 INFO L124 PetriNetUnfolderBase]: 11/103 cut-off events. [2023-09-17 11:45:44,018 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-09-17 11:45:44,020 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:44,020 INFO L82 GeneralOperation]: Start removeDead. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:44,022 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:44,023 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:44,023 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:44,023 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:44,023 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:44,024 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:44,024 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:44,024 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:44,024 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:44,024 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:44,824 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:44,824 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:44,824 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:44,827 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:44,828 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:44,828 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:45:44,828 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:45,338 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:45,339 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:45,339 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:45,342 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:45,342 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:45,344 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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 130#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) 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| 20) 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#[$Ultimate##0, L747-4]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#[L721-1, L747-4]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 226#[L747-5, L721-1]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#[L746-2, L721-1]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#[L746-2, salethreadEXIT]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#[L746-3, salethreadEXIT]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#[L746-4, salethreadEXIT]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#[L746-5, salethreadEXIT]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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#[L747, salethreadEXIT]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#[L747-1, 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] 1067#[L747-2, 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] 1260#[L747-3, salethreadEXIT]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#[$Ultimate##0, salethreadEXIT, L747-4]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1828#[$Ultimate##0, salethreadEXIT, 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] 2371#[L746-2, $Ultimate##0, salethreadEXIT]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#[L746-3, $Ultimate##0, salethreadEXIT]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#[$Ultimate##0, 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] 5281#[$Ultimate##0, salethreadEXIT, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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#[$Ultimate##0, 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] 8104#[L747-1, $Ultimate##0, salethreadEXIT]don't care [206] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_1| v_salethreadThread2of2ForFork0_~arg.offset_1) (= v_salethreadThread2of2ForFork0_~arg.base_1 |v_salethreadThread2of2ForFork0_#in~arg.base_1|)) InVars {salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|} OutVars{salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_1|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_1, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_1|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_1} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_~arg.offset] 9979#[L747-1, salethreadEXIT, L721]don't care [208] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 12252#[L721-1, L747-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] 14828#[L747-1, salethreadEXIT, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17445#[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] 19820#[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] 21670#[L747-3, salethreadEXIT, salethreadEXIT]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 22918#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:45,344 INFO L750 eck$LassoCheckResult]: Loop: 22918#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 22918#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:45,344 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:45,345 INFO L85 PathProgramCache]: Analyzing trace with hash 1065297753, now seen corresponding path program 1 times [2023-09-17 11:45:45,345 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:45,345 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [13056031] [2023-09-17 11:45:45,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:45,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:45,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:45,426 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:45,427 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:45,427 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [13056031] [2023-09-17 11:45:45,427 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [13056031] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:45,427 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:45,427 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:45:45,428 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1766101884] [2023-09-17 11:45:45,428 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:45,429 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:45,429 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:45,429 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 1 times [2023-09-17 11:45:45,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:45,429 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2059694398] [2023-09-17 11:45:45,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:45,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:45,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,435 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:45,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:45,441 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:45,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:45,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:45:45,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:45:45,444 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:45,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:45,938 INFO L93 Difference]: Finished difference Result 29755 states and 87336 transitions. [2023-09-17 11:45:45,938 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29755 states and 87336 transitions. [2023-09-17 11:45:46,462 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:46,629 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29755 states to 16138 states and 47174 transitions. [2023-09-17 11:45:46,629 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 3900 [2023-09-17 11:45:46,650 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6304 [2023-09-17 11:45:46,650 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16138 states and 47174 transitions. [2023-09-17 11:45:46,695 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:46,696 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16138 states and 47174 transitions. [2023-09-17 11:45:46,742 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16138 states and 47174 transitions. [2023-09-17 11:45:47,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16138 to 6345. [2023-09-17 11:45:47,096 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:47,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6345 states to 6345 states and 19440 transitions. [2023-09-17 11:45:47,134 INFO L240 hiAutomatonCegarLoop]: Abstraction has 6345 states and 19440 transitions. [2023-09-17 11:45:47,135 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:45:47,141 INFO L428 stractBuchiCegarLoop]: Abstraction has 6345 states and 19440 transitions. [2023-09-17 11:45:47,141 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:45:47,141 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 6345 states and 19440 transitions. [2023-09-17 11:45:47,182 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:47,183 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:47,183 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:47,184 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:47,184 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:47,185 INFO L748 eck$LassoCheckResult]: Stem: 55594#[$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] 55596#[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[] 57918#[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[] 56378#[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[] 56008#[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[] 56010#[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[] 60382#[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[] 58564#[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[] 54474#[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] 54476#[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] 57580#[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] 57582#[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] 59466#[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] 54604#[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] 54606#[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] 54792#[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] 54794#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 55642#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 59116#[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] 56568#[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] 56570#[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] 56752#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 58842#[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] 56606#[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] 56608#[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] 59746#[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] 57622#[$Ultimate##0, L747-4]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] 54332#[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[] 54334#[L722, L747-4]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] 59960#[L747-4, L723]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] 59962#[L723, 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] 55282#[L723, L746-2]don't care [201] L723-->L724: Formula: (<= 18 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[] 61620#[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] 61622#[L724, 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] 57074#[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] 59796#[L724, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 56282#[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] 60250#[L724, 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] 54800#[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] 58210#[L724, 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] 60990#[L724, $Ultimate##0, L747-4]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 60338#[L724, $Ultimate##0, L747-5]don't care [181] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 63902#[L746-2, L724, $Ultimate##0]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 63892#[L746-3, L724, $Ultimate##0]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 63882#[L724, $Ultimate##0, L746-4]don't care [150] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 63872#[L724, $Ultimate##0, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 63862#[L724, $Ultimate##0, L747]don't care [153] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 63854#[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] 58010#[L747-2, L724, $Ultimate##0]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 57704#[L747-3, L724, $Ultimate##0]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 57706#[L724, $Ultimate##0, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 64122#[L721-1, $Ultimate##0, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 64124#[$Ultimate##0, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 57174#[$Ultimate##0, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 57176#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [208] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 57716#[L721-1, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 55620#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 55622#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:47,186 INFO L750 eck$LassoCheckResult]: Loop: 55622#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 55622#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:47,186 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:47,186 INFO L85 PathProgramCache]: Analyzing trace with hash -1786632396, now seen corresponding path program 1 times [2023-09-17 11:45:47,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:47,187 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586673405] [2023-09-17 11:45:47,187 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:47,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:47,303 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:47,303 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:47,304 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [586673405] [2023-09-17 11:45:47,304 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [586673405] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:47,304 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:47,304 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:47,305 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1841245907] [2023-09-17 11:45:47,305 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:47,305 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:47,305 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:47,305 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 2 times [2023-09-17 11:45:47,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:47,306 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [174366722] [2023-09-17 11:45:47,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,306 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:47,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,309 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:47,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,312 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:47,318 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:47,318 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:47,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:47,318 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:47,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:47,415 INFO L93 Difference]: Finished difference Result 7175 states and 20645 transitions. [2023-09-17 11:45:47,415 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:47,477 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:45:47,537 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 7175 states to 7175 states and 20645 transitions. [2023-09-17 11:45:47,537 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 3784 [2023-09-17 11:45:47,546 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 3784 [2023-09-17 11:45:47,546 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:47,562 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:47,562 INFO L218 hiAutomatonCegarLoop]: Abstraction has 7175 states and 20645 transitions. [2023-09-17 11:45:47,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:47,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7175 to 5740. [2023-09-17 11:45:47,823 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:47,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5740 states to 5740 states and 16885 transitions. [2023-09-17 11:45:47,845 INFO L240 hiAutomatonCegarLoop]: Abstraction has 5740 states and 16885 transitions. [2023-09-17 11:45:47,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:47,848 INFO L428 stractBuchiCegarLoop]: Abstraction has 5740 states and 16885 transitions. [2023-09-17 11:45:47,848 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:45:47,848 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 5740 states and 16885 transitions. [2023-09-17 11:45:47,937 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:47,937 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:47,937 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:47,945 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:47,945 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:47,946 INFO L748 eck$LassoCheckResult]: Stem: 75512#[$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] 75514#[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[] 77842#[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[] 76304#[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[] 75950#[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[] 75952#[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[] 80372#[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[] 78470#[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[] 74378#[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] 74380#[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] 77514#[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] 77516#[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] 79438#[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] 74512#[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] 74514#[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] 74698#[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] 74700#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 75566#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) 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] 76516#[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] 76518#[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] 76674#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 78788#[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] 76542#[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] 76544#[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] 79744#[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] 77556#[$Ultimate##0, L747-4]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#[L747-5, 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] 76070#[L746-2, L721]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 80308#[L746-3, L721]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 77160#[L746-4, L721]don't care [150] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 77158#[L746-5, L721]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 74820#[L747, L721]don't care [153] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 74818#[L747-1, L721]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 75602#[L747-2, L721]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 74152#[L747-3, L721]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] 74150#[$Ultimate##0, L721, L747-4]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 74550#[$Ultimate##0, 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] 79548#[L746-2, $Ultimate##0, L721]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 79480#[L746-3, $Ultimate##0, L721]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 76930#[$Ultimate##0, 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] 76934#[$Ultimate##0, L721, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 81528#[$Ultimate##0, 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] 82266#[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] 82580#[L747-2, $Ultimate##0, L721]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 82578#[L747-3, $Ultimate##0, L721]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 82576#[$Ultimate##0, L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 77534#[L721, L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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[] 78922#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L722]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] 78084#[L723, L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [211] L723-->L724: Formula: (<= 18 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[] 78086#[L724, L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 75238#[L721-1, L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 75676#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 74718#[L721, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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[] 85128#[L721-1, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 75546#[salethreadEXIT, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 75538#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:47,947 INFO L750 eck$LassoCheckResult]: Loop: 75538#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 75538#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:47,947 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:47,947 INFO L85 PathProgramCache]: Analyzing trace with hash -963477740, now seen corresponding path program 1 times [2023-09-17 11:45:47,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:47,948 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1422773235] [2023-09-17 11:45:47,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:47,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:48,028 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:48,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:48,029 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1422773235] [2023-09-17 11:45:48,029 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1422773235] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:48,029 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:48,029 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:48,029 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [439277540] [2023-09-17 11:45:48,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:48,030 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:48,031 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:48,031 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 3 times [2023-09-17 11:45:48,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:48,032 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494528731] [2023-09-17 11:45:48,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:48,032 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:48,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:48,035 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:48,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:48,039 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:48,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:48,041 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:48,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:48,042 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:48,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:48,097 INFO L93 Difference]: Finished difference Result 5314 states and 14892 transitions. [2023-09-17 11:45:48,097 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:48,136 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:48,170 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 5314 states to 5314 states and 14892 transitions. [2023-09-17 11:45:48,170 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 2793 [2023-09-17 11:45:48,177 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2793 [2023-09-17 11:45:48,177 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:48,189 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:48,189 INFO L218 hiAutomatonCegarLoop]: Abstraction has 5314 states and 14892 transitions. [2023-09-17 11:45:48,202 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:48,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5314 to 4856. [2023-09-17 11:45:48,320 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:48,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4856 states to 4856 states and 13746 transitions. [2023-09-17 11:45:48,341 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4856 states and 13746 transitions. [2023-09-17 11:45:48,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:48,342 INFO L428 stractBuchiCegarLoop]: Abstraction has 4856 states and 13746 transitions. [2023-09-17 11:45:48,343 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 11:45:48,343 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4856 states and 13746 transitions. [2023-09-17 11:45:48,372 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:48,372 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:48,372 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:48,374 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:48,374 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:48,377 INFO L748 eck$LassoCheckResult]: Stem: 92189#[$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] 92191#[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[] 94363#[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[] 92965#[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[] 92631#[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[] 92633#[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[] 96621#[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[] 94921#[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[] 91145#[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] 91147#[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] 94081#[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] 94083#[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] 95787#[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] 91269#[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] 91271#[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] 91449#[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] 91451#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 92245#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 95453#[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] 93157#[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] 93159#[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] 93341#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 95197#[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] 93197#[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] 93199#[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] 96069#[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] 94107#[$Ultimate##0, L747-4]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] 90993#[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[] 90995#[L722, L747-4]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] 96243#[L747-4, L723]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] 91879#[L723, 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] 91875#[L723, L746-2]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 97751#[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] 97749#[L728, 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] 91969#[L728, L746-4]don't care [150] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 95649#[L728, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 94039#[L728, L747]don't care [153] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 95563#[L728, 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] 93699#[L728, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 93701#[L728, 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] 97085#[$Ultimate##0, L747-4, L728]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] 97097#[$Ultimate##0, L747-5, L728]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] 97559#[L746-2, $Ultimate##0, L728]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 92729#[L746-3, $Ultimate##0, 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] 92731#[$Ultimate##0, 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] 95507#[$Ultimate##0, L728, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 97643#[$Ultimate##0, 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] 97673#[L747-1, $Ultimate##0, 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] 97675#[L747-2, $Ultimate##0, 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] 98277#[L747-3, $Ultimate##0, L728]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 98297#[$Ultimate##0, L728, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 95429#[L721-1, $Ultimate##0, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 95431#[$Ultimate##0, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 93727#[$Ultimate##0, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 93725#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [207] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 91541#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L722]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] 93119#[L723, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [211] L723-->L724: Formula: (<= 18 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[] 92021#[L724, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 94195#[L721-1, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 92215#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 92217#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:48,377 INFO L750 eck$LassoCheckResult]: Loop: 92217#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 92217#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:48,378 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:48,378 INFO L85 PathProgramCache]: Analyzing trace with hash -1863788889, now seen corresponding path program 1 times [2023-09-17 11:45:48,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:48,378 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [98698596] [2023-09-17 11:45:48,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:48,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:48,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:48,524 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2023-09-17 11:45:48,524 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:48,524 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [98698596] [2023-09-17 11:45:48,524 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [98698596] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:45:48,524 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [168079989] [2023-09-17 11:45:48,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:48,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:45:48,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:45:48,528 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:48,530 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:48,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:48,708 INFO L262 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:45:48,712 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:45:48,826 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2023-09-17 11:45:48,826 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:45:48,966 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2023-09-17 11:45:48,966 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [168079989] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:45:48,966 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:45:48,966 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:45:48,967 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816019171] [2023-09-17 11:45:48,967 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:45:48,968 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:48,968 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:48,969 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 4 times [2023-09-17 11:45:48,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:48,969 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [561863450] [2023-09-17 11:45:48,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:48,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:48,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:48,972 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:48,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:48,974 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:48,976 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:48,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:45:48,977 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:45:48,977 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 8.75) internal successors, (105), 12 states have internal predecessors, (105), 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:49,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:49,129 INFO L93 Difference]: Finished difference Result 5468 states and 14890 transitions. [2023-09-17 11:45:49,129 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:49,164 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:45:49,195 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 5468 states to 5468 states and 14890 transitions. [2023-09-17 11:45:49,195 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 2885 [2023-09-17 11:45:49,200 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2885 [2023-09-17 11:45:49,200 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:49,209 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:49,209 INFO L218 hiAutomatonCegarLoop]: Abstraction has 5468 states and 14890 transitions. [2023-09-17 11:45:49,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:49,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5468 to 4329. [2023-09-17 11:45:49,311 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:49,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4329 states to 4329 states and 11980 transitions. [2023-09-17 11:45:49,328 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4329 states and 11980 transitions. [2023-09-17 11:45:49,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2023-09-17 11:45:49,330 INFO L428 stractBuchiCegarLoop]: Abstraction has 4329 states and 11980 transitions. [2023-09-17 11:45:49,330 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 11:45:49,330 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4329 states and 11980 transitions. [2023-09-17 11:45:49,347 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:49,348 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:49,348 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:49,348 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:49,348 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:49,350 INFO L748 eck$LassoCheckResult]: Stem: 107640#[$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] 107642#[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[] 109590#[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[] 108290#[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[] 108016#[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[] 108018#[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[] 111598#[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[] 110108#[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[] 106706#[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] 106708#[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] 109308#[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] 109310#[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] 110914#[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] 106830#[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] 106832#[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] 106998#[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] 107000#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 107676#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 110628#[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] 108450#[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] 108452#[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] 108628#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 110358#[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] 108498#[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] 108500#[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] 111170#[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] 109342#[$Ultimate##0, L747-4]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#[L722, L747-4]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] 111292#[L747-4, L723]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] 111294#[L723, 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] 107368#[L723, L746-2]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 108962#[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] 109800#[L728, 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] 107460#[L728, L746-4]don't care [150] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 110782#[L728, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 109262#[L728, L747]don't care [153] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 110728#[L728, 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] 111384#[L728, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 108932#[L728, 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] 111896#[$Ultimate##0, L747-4, L728]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] 109518#[$Ultimate##0, L747-5, L728]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] 109520#[L746-2, $Ultimate##0, L728]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 108090#[L746-3, $Ultimate##0, 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] 108092#[$Ultimate##0, 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] 107380#[$Ultimate##0, L728, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 107382#[$Ultimate##0, 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] 112760#[L747-1, $Ultimate##0, 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] 109188#[L747-2, $Ultimate##0, 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] 109190#[L747-3, $Ultimate##0, L728]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 113308#[$Ultimate##0, L728, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 113310#[L721-1, $Ultimate##0, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 113974#[$Ultimate##0, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 108954#[$Ultimate##0, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 108952#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721]don't care [207] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 107074#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L722]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#[L723, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [212] L723-->L728: Formula: (< v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 108254#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L728]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] 109408#[L721-1, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]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] 107664#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 107662#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:49,350 INFO L750 eck$LassoCheckResult]: Loop: 107662#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [217] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 107662#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:49,350 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:49,351 INFO L85 PathProgramCache]: Analyzing trace with hash -1863758137, now seen corresponding path program 1 times [2023-09-17 11:45:49,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:49,355 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [177788382] [2023-09-17 11:45:49,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:49,355 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:49,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:49,374 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:49,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:49,391 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:49,392 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:49,392 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 5 times [2023-09-17 11:45:49,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:49,392 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [539648193] [2023-09-17 11:45:49,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:49,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:49,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:49,395 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:49,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:49,397 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:49,397 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:49,398 INFO L85 PathProgramCache]: Analyzing trace with hash -1941927182, now seen corresponding path program 1 times [2023-09-17 11:45:49,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:49,398 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1038663742] [2023-09-17 11:45:49,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:49,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:49,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:49,413 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:49,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:49,428 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:50,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:50,678 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:50,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:50,708 WARN L148 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:45:50,719 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:50,722 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:50,738 INFO L124 PetriNetUnfolderBase]: 15/135 cut-off events. [2023-09-17 11:45:50,738 INFO L125 PetriNetUnfolderBase]: For 7/7 co-relation queries the response was YES. [2023-09-17 11:45:50,739 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:50,739 INFO L82 GeneralOperation]: Start removeDead. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:50,742 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:50,742 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:50,742 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:50,742 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:50,742 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:50,742 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:50,742 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:50,742 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:50,743 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:50,743 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:04,894 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:04,895 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:04,895 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:04,895 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:04,896 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:04,896 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:04,896 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:16,271 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:16,272 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:16,272 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:16,273 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:16,273 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:16,274 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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 143#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) 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| 20) 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#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 199#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 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#[L721-1, L746-3]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 389#[salethreadFINAL, L746-3]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 480#[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] 589#[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] 728#[salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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#[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] 1137#[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] 1399#[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] 1663#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1917#[L747-4, $Ultimate##0, salethreadEXIT]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#[L721, L747-4, 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#[L747-4, L721-1, 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#[L747-5, L721-1, 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, L746-2, salethreadEXIT]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 5548#[L746-2, salethreadFINAL, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 6849#[L746-3, salethreadFINAL, salethreadEXIT]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 8391#[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| 20) 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#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 28516#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 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#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 81889#[salethreadEXIT, salethreadEXIT, $Ultimate##0, L746-3]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, 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] 130015#[salethreadEXIT, salethreadEXIT, 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] 160701#[salethreadEXIT, salethreadEXIT, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 196919#[salethreadEXIT, salethreadEXIT, 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] 238234#[salethreadEXIT, salethreadEXIT, L747-1, L721]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[] 282181#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 324950#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 362094#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 391019#[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#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 422918#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:46:16,275 INFO L750 eck$LassoCheckResult]: Loop: 422918#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 422918#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:46:16,275 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:16,275 INFO L85 PathProgramCache]: Analyzing trace with hash 817555732, now seen corresponding path program 1 times [2023-09-17 11:46:16,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:16,275 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [701448412] [2023-09-17 11:46:16,276 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:16,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:16,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:46:16,322 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:16,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:46:16,323 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [701448412] [2023-09-17 11:46:16,323 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [701448412] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:46:16,323 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:46:16,323 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:46:16,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [211711750] [2023-09-17 11:46:16,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:46:16,323 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:46:16,324 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:16,324 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 1 times [2023-09-17 11:46:16,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:16,324 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55978989] [2023-09-17 11:46:16,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:16,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:16,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:16,327 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:16,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:16,329 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:16,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:46:16,334 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:46:16,334 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:46:16,334 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:27,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:46:27,805 INFO L93 Difference]: Finished difference Result 610157 states and 2476914 transitions. [2023-09-17 11:46:27,805 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 610157 states and 2476914 transitions. [2023-09-17 11:46:45,996 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:46:52,169 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 610157 states to 333039 states and 1347274 transitions. [2023-09-17 11:46:52,169 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46280 [2023-09-17 11:46:52,558 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63752 [2023-09-17 11:46:52,558 INFO L73 IsDeterministic]: Start isDeterministic. Operand 333039 states and 1347274 transitions. [2023-09-17 11:46:53,232 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:46:53,233 INFO L218 hiAutomatonCegarLoop]: Abstraction has 333039 states and 1347274 transitions. [2023-09-17 11:46:54,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 333039 states and 1347274 transitions. [2023-09-17 11:47:00,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 333039 to 97019. [2023-09-17 11:47:00,426 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:47:01,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97019 states to 97019 states and 400441 transitions. [2023-09-17 11:47:01,474 INFO L240 hiAutomatonCegarLoop]: Abstraction has 97019 states and 400441 transitions. [2023-09-17 11:47:01,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:47:01,475 INFO L428 stractBuchiCegarLoop]: Abstraction has 97019 states and 400441 transitions. [2023-09-17 11:47:01,475 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:47:01,476 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 97019 states and 400441 transitions. [2023-09-17 11:47:02,657 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:02,657 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:02,658 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:02,659 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:02,659 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:02,661 INFO L748 eck$LassoCheckResult]: Stem: 1091295#[$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] 1089249#[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[] 1051327#[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[] 1047717#[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[] 1047719#[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[] 1080001#[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[] 1080003#[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[] 1086175#[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[] 1044347#[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] 1044349#[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] 1052485#[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] 1080283#[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] 1054443#[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] 1054445#[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] 1070279#[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] 1106609#[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] 1106611#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1095975#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1087819#[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] 1047991#[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] 1047993#[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] 1048515#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1065663#[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] 1065665#[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] 1055049#[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] 1055051#[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] 1096949#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1091717#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1056449#[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] 1056451#[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[] 1063299#[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] 1063301#[L722, L746-3]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] 1065335#[L746-3, L723]don't care [298] L723-->L724: Formula: (<= 18 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[] 1058015#[L746-3, L724]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] 1058017#[L746-4, L724]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] 1120147#[L746-5, L724]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1120109#[L747, L724]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] 1067321#[L724, L747-1]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] 1067317#[L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1120477#[salethreadFINAL, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1061305#[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] 1120771#[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] 1120757#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1120749#[L747-4, $Ultimate##0, salethreadEXIT]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] 1120187#[L721, L747-4, 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[] 1090795#[L747-4, L721-1, 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] 1090797#[L747-5, L721-1, 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] 1174519#[L721-1, L746-2, salethreadEXIT]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 1179905#[L746-2, salethreadFINAL, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1078783#[L746-3, salethreadFINAL, salethreadEXIT]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1078785#[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] 1072747#[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] 1060999#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1061001#[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] 1092767#[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] 1061891#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1061893#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1118167#[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] 1176835#[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] 1047971#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1110059#[salethreadEXIT, salethreadEXIT, $Ultimate##0, L746-3]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] 1237429#[salethreadEXIT, 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] 1237431#[salethreadEXIT, salethreadEXIT, 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] 1237491#[salethreadEXIT, salethreadEXIT, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1090939#[salethreadEXIT, salethreadEXIT, 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] 1234109#[salethreadEXIT, salethreadEXIT, L747-1, L721]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[] 1237869#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 1232851#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1051873#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1051875#[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] 1046433#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1076033#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:02,661 INFO L750 eck$LassoCheckResult]: Loop: 1076033#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1076033#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:02,662 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:02,663 INFO L85 PathProgramCache]: Analyzing trace with hash 1381011446, now seen corresponding path program 1 times [2023-09-17 11:47:02,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:02,663 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [220314756] [2023-09-17 11:47:02,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:02,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:02,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:02,739 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:47:02,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:02,739 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [220314756] [2023-09-17 11:47:02,739 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [220314756] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:47:02,741 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:47:02,741 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:47:02,741 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [75071841] [2023-09-17 11:47:02,742 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:47:02,742 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:02,743 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:02,743 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 2 times [2023-09-17 11:47:02,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:02,745 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [692740839] [2023-09-17 11:47:02,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:02,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:02,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:02,749 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:02,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:02,753 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:02,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:02,755 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:47:02,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:47:02,756 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:47:04,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:04,576 INFO L93 Difference]: Finished difference Result 137551 states and 536489 transitions. [2023-09-17 11:47:04,576 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 137551 states and 536489 transitions. [2023-09-17 11:47:07,460 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:47:09,070 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 137551 states to 137551 states and 536489 transitions. [2023-09-17 11:47:09,071 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 56165 [2023-09-17 11:47:09,192 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 56165 [2023-09-17 11:47:09,192 INFO L73 IsDeterministic]: Start isDeterministic. Operand 137551 states and 536489 transitions. [2023-09-17 11:47:09,397 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:09,397 INFO L218 hiAutomatonCegarLoop]: Abstraction has 137551 states and 536489 transitions. [2023-09-17 11:47:09,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137551 states and 536489 transitions. [2023-09-17 11:47:12,341 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137551 to 98327. [2023-09-17 11:47:12,553 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:47:13,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98327 states to 98327 states and 393162 transitions. [2023-09-17 11:47:13,621 INFO L240 hiAutomatonCegarLoop]: Abstraction has 98327 states and 393162 transitions. [2023-09-17 11:47:13,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:13,622 INFO L428 stractBuchiCegarLoop]: Abstraction has 98327 states and 393162 transitions. [2023-09-17 11:47:13,622 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:47:13,622 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 98327 states and 393162 transitions. [2023-09-17 11:47:14,806 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:14,807 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:14,807 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:14,808 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:14,808 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:14,809 INFO L748 eck$LassoCheckResult]: Stem: 1423333#[$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] 1421193#[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[] 1382685#[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[] 1379249#[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[] 1379251#[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[] 1411811#[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[] 1411813#[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[] 1417967#[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[] 1375943#[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] 1375945#[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] 1383857#[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] 1412107#[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] 1385801#[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] 1385803#[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] 1401781#[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] 1439205#[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] 1439207#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1428237#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1419653#[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] 1379551#[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] 1379553#[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] 1380021#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1397063#[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] 1397065#[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] 1386383#[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] 1386385#[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] 1429225#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1423697#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1387721#[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] 1387723#[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] 1401803#[L721, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1409239#[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] 1453489#[L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1384099#[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] 1438897#[L721, 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] 1411221#[L721, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1411223#[L721, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1406361#[L747-4, L721, $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] 1387791#[L721, L747-4, 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[] 1387793#[L747-4, L721, 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] 1436201#[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] 1383503#[L721, L722, L746-2]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] 1383497#[L721, L746-2, L723]don't care [278] L723-->L724: Formula: (<= 18 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[] 1383623#[L721, L746-2, L724]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1490311#[L746-3, L721, 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] 1386925#[L746-3, L721-1, 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] 1408127#[L746-3, L721, salethreadFINAL]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[] 1400087#[L746-3, L721-1, salethreadFINAL]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1379587#[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] 1536585#[L746-3, salethreadEXIT, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1536525#[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] 1536517#[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] 1536505#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1536493#[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] 1536491#[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] 1534755#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1536487#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1528973#[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] 1536483#[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] 1536481#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1533005#[salethreadEXIT, salethreadEXIT, $Ultimate##0, L746-3]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] 1568363#[salethreadEXIT, 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] 1568365#[salethreadEXIT, salethreadEXIT, 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] 1532959#[salethreadEXIT, salethreadEXIT, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1535387#[salethreadEXIT, salethreadEXIT, 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] 1406743#[salethreadEXIT, salethreadEXIT, L747-1, L721]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[] 1378321#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 1385271#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1383237#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1383239#[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] 1377987#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1407689#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:14,809 INFO L750 eck$LassoCheckResult]: Loop: 1407689#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1407689#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:14,809 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:14,809 INFO L85 PathProgramCache]: Analyzing trace with hash 208125148, now seen corresponding path program 1 times [2023-09-17 11:47:14,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:14,810 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [899389803] [2023-09-17 11:47:14,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:14,810 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:14,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:14,888 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:47:14,889 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:14,889 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [899389803] [2023-09-17 11:47:14,889 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [899389803] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:47:14,889 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:47:14,889 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:47:14,889 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2067942009] [2023-09-17 11:47:14,889 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:47:14,889 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:14,890 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:14,890 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 3 times [2023-09-17 11:47:14,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:14,890 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1703208226] [2023-09-17 11:47:14,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:14,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:14,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:14,893 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:14,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:14,895 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:14,897 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:14,897 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:47:14,897 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:47:14,897 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:47:15,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:15,923 INFO L93 Difference]: Finished difference Result 113639 states and 435276 transitions. [2023-09-17 11:47:15,923 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:18,140 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:47:19,422 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 113639 states to 113639 states and 435276 transitions. [2023-09-17 11:47:19,422 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44701 [2023-09-17 11:47:19,518 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44701 [2023-09-17 11:47:19,518 INFO L73 IsDeterministic]: Start isDeterministic. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:19,944 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:19,944 INFO L218 hiAutomatonCegarLoop]: Abstraction has 113639 states and 435276 transitions. [2023-09-17 11:47:20,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:22,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113639 to 88588. [2023-09-17 11:47:22,400 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:23,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88588 states to 88588 states and 345992 transitions. [2023-09-17 11:47:23,282 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88588 states and 345992 transitions. [2023-09-17 11:47:23,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:23,283 INFO L428 stractBuchiCegarLoop]: Abstraction has 88588 states and 345992 transitions. [2023-09-17 11:47:23,283 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 11:47:23,283 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88588 states and 345992 transitions. [2023-09-17 11:47:24,017 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:24,018 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:24,018 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:24,019 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:24,019 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:24,022 INFO L748 eck$LassoCheckResult]: Stem: 1730635#[$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] 1728585#[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[] 1692329#[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[] 1689193#[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[] 1689195#[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[] 1719615#[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[] 1719617#[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[] 1725509#[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[] 1686217#[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] 1686219#[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] 1693427#[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] 1719907#[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] 1695281#[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] 1695283#[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] 1710365#[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] 1745667#[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] 1745669#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1735153#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1727089#[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] 1689481#[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] 1689483#[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] 1689931#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1705937#[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] 1705939#[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] 1695829#[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] 1695831#[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] 1736093#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1730997#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1697097#[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] 1697099#[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] 1760259#[L721, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1760257#[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] 1760255#[L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1693675#[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] 1745373#[L721, 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] 1719103#[L721, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1719099#[L721, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1714703#[L747-4, L721, $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] 1697163#[L721, L747-4, 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] 1697167#[L721, L747-5, L721]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1732191#[L721, L721, L746-2]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1732189#[L746-3, L721, 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] 1745187#[L721, 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] 1745183#[L721, L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1708761#[L721, 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] 1708759#[L721, 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] 1742451#[L721, L721, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1699627#[L721, L721, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1763601#[L747-4, L721, $Ultimate##0, 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] 1763605#[L747-5, L721, $Ultimate##0, 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] 1736947#[L746-2, L721, $Ultimate##0, 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] 1715941#[L721, $Ultimate##0, L721, L746-3]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] 1715937#[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[] 1724975#[L722, L721, L721, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1724977#[L722, 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] 1723783#[L722, L721, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1757989#[L722, 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] 1747617#[L722, L721, L747-1, L721]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] 1754243#[L721, L747-1, L723, L721]don't care [288] L723-->L724: Formula: (<= 18 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[] 1691881#[L721, L747-1, L721, L724]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] 1793161#[L721-1, L721, L747-1, L721]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[] 1732817#[L721-1, L721-1, L747-1, 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] 1738205#[salethreadFINAL, L721-1, L747-1, 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[] 1828469#[salethreadFINAL, L721-1, L721-1, L747-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1717101#[salethreadEXIT, L721-1, L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1707013#[salethreadEXIT, salethreadFINAL, L721-1, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1688363#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 1694803#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1692833#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1692835#[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] 1688063#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1715871#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:24,022 INFO L750 eck$LassoCheckResult]: Loop: 1715871#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1715871#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:24,023 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:24,023 INFO L85 PathProgramCache]: Analyzing trace with hash 552590324, now seen corresponding path program 1 times [2023-09-17 11:47:24,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:24,023 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [244133449] [2023-09-17 11:47:24,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:24,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:24,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:24,333 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:24,333 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:24,334 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [244133449] [2023-09-17 11:47:24,334 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [244133449] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:47:24,334 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:47:24,334 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:47:24,334 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1245835834] [2023-09-17 11:47:24,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:47:24,334 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:24,334 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:24,335 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 4 times [2023-09-17 11:47:24,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:24,335 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [924068026] [2023-09-17 11:47:24,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:24,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:24,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:24,341 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:24,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:24,346 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:24,348 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:24,348 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:47:24,348 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:47:24,348 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:25,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:25,322 INFO L93 Difference]: Finished difference Result 93587 states and 356302 transitions. [2023-09-17 11:47:25,322 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:26,800 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:47:27,771 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 93587 states to 93587 states and 356302 transitions. [2023-09-17 11:47:27,772 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36718 [2023-09-17 11:47:27,837 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36718 [2023-09-17 11:47:27,838 INFO L73 IsDeterministic]: Start isDeterministic. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:27,974 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:27,974 INFO L218 hiAutomatonCegarLoop]: Abstraction has 93587 states and 356302 transitions. [2023-09-17 11:47:28,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:29,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93587 to 76455. [2023-09-17 11:47:30,052 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:30,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76455 states to 76455 states and 293869 transitions. [2023-09-17 11:47:30,941 INFO L240 hiAutomatonCegarLoop]: Abstraction has 76455 states and 293869 transitions. [2023-09-17 11:47:30,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:30,942 INFO L428 stractBuchiCegarLoop]: Abstraction has 76455 states and 293869 transitions. [2023-09-17 11:47:30,942 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 11:47:30,942 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 76455 states and 293869 transitions. [2023-09-17 11:47:31,932 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:31,932 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:31,932 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:31,933 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:31,933 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:31,934 INFO L748 eck$LassoCheckResult]: Stem: 1999947#[$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] 1997999#[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[] 1962905#[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[] 1959887#[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[] 1959889#[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[] 1989227#[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[] 1989229#[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[] 1995053#[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[] 1956957#[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] 1956959#[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] 1963935#[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] 1989515#[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] 1965775#[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] 1965777#[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] 1980191#[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] 2014513#[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] 2014515#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2004323#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1996617#[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] 1960141#[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] 1960143#[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] 1960603#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1976013#[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] 1976015#[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] 1966299#[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] 1966301#[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] 2005219#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2000275#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1967425#[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] 1967427#[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[] 1980201#[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] 2030475#[L722, L746-3]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] 1975707#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2018815#[L746-3, L728]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] 2018817#[L746-4, L728]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] 2031151#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2030993#[L747, L728]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] 1970357#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 1970353#[L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1971615#[salethreadFINAL, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1972019#[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] 1987807#[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] 2056289#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 2026525#[L747-4, $Ultimate##0, salethreadEXIT]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] 2026527#[L721, L747-4, 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[] 1961871#[L747-4, L722, 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] 1961873#[L747-5, L722, 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] 2022147#[L722, L746-2, salethreadEXIT]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 2001601#[L746-2, L723, salethreadEXIT]don't care [278] L723-->L724: Formula: (<= 18 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[] 2001603#[L746-2, L724, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1970905#[L746-3, L724, salethreadEXIT]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] 2023841#[L746-3, L721-1, 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] 1988049#[L746-3, salethreadFINAL, salethreadEXIT]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1988051#[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] 1982527#[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] 2006599#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 1976585#[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] 1996475#[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] 1972519#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1972521#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 1969341#[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] 1960111#[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] 1960113#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2009717#[salethreadEXIT, salethreadEXIT, $Ultimate##0, L746-3]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] 2059261#[salethreadEXIT, 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] 2059263#[salethreadEXIT, salethreadEXIT, 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] 2011809#[salethreadEXIT, salethreadEXIT, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2033815#[salethreadEXIT, salethreadEXIT, 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] 1988657#[salethreadEXIT, salethreadEXIT, L747-1, L721]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[] 1959039#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 1965849#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1963407#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1963409#[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] 1958759#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1985491#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:31,935 INFO L750 eck$LassoCheckResult]: Loop: 1985491#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1985491#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:31,935 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:31,935 INFO L85 PathProgramCache]: Analyzing trace with hash -1774185678, now seen corresponding path program 1 times [2023-09-17 11:47:31,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:31,935 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [317980766] [2023-09-17 11:47:31,935 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:31,935 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:31,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:32,019 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:32,020 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:32,020 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [317980766] [2023-09-17 11:47:32,020 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [317980766] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:32,020 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [929848009] [2023-09-17 11:47:32,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:32,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:32,021 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:32,055 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:32,057 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:32,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:32,143 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:32,148 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:32,194 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:32,194 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:32,257 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:32,257 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [929848009] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:32,257 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:32,257 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:32,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [163731943] [2023-09-17 11:47:32,259 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:32,260 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:32,260 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:32,260 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 5 times [2023-09-17 11:47:32,260 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:32,260 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [682500635] [2023-09-17 11:47:32,260 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:32,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:32,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:32,264 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:32,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:32,266 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:32,267 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:32,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:32,268 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:32,269 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:33,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:33,934 INFO L93 Difference]: Finished difference Result 133523 states and 482978 transitions. [2023-09-17 11:47:33,934 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:36,690 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:38,180 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 133523 states to 133523 states and 482978 transitions. [2023-09-17 11:47:38,181 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52581 [2023-09-17 11:47:38,271 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52581 [2023-09-17 11:47:38,271 INFO L73 IsDeterministic]: Start isDeterministic. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:38,464 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:38,464 INFO L218 hiAutomatonCegarLoop]: Abstraction has 133523 states and 482978 transitions. [2023-09-17 11:47:38,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:41,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133523 to 74350. [2023-09-17 11:47:41,173 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:41,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74350 states to 74350 states and 280994 transitions. [2023-09-17 11:47:41,509 INFO L240 hiAutomatonCegarLoop]: Abstraction has 74350 states and 280994 transitions. [2023-09-17 11:47:41,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:41,509 INFO L428 stractBuchiCegarLoop]: Abstraction has 74350 states and 280994 transitions. [2023-09-17 11:47:41,510 INFO L335 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2023-09-17 11:47:41,510 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 74350 states and 280994 transitions. [2023-09-17 11:47:42,437 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:42,438 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:42,438 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:42,439 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:42,439 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:42,440 INFO L748 eck$LassoCheckResult]: Stem: 2283433#[$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] 2281655#[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[] 2249497#[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[] 2246589#[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[] 2246591#[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[] 2273747#[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[] 2273749#[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[] 2279113#[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[] 2243857#[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] 2243859#[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] 2250393#[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] 2273993#[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] 2251993#[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] 2251995#[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] 2265401#[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] 2296913#[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] 2296915#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2287295#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2280433#[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] 2246853#[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] 2246855#[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] 2247287#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2261475#[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] 2261477#[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] 2252503#[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] 2252505#[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] 2288063#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2283755#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 2253563#[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] 2253565#[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[] 2265403#[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] 2310709#[L722, L746-3]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] 2261183#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2300889#[L746-3, L728]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] 2300891#[L746-4, L728]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] 2311001#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2310999#[L747, L728]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] 2256235#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2256231#[L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2257361#[salethreadFINAL, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2257755#[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] 2272465#[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] 2321643#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 2307947#[L747-4, $Ultimate##0, salethreadEXIT]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] 2307949#[L721, 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] 2309119#[L721, 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] 2286933#[L721, L746-2, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2251761#[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] 2244807#[L721, 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] 2249755#[L721, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2298145#[L721, 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] 2305471#[L721, 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] 2284335#[L721, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2252955#[L721, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 2252959#[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] 2317587#[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] 2326767#[L746-2, salethreadEXIT, L721, $Ultimate##0]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2326763#[salethreadEXIT, L721, $Ultimate##0, L746-3]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] 2323613#[salethreadEXIT, L721, L746-3, L721]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2323599#[salethreadEXIT, L721, L722, 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] 2330079#[salethreadEXIT, L721, L722, L746-4]don't care [227] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2317941#[salethreadEXIT, L721, L722, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2319487#[salethreadEXIT, L721, L722, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2320023#[salethreadEXIT, L721, L722, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 2320003#[salethreadEXIT, L721, L747-1, L723]don't care [288] L723-->L724: Formula: (<= 18 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[] 2345531#[salethreadEXIT, L721, L747-1, L724]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] 2348435#[salethreadEXIT, L721, 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[] 2387915#[salethreadEXIT, L721-1, L721-1, L747-1]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 2391607#[salethreadFINAL, salethreadEXIT, L721-1, L747-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2387105#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 2251537#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2249945#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2249947#[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] 2245521#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2270361#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:42,440 INFO L750 eck$LassoCheckResult]: Loop: 2270361#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2270361#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:42,440 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:42,440 INFO L85 PathProgramCache]: Analyzing trace with hash -765622130, now seen corresponding path program 1 times [2023-09-17 11:47:42,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:42,441 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342802982] [2023-09-17 11:47:42,441 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:42,441 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:42,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:42,531 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:42,531 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:42,531 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1342802982] [2023-09-17 11:47:42,532 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1342802982] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:42,532 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1075057575] [2023-09-17 11:47:42,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:42,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:42,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:42,535 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:42,536 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:42,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:42,619 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:42,623 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:42,683 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:42,683 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:42,758 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:42,758 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1075057575] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:42,758 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:42,758 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:42,758 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1986454213] [2023-09-17 11:47:42,758 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:42,759 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:42,759 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:42,759 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 6 times [2023-09-17 11:47:42,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:42,759 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1640395438] [2023-09-17 11:47:42,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:42,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:42,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:42,762 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:42,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:42,764 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:42,766 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:42,766 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:42,767 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:42,767 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:44,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:44,235 INFO L93 Difference]: Finished difference Result 128965 states and 457813 transitions. [2023-09-17 11:47:44,236 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:46,084 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:47,566 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 128965 states to 128965 states and 457813 transitions. [2023-09-17 11:47:47,567 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51807 [2023-09-17 11:47:47,651 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51807 [2023-09-17 11:47:47,651 INFO L73 IsDeterministic]: Start isDeterministic. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:47,814 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:47,814 INFO L218 hiAutomatonCegarLoop]: Abstraction has 128965 states and 457813 transitions. [2023-09-17 11:47:48,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:49,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128965 to 70996. [2023-09-17 11:47:50,095 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:50,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70996 states to 70996 states and 261129 transitions. [2023-09-17 11:47:50,862 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70996 states and 261129 transitions. [2023-09-17 11:47:50,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:50,863 INFO L428 stractBuchiCegarLoop]: Abstraction has 70996 states and 261129 transitions. [2023-09-17 11:47:50,863 INFO L335 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2023-09-17 11:47:50,863 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70996 states and 261129 transitions. [2023-09-17 11:47:51,430 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:51,430 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:51,430 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:51,431 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:51,431 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:51,432 INFO L748 eck$LassoCheckResult]: Stem: 2559677#[$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] 2557971#[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[] 2527415#[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[] 2524665#[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[] 2524667#[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[] 2550395#[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[] 2550397#[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[] 2555449#[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[] 2522025#[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] 2522027#[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] 2528329#[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] 2550631#[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] 2529867#[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] 2529869#[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] 2542477#[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] 2572395#[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] 2572397#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2563437#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2556789#[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] 2524935#[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] 2524937#[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] 2525361#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2538933#[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] 2538935#[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] 2530385#[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] 2530387#[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] 2564163#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2559975#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 2531435#[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] 2531437#[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] 2584429#[L721, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2584415#[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] 2583593#[L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2528565#[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] 2572115#[L721, 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] 2549977#[L721, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2549979#[L721, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 2546227#[L747-4, L721, $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] 2531483#[L721, L747-4, 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[] 2531485#[L747-4, L721, 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] 2569295#[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] 2569297#[L721, L722, L746-2]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] 2528031#[L721, L746-2, L723]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2528137#[L728, L721, L746-2]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2573789#[L746-3, L728, 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] 2547563#[L746-3, L721-1, 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] 2547565#[L746-3, L721, salethreadFINAL]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2524957#[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] 2524959#[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] 2531831#[L721, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2565075#[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] 2527675#[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] 2527677#[L721, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2527391#[L721, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 2527387#[salethreadEXIT, L747-4, $Ultimate##0, 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] 2560579#[salethreadEXIT, L747-5, $Ultimate##0, 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] 2558107#[L746-2, salethreadEXIT, $Ultimate##0, 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] 2555379#[salethreadEXIT, $Ultimate##0, L721, L746-3]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] 2555377#[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[] 2549823#[salethreadEXIT, L722, L721, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2545539#[salethreadEXIT, L722, 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] 2545541#[salethreadEXIT, L722, L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2564433#[salethreadEXIT, L722, 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] 2527811#[salethreadEXIT, L722, L747-1, L721]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] 2573875#[salethreadEXIT, L747-1, L723, L721]don't care [288] L723-->L724: Formula: (<= 18 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[] 2568669#[salethreadEXIT, L747-1, L721, L724]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] 2536697#[salethreadEXIT, L721-1, L747-1, 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[] 2536693#[salethreadEXIT, L721-1, L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2535243#[salethreadEXIT, salethreadFINAL, L721-1, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2662129#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 2529425#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2527855#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2527857#[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] 2523611#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2547237#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:51,433 INFO L750 eck$LassoCheckResult]: Loop: 2547237#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2547237#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:51,433 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:51,433 INFO L85 PathProgramCache]: Analyzing trace with hash 1856385764, now seen corresponding path program 1 times [2023-09-17 11:47:51,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:51,433 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [110028518] [2023-09-17 11:47:51,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:51,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:51,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:51,509 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:51,509 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:51,509 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [110028518] [2023-09-17 11:47:51,510 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [110028518] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:51,510 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1570255077] [2023-09-17 11:47:51,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:51,510 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:51,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:51,513 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:51,514 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:51,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:51,600 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:51,606 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:51,669 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:51,670 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:51,746 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:51,746 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1570255077] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:51,747 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:51,747 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:51,748 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [693754560] [2023-09-17 11:47:51,748 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:51,749 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:51,749 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:51,749 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 7 times [2023-09-17 11:47:51,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:51,749 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1747691029] [2023-09-17 11:47:51,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:51,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:51,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:51,753 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:51,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:51,755 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:51,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:51,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:51,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:51,757 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:53,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:53,418 INFO L93 Difference]: Finished difference Result 122857 states and 432367 transitions. [2023-09-17 11:47:53,418 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:55,303 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 12 [2023-09-17 11:47:56,557 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 122857 states to 122857 states and 432367 transitions. [2023-09-17 11:47:56,558 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 48311 [2023-09-17 11:47:56,649 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 48311 [2023-09-17 11:47:56,650 INFO L73 IsDeterministic]: Start isDeterministic. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:56,809 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:56,809 INFO L218 hiAutomatonCegarLoop]: Abstraction has 122857 states and 432367 transitions. [2023-09-17 11:47:57,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:58,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122857 to 70860. [2023-09-17 11:47:58,919 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:59,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70860 states to 70860 states and 257445 transitions. [2023-09-17 11:47:59,629 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70860 states and 257445 transitions. [2023-09-17 11:47:59,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:59,641 INFO L428 stractBuchiCegarLoop]: Abstraction has 70860 states and 257445 transitions. [2023-09-17 11:47:59,641 INFO L335 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2023-09-17 11:47:59,642 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70860 states and 257445 transitions. [2023-09-17 11:48:00,199 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:48:00,199 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:48:00,199 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:48:00,200 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:48:00,200 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:48:00,201 INFO L748 eck$LassoCheckResult]: Stem: 2822691#[$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] 2821085#[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[] 2792459#[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[] 2789827#[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[] 2789829#[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[] 2813955#[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[] 2813957#[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[] 2818793#[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[] 2787313#[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] 2787315#[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] 2793325#[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] 2814179#[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] 2794693#[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] 2794695#[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] 2806489#[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] 2834263#[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] 2834265#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2826031#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2819965#[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] 2790037#[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] 2790039#[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] 2790439#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2803143#[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] 2803145#[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] 2795155#[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] 2795157#[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] 2826751#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2822897#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 2796143#[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] 2796145#[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[] 2806505#[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] 2851649#[L722, L746-3]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] 2802943#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2837811#[L746-3, L728]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] 2845173#[L746-4, L728]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] 2845171#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2845169#[L747, L728]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] 2798559#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2798555#[L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2799609#[salethreadFINAL, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2799973#[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] 2812837#[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] 2844917#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 2843911#[L747-4, $Ultimate##0, salethreadEXIT]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] 2843913#[L721, L747-4, 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[] 2791525#[L747-4, L722, 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] 2791527#[L747-5, L722, 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] 2820027#[L722, L746-2, salethreadEXIT]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 2820029#[L746-2, L723, salethreadEXIT]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2823989#[L728, L746-2, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2887601#[L746-3, L728, 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] 2887855#[L746-3, L721-1, 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] 2887857#[L746-3, salethreadFINAL, salethreadEXIT]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2887897#[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] 2887883#[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] 2887805#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2885513#[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] 2885439#[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] 2885421#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2887963#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 2885347#[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] 2885351#[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] 2898259#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2901717#[salethreadEXIT, salethreadEXIT, $Ultimate##0, L746-3]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] 2910817#[salethreadEXIT, salethreadEXIT, L746-3, L721]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2902987#[salethreadEXIT, salethreadEXIT, L722, 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] 2904167#[salethreadEXIT, salethreadEXIT, L722, L746-4]don't care [227] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2902165#[salethreadEXIT, salethreadEXIT, L722, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 2914587#[salethreadEXIT, salethreadEXIT, L722, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2914349#[salethreadEXIT, salethreadEXIT, L722, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 2918037#[salethreadEXIT, salethreadEXIT, L747-1, L723]don't care [288] L723-->L724: Formula: (<= 18 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[] 2791101#[salethreadEXIT, salethreadEXIT, L747-1, L724]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] 2789105#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 2794321#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2792869#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2792871#[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] 2788839#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2810931#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:48:00,202 INFO L750 eck$LassoCheckResult]: Loop: 2810931#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2810931#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:48:00,202 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:00,202 INFO L85 PathProgramCache]: Analyzing trace with hash -1587485008, now seen corresponding path program 1 times [2023-09-17 11:48:00,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:00,202 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1812511392] [2023-09-17 11:48:00,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:00,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:00,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:48:00,312 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:48:00,312 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:48:00,312 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1812511392] [2023-09-17 11:48:00,312 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1812511392] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:48:00,312 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1567878227] [2023-09-17 11:48:00,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:00,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:48:00,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:48:00,317 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:48:00,336 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:48:00,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:48:00,403 INFO L262 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2023-09-17 11:48:00,404 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:48:00,478 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:48:00,478 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:48:00,586 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:48:00,587 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1567878227] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:48:00,587 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:48:00,587 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 16 [2023-09-17 11:48:00,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1430383279] [2023-09-17 11:48:00,587 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:48:00,588 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:48:00,588 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:00,588 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 8 times [2023-09-17 11:48:00,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:00,588 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [860011793] [2023-09-17 11:48:00,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:00,588 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:00,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:00,591 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:00,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:00,593 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:48:00,599 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:48:00,600 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2023-09-17 11:48:00,600 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2023-09-17 11:48:00,600 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:48:02,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:48:02,483 INFO L93 Difference]: Finished difference Result 117177 states and 408323 transitions. [2023-09-17 11:48:02,483 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 117177 states and 408323 transitions. [2023-09-17 11:48:04,134 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:48:05,300 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 117177 states to 117177 states and 408323 transitions. [2023-09-17 11:48:05,300 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46372 [2023-09-17 11:48:05,376 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 46372 [2023-09-17 11:48:05,377 INFO L73 IsDeterministic]: Start isDeterministic. Operand 117177 states and 408323 transitions. [2023-09-17 11:48:05,759 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:48:05,759 INFO L218 hiAutomatonCegarLoop]: Abstraction has 117177 states and 408323 transitions. [2023-09-17 11:48:05,968 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117177 states and 408323 transitions. [2023-09-17 11:48:08,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117177 to 55742. [2023-09-17 11:48:08,329 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:48:08,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55742 states to 55742 states and 202944 transitions. [2023-09-17 11:48:08,618 INFO L240 hiAutomatonCegarLoop]: Abstraction has 55742 states and 202944 transitions. [2023-09-17 11:48:08,618 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2023-09-17 11:48:08,619 INFO L428 stractBuchiCegarLoop]: Abstraction has 55742 states and 202944 transitions. [2023-09-17 11:48:08,620 INFO L335 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2023-09-17 11:48:08,620 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 55742 states and 202944 transitions. [2023-09-17 11:48:09,610 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:48:09,610 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:48:09,610 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:48:09,611 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:48:09,611 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:48:09,612 INFO L748 eck$LassoCheckResult]: Stem: 3079871#[$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] 3078415#[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[] 3051499#[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[] 3049057#[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[] 3049059#[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[] 3071695#[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[] 3071697#[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[] 3076263#[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] 3052345#[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] 3071875#[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] 3053743#[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] 3053745#[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] 3064711#[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] 3090799#[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] 3090801#[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) (= (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 80) |v_#length_3|) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 3082973#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 20) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 3077347#[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] 3049251#[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] 3049253#[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] 3049645#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 3061539#[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] 3061541#[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] 3054191#[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] 3054193#[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] 3083637#[$Ultimate##0, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 3080083#[$Ultimate##0, L747-5]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 3055175#[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] 3055177#[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[] 3060073#[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] 3060075#[L722, L746-3]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] 3061361#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3094077#[L746-3, L728]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] 3063279#[L746-4, L728]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] 3063281#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 3109139#[L747, L728]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] 3057423#[L728, L747-1]don't care [302] L728-->L721-1: Formula: (= (+ v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2, salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_7} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 3057419#[L721-1, L747-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 3058393#[salethreadFINAL, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3058725#[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] 3070597#[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] 3102959#[salethreadEXIT, L747-3]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 3102203#[L747-4, $Ultimate##0, salethreadEXIT]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] 3101127#[L721, L747-4, 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[] 3050673#[L747-4, L722, 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] 3050675#[L747-5, L722, 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] 3096547#[L722, L746-2, salethreadEXIT]don't care [276] L722-->L723: Formula: (= v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_1, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_~_numberOfSeatsSold~0] 3122355#[L746-2, L723, salethreadEXIT]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3122403#[L728, L746-2, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3068363#[L746-3, L728, 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] 3097829#[L746-3, L721-1, 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] 3097831#[L746-3, salethreadFINAL, salethreadEXIT]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3070789#[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] 3066535#[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] 3058507#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 3058509#[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] 3077235#[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] 3059031#[salethreadEXIT, salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 3059033#[salethreadEXIT, salethreadEXIT, L747-3]don't care [307] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread3of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread3of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread3of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_31|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_4|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_4|, salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_4|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_4, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread3of3ForFork0_thidvar0=v_salethreadThread3of3ForFork0_thidvar0_2, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_31|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_4|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#in~arg.offset, salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base, salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0, salethreadThread3of3ForFork0_thidvar0, salethreadThread3of3ForFork0_~arg.base, salethreadThread3of3ForFork0_#in~arg.base] 3137441#[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] 3137443#[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] 3049229#[L746-2, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3080803#[salethreadEXIT, salethreadEXIT, $Ultimate##0, L746-3]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] 3080805#[salethreadEXIT, salethreadEXIT, L746-3, L721]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 3061093#[salethreadEXIT, salethreadEXIT, L722, 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] 3096943#[salethreadEXIT, salethreadEXIT, L722, L746-4]don't care [227] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3075803#[salethreadEXIT, salethreadEXIT, L722, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 20) 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[] 3070565#[salethreadEXIT, salethreadEXIT, L722, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 3084799#[salethreadEXIT, salethreadEXIT, L722, L747-1]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 3152301#[salethreadEXIT, salethreadEXIT, L747-1, L723]don't care [289] L723-->L728: Formula: (< v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5 18) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3152303#[salethreadEXIT, salethreadEXIT, L747-1, L728]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] 3157587#[salethreadEXIT, salethreadEXIT, L721-1, L747-1]don't care [287] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread3of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread3of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread3of3ForFork0_#res.base=|v_salethreadThread3of3ForFork0_#res.base_1|, salethreadThread3of3ForFork0_#res.offset=|v_salethreadThread3of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_#res.offset, salethreadThread3of3ForFork0_#res.base] 3053369#[salethreadEXIT, salethreadEXIT, salethreadFINAL, L747-1]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3051901#[salethreadEXIT, salethreadEXIT, L747-1, salethreadEXIT]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 3051903#[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] 3048135#[L747-3, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3068869#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:48:09,612 INFO L750 eck$LassoCheckResult]: Loop: 3068869#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3068869#[ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:48:09,613 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:09,613 INFO L85 PathProgramCache]: Analyzing trace with hash -671352176, now seen corresponding path program 1 times [2023-09-17 11:48:09,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:09,613 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2118298905] [2023-09-17 11:48:09,613 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:09,613 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:09,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:09,635 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:09,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:09,651 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:48:09,652 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:09,652 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 9 times [2023-09-17 11:48:09,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:09,652 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [185023130] [2023-09-17 11:48:09,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:09,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:09,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:09,655 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:09,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:09,656 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:48:09,657 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:48:09,657 INFO L85 PathProgramCache]: Analyzing trace with hash 662919328, now seen corresponding path program 1 times [2023-09-17 11:48:09,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:48:09,658 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [431085328] [2023-09-17 11:48:09,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:48:09,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:48:09,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:09,683 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:09,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:09,700 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:48:11,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:11,504 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:48:11,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:48:11,547 WARN L148 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:48:11,558 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:48:11,565 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 11:48:11,581 INFO L124 PetriNetUnfolderBase]: 19/167 cut-off events. [2023-09-17 11:48:11,581 INFO L125 PetriNetUnfolderBase]: For 16/16 co-relation queries the response was YES. [2023-09-17 11:48:11,582 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:48:11,583 INFO L82 GeneralOperation]: Start removeDead. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 11:48:11,585 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 86 places, 88 transitions, 208 flow [2023-09-17 11:48:11,586 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:48:11,586 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:48:11,586 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:48:11,586 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:48:11,586 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:48:11,586 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:48:11,586 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:48:11,586 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:48:11,586 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null Received shutdown request... [2023-09-17 11:48:40,826 WARN L324 stractBuchiCegarLoop]: Verification cancelled [2023-09-17 11:48:40,833 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 17.09 11:48:40 BoogieIcfgContainer [2023-09-17 11:48:40,833 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2023-09-17 11:48:40,833 INFO L158 Benchmark]: Toolchain (without parser) took 180089.99ms. Allocated memory was 295.7MB in the beginning and 8.0GB in the end (delta: 7.7GB). Free memory was 246.3MB in the beginning and 3.9GB in the end (delta: -3.7GB). Peak memory consumption was 4.3GB. Max. memory is 8.0GB. [2023-09-17 11:48:40,834 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 189.8MB. Free memory is still 143.7MB. There was no memory consumed. Max. memory is 8.0GB. [2023-09-17 11:48:40,835 INFO L158 Benchmark]: CACSL2BoogieTranslator took 466.34ms. Allocated memory is still 295.7MB. Free memory was 245.8MB in the beginning and 226.8MB in the end (delta: 19.0MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. [2023-09-17 11:48:40,835 INFO L158 Benchmark]: Boogie Procedure Inliner took 47.11ms. Allocated memory is still 295.7MB. Free memory was 226.8MB in the beginning and 224.8MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2023-09-17 11:48:40,835 INFO L158 Benchmark]: Boogie Preprocessor took 28.84ms. Allocated memory is still 295.7MB. Free memory was 224.8MB in the beginning and 223.8MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2023-09-17 11:48:40,835 INFO L158 Benchmark]: RCFGBuilder took 358.34ms. Allocated memory is still 295.7MB. Free memory was 223.3MB in the beginning and 210.7MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2023-09-17 11:48:40,836 INFO L158 Benchmark]: BuchiAutomizer took 179182.82ms. Allocated memory was 295.7MB in the beginning and 8.0GB in the end (delta: 7.7GB). Free memory was 210.7MB in the beginning and 3.9GB in the end (delta: -3.7GB). Peak memory consumption was 4.2GB. Max. memory is 8.0GB. [2023-09-17 11:48:40,836 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:40,836 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:40,837 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 189.8MB. Free memory is still 143.7MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 466.34ms. Allocated memory is still 295.7MB. Free memory was 245.8MB in the beginning and 226.8MB in the end (delta: 19.0MB). Peak memory consumption was 18.9MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 47.11ms. Allocated memory is still 295.7MB. Free memory was 226.8MB in the beginning and 224.8MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 28.84ms. Allocated memory is still 295.7MB. Free memory was 224.8MB in the beginning and 223.8MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 358.34ms. Allocated memory is still 295.7MB. Free memory was 223.3MB in the beginning and 210.7MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * BuchiAutomizer took 179182.82ms. Allocated memory was 295.7MB in the beginning and 8.0GB in the end (delta: 7.7GB). Free memory was 210.7MB in the beginning and 3.9GB in the end (delta: -3.7GB). Peak memory consumption was 4.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 [2023-09-17 11:48:40,847 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 BüchiAutomizer plugin needed 29.3s and 17 iterations. TraceHistogramMax:4. Analysis of lassos took 7.9s. Construction of modules took 0.5s. Büchi inclusion checks took 106.7s. Highest rank in rank-based complementation 0. Minimization of det autom 14. Minimization of nondet autom 0. Automata minimization 31.6s AutomataMinimizationTime, 14 MinimizatonAttempts, 561140 StatesRemovedByMinimization, 13 NontrivialMinimizations. Non-live state removal took 49.3s Buchi closure took 1.0s. 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.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 3200 mSDsluCounter, 5713 SdHoareTripleChecker+Invalid, 0.6s 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.1s 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:40,855 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:40,860 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:40,863 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:40,863 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:41,063 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2023-09-17 11:48:41,268 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:41,476 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:41,680 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2023-09-17 11:48:41,842 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:41.893 !MESSAGE Application error !STACK 1 org.eclipse.core.internal.resources.ResourceException(/)[568]: java.io.FileNotFoundException: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c614485ad/.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/c614485ad/.metadata/.log.