/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-25.i -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.me.fairness-42053ae-m [2023-09-17 11:45:40,125 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-09-17 11:45:40,161 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:40,176 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-09-17 11:45:40,176 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-09-17 11:45:40,177 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-09-17 11:45:40,177 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-09-17 11:45:40,178 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-09-17 11:45:40,178 INFO L137 SettingsManager]: * Use SBE=true [2023-09-17 11:45:40,178 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-09-17 11:45:40,178 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-09-17 11:45:40,179 INFO L137 SettingsManager]: * Use old map elimination=false [2023-09-17 11:45:40,179 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-09-17 11:45:40,179 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-09-17 11:45:40,179 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-09-17 11:45:40,180 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-09-17 11:45:40,180 INFO L137 SettingsManager]: * sizeof long=4 [2023-09-17 11:45:40,180 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-09-17 11:45:40,180 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-09-17 11:45:40,180 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-09-17 11:45:40,181 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-09-17 11:45:40,181 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-09-17 11:45:40,181 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-09-17 11:45:40,181 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-09-17 11:45:40,181 INFO L137 SettingsManager]: * sizeof long double=12 [2023-09-17 11:45:40,182 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-09-17 11:45:40,182 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-09-17 11:45:40,182 INFO L137 SettingsManager]: * Use constant arrays=true [2023-09-17 11:45:40,182 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-09-17 11:45:40,182 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-09-17 11:45:40,183 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-09-17 11:45:40,183 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-09-17 11:45:40,183 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-09-17 11:45:40,183 INFO L137 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-09-17 11:45:40,184 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-09-17 11:45:40,184 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:40,344 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-09-17 11:45:40,357 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-09-17 11:45:40,359 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-09-17 11:45:40,359 INFO L270 PluginConnector]: Initializing CDTParser... [2023-09-17 11:45:40,360 INFO L274 PluginConnector]: CDTParser initialized [2023-09-17 11:45:40,360 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-deagle/airline-25.i [2023-09-17 11:45:41,354 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-09-17 11:45:41,627 INFO L384 CDTParser]: Found 1 translation units. [2023-09-17 11:45:41,627 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/airline-25.i [2023-09-17 11:45:41,647 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dba88f25f/527df9750d984621a5693b0983410320/FLAG16cbaf019 [2023-09-17 11:45:41,663 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dba88f25f/527df9750d984621a5693b0983410320 [2023-09-17 11:45:41,665 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-09-17 11:45:41,667 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-09-17 11:45:41,668 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-09-17 11:45:41,668 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-09-17 11:45:41,671 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-09-17 11:45:41,672 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:45:41" (1/1) ... [2023-09-17 11:45:41,673 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@649e6d3c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.09 11:45:41, skipping insertion in model container [2023-09-17 11:45:41,673 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.09 11:45:41" (1/1) ... [2023-09-17 11:45:41,677 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-09-17 11:45:41,715 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-09-17 11:45:41,894 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/airline-25.i[32027,32040] [2023-09-17 11:45:41,894 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:45:41,902 INFO L203 MainTranslator]: Completed pre-run [2023-09-17 11:45:41,927 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-deagle/airline-25.i[32027,32040] [2023-09-17 11:45:41,928 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-17 11:45:41,947 WARN L667 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:45:41,947 WARN L667 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-09-17 11:45:41,952 INFO L208 MainTranslator]: Completed translation [2023-09-17 11:45:41,952 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,952 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-09-17 11:45:41,953 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-09-17 11:45:41,953 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-09-17 11:45:41,953 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-09-17 11:45:41,958 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,967 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,980 INFO L138 Inliner]: procedures = 162, calls = 22, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 50 [2023-09-17 11:45:41,981 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-09-17 11:45:41,981 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-09-17 11:45:41,981 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-09-17 11:45:41,981 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-09-17 11:45:41,987 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,987 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,997 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,998 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:42,002 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:42,005 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:42,005 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:42,006 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:42,008 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-09-17 11:45:42,012 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-09-17 11:45:42,012 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-09-17 11:45:42,012 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-09-17 11:45:42,013 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:42,017 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-17 11:45:42,027 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:45:42,041 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:42,044 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:42,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure salethread [2023-09-17 11:45:42,074 INFO L138 BoogieDeclarations]: Found implementation of procedure salethread [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-09-17 11:45:42,074 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-09-17 11:45:42,074 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-09-17 11:45:42,076 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:42,159 INFO L236 CfgBuilder]: Building ICFG [2023-09-17 11:45:42,160 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-09-17 11:45:42,243 INFO L277 CfgBuilder]: Performing block encoding [2023-09-17 11:45:42,248 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-09-17 11:45:42,248 INFO L302 CfgBuilder]: Removed 1 assume(true) statements. [2023-09-17 11:45:42,249 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:45:42 BoogieIcfgContainer [2023-09-17 11:45:42,250 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-09-17 11:45:42,250 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-09-17 11:45:42,250 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-09-17 11:45:42,253 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-09-17 11:45:42,253 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:42,253 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.09 11:45:41" (1/3) ... [2023-09-17 11:45:42,254 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@636adb21 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:45:42, skipping insertion in model container [2023-09-17 11:45:42,254 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:42,254 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:42,254 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@636adb21 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.09 11:45:42, skipping insertion in model container [2023-09-17 11:45:42,254 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-17 11:45:42,255 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.09 11:45:42" (3/3) ... [2023-09-17 11:45:42,255 INFO L332 chiAutomizerObserver]: Analyzing ICFG airline-25.i [2023-09-17 11:45:42,305 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:42,324 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:42,345 INFO L124 PetriNetUnfolderBase]: 7/71 cut-off events. [2023-09-17 11:45:42,345 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2023-09-17 11:45:42,348 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:42,348 INFO L82 GeneralOperation]: Start removeDead. Operand has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:42,351 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 55 transitions, 115 flow [2023-09-17 11:45:42,362 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:42,362 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:42,362 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:42,362 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:42,363 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:42,363 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:42,363 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:42,363 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:42,364 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:42,452 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,452 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,452 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,457 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:42,457 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,457 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:45:42,457 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:42,475 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,475 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,476 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,477 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:42,477 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,482 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)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 115#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 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| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 132#[L747]don't care [87] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 136#[L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 142#[L747-2]don't care [113] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 151#[L747-3]don't care [142] L747-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre2#1_6| v_salethreadThread1of1ForFork0_thidvar0_2) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread1of1ForFork0_#in~arg.base_4| 0)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_4|, salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_4, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_4, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_10, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_4|, salethreadThread1of1ForFork0_thidvar0=v_salethreadThread1of1ForFork0_thidvar0_2, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_4|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_6|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base, salethreadThread1of1ForFork0_~_numberOfSeatsSold~0, salethreadThread1of1ForFork0_#in~arg.base, salethreadThread1of1ForFork0_thidvar0, salethreadThread1of1ForFork0_#in~arg.offset, salethreadThread1of1ForFork0_#res.offset] 162#[$Ultimate##0, L747-4]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 172#[L721, L747-4]don't care [132] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 186#[L721-1, L747-4]don't care [117] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 206#[L721-1, L747-5]don't care [115] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 242#[L721-1, L746-2]don't care [134] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of1ForFork0_#res.base_1| 0) (= |v_salethreadThread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread1of1ForFork0_#res.base=|v_salethreadThread1of1ForFork0_#res.base_1|, salethreadThread1of1ForFork0_#res.offset=|v_salethreadThread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_#res.base, salethreadThread1of1ForFork0_#res.offset] 292#[L746-2, salethreadFINAL]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] 353#[L746-3, salethreadFINAL]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 419#[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#[salethreadEXIT, L746-4]don't care [84] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 586#[salethreadEXIT, L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 715#[salethreadEXIT, L747]don't care [87] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 865#[salethreadEXIT, L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 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#[salethreadEXIT, L747-3]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1299#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:42,483 INFO L750 eck$LassoCheckResult]: Loop: 1299#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1299#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:42,486 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,486 INFO L85 PathProgramCache]: Analyzing trace with hash -527069789, now seen corresponding path program 1 times [2023-09-17 11:45:42,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,493 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1465143027] [2023-09-17 11:45:42,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:42,663 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,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:42,664 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1465143027] [2023-09-17 11:45:42,664 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1465143027] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:42,665 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:42,665 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:45:42,666 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [841549119] [2023-09-17 11:45:42,666 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:42,670 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:42,672 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,672 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 1 times [2023-09-17 11:45:42,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,673 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1542881537] [2023-09-17 11:45:42,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,679 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,691 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:42,697 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:42,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:45:42,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:45:42,733 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,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:42,765 INFO L93 Difference]: Finished difference Result 1244 states and 2324 transitions. [2023-09-17 11:45:42,766 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1244 states and 2324 transitions. [2023-09-17 11:45:42,774 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:42,782 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1244 states to 663 states and 1225 transitions. [2023-09-17 11:45:42,782 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 243 [2023-09-17 11:45:42,784 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 415 [2023-09-17 11:45:42,785 INFO L73 IsDeterministic]: Start isDeterministic. Operand 663 states and 1225 transitions. [2023-09-17 11:45:42,791 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:42,791 INFO L218 hiAutomatonCegarLoop]: Abstraction has 663 states and 1225 transitions. [2023-09-17 11:45:42,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 663 states and 1225 transitions. [2023-09-17 11:45:42,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 663 to 349. [2023-09-17 11:45:42,825 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,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 349 states to 349 states and 711 transitions. [2023-09-17 11:45:42,828 INFO L240 hiAutomatonCegarLoop]: Abstraction has 349 states and 711 transitions. [2023-09-17 11:45:42,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:45:42,831 INFO L428 stractBuchiCegarLoop]: Abstraction has 349 states and 711 transitions. [2023-09-17 11:45:42,831 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:45:42,831 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 349 states and 711 transitions. [2023-09-17 11:45:42,833 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,833 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,833 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,834 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,834 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,836 INFO L748 eck$LassoCheckResult]: Stem: 2894#[$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] 2896#[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[] 2970#[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[] 3198#[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[] 3088#[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[] 3090#[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[] 2926#[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] 2928#[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] 3108#[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] 3110#[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] 3274#[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] 2984#[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] 2986#[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] 3092#[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] 2936#[L736]don't care [102] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2938#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 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] 2946#[L745]don't care [82] L745-->L746-5: Formula: (= |v_ULTIMATE.start_main_~i~0#1_2| 0) InVars {} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 3132#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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] 2990#[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] 2992#[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] 2930#[$Ultimate##0, L747-4]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 2932#[L721, L747-4]don't care [131] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2996#[L722, L747-4]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] 2762#[L723, L747-4]don't care [117] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2764#[L747-5, L723]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] 3192#[L746-2, L723]don't care [135] L723-->L724: Formula: (<= 23 v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 3328#[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] 3330#[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] 3378#[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] 3374#[L746-3, salethreadFINAL]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3022#[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] 3162#[salethreadEXIT, L746-4]don't care [84] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2994#[salethreadEXIT, L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2806#[salethreadEXIT, L747]don't care [87] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2774#[salethreadEXIT, L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 3146#[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] 2942#[salethreadEXIT, L747-3]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2760#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:42,837 INFO L750 eck$LassoCheckResult]: Loop: 2760#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2760#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:42,837 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,837 INFO L85 PathProgramCache]: Analyzing trace with hash 1752223960, now seen corresponding path program 1 times [2023-09-17 11:45:42,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,838 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198183467] [2023-09-17 11:45:42,838 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:42,934 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,935 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:42,935 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198183467] [2023-09-17 11:45:42,935 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [198183467] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:42,935 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:42,935 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:42,935 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1491547280] [2023-09-17 11:45:42,936 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:42,936 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:42,936 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,936 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 2 times [2023-09-17 11:45:42,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,937 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034095572] [2023-09-17 11:45:42,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:42,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,941 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:42,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:42,943 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:42,945 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:42,945 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:42,945 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:42,946 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,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:42,962 INFO L93 Difference]: Finished difference Result 299 states and 561 transitions. [2023-09-17 11:45:42,962 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,964 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,980 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 299 states to 299 states and 561 transitions. [2023-09-17 11:45:42,980 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 196 [2023-09-17 11:45:42,980 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 196 [2023-09-17 11:45:42,980 INFO L73 IsDeterministic]: Start isDeterministic. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,981 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:42,982 INFO L218 hiAutomatonCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:42,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 299. [2023-09-17 11:45:42,988 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,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 561 transitions. [2023-09-17 11:45:42,989 INFO L240 hiAutomatonCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:42,990 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:42,990 INFO L428 stractBuchiCegarLoop]: Abstraction has 299 states and 561 transitions. [2023-09-17 11:45:42,990 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:45:42,991 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 299 states and 561 transitions. [2023-09-17 11:45:42,992 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:42,992 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:42,992 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:42,993 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,993 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:42,994 INFO L748 eck$LassoCheckResult]: Stem: 3878#[$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] 3880#[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[] 3942#[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[] 4146#[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[] 4042#[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[] 4044#[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[] 3894#[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] 3896#[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] 4050#[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] 4052#[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] 4202#[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] 3956#[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] 3958#[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] 4046#[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] 3904#[L736]don't care [102] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 3906#[L736-1]don't care [126] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 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] 3916#[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] 4074#[L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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] 3962#[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] 3964#[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] 3898#[$Ultimate##0, L747-4]don't care [130] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread1of1ForFork0_~arg.base_1 |v_salethreadThread1of1ForFork0_#in~arg.base_1|) (= |v_salethreadThread1of1ForFork0_#in~arg.offset_1| v_salethreadThread1of1ForFork0_~arg.offset_1)) InVars {salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|} OutVars{salethreadThread1of1ForFork0_~arg.offset=v_salethreadThread1of1ForFork0_~arg.offset_1, salethreadThread1of1ForFork0_~arg.base=v_salethreadThread1of1ForFork0_~arg.base_1, salethreadThread1of1ForFork0_#in~arg.base=|v_salethreadThread1of1ForFork0_#in~arg.base_1|, salethreadThread1of1ForFork0_#in~arg.offset=|v_salethreadThread1of1ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of1ForFork0_~arg.offset, salethreadThread1of1ForFork0_~arg.base] 3900#[L721, L747-4]don't care [131] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 3968#[L722, L747-4]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] 3758#[L723, L747-4]don't care [117] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 3760#[L747-5, L723]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] 4136#[L746-2, L723]don't care [136] L723-->L728: Formula: (< v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of1ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of1ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 4246#[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] 4244#[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] 4242#[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] 3936#[L746-3, salethreadFINAL]don't care [137] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3996#[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] 4102#[salethreadEXIT, L746-4]don't care [84] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3966#[salethreadEXIT, L746-5]don't care [103] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 3816#[salethreadEXIT, L747]don't care [87] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 3768#[salethreadEXIT, L747-1]don't care [112] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 4084#[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] 3910#[salethreadEXIT, L747-3]don't care [140] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3756#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:42,995 INFO L750 eck$LassoCheckResult]: Loop: 3756#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [141] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3756#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:42,995 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:42,995 INFO L85 PathProgramCache]: Analyzing trace with hash 1684793174, now seen corresponding path program 1 times [2023-09-17 11:45:42,995 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:42,995 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [564820326] [2023-09-17 11:45:42,996 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:42,996 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:43,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,011 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:43,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,033 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:43,034 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:43,034 INFO L85 PathProgramCache]: Analyzing trace with hash 172, now seen corresponding path program 3 times [2023-09-17 11:45:43,034 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:43,034 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138942037] [2023-09-17 11:45:43,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:43,034 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:43,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,038 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:43,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,040 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:43,040 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:43,040 INFO L85 PathProgramCache]: Analyzing trace with hash 688980983, now seen corresponding path program 1 times [2023-09-17 11:45:43,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:43,041 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1249822173] [2023-09-17 11:45:43,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:43,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:43,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,056 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:43,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,069 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:43,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,852 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:43,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:43,876 WARN L148 chiAutomizerObserver]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:45:43,884 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:43,887 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:43,899 INFO L124 PetriNetUnfolderBase]: 11/103 cut-off events. [2023-09-17 11:45:43,899 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2023-09-17 11:45:43,901 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:43,901 INFO L82 GeneralOperation]: Start removeDead. Operand has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:43,902 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 64 places, 66 transitions, 144 flow [2023-09-17 11:45:43,903 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:43,903 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:43,903 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:43,903 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:43,903 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:43,903 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:43,903 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:43,903 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:43,903 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:44,536 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:44,537 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:44,537 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:44,539 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,539 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:44,539 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:45:44,539 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:45:44,900 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:44,901 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:44,901 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:44,903 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,903 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:44,905 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)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 130#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 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| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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#[L721, L747-4]don't care [198] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 205#[L747-4, L721-1]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 226#[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#[salethreadEXIT, L746-2]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 439#[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| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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#[$Ultimate##0, salethreadEXIT, L746-2]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3149#[$Ultimate##0, salethreadEXIT, L746-3]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 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| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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#[$Ultimate##0, salethreadEXIT, L747-1]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#[salethreadEXIT, L721, L747-1]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#[salethreadEXIT, L721-1, L747-1]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#[salethreadEXIT, salethreadFINAL, L747-1]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17445#[salethreadEXIT, salethreadEXIT, L747-1]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 19820#[salethreadEXIT, salethreadEXIT, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 21670#[salethreadEXIT, salethreadEXIT, L747-3]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:44,905 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:44,906 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:44,906 INFO L85 PathProgramCache]: Analyzing trace with hash 1065297753, now seen corresponding path program 1 times [2023-09-17 11:45:44,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:44,906 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1984050491] [2023-09-17 11:45:44,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:44,907 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:44,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:44,962 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:44,963 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:44,963 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1984050491] [2023-09-17 11:45:44,963 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1984050491] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:44,963 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:44,963 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:45:44,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [405763703] [2023-09-17 11:45:44,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:44,964 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:44,964 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:44,964 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 1 times [2023-09-17 11:45:44,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:44,964 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [255563590] [2023-09-17 11:45:44,964 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:44,964 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:44,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:44,967 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:44,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:44,968 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:44,970 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:44,970 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:45:44,970 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:45:44,970 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,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:45,323 INFO L93 Difference]: Finished difference Result 29755 states and 87336 transitions. [2023-09-17 11:45:45,324 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29755 states and 87336 transitions. [2023-09-17 11:45:45,698 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:45,925 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29755 states to 16138 states and 47174 transitions. [2023-09-17 11:45:45,925 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 3900 [2023-09-17 11:45:45,939 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 6304 [2023-09-17 11:45:45,940 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16138 states and 47174 transitions. [2023-09-17 11:45:45,971 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:45,972 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16138 states and 47174 transitions. [2023-09-17 11:45:45,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16138 states and 47174 transitions. [2023-09-17 11:45:46,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16138 to 6345. [2023-09-17 11:45:46,172 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:46,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6345 states to 6345 states and 19440 transitions. [2023-09-17 11:45:46,190 INFO L240 hiAutomatonCegarLoop]: Abstraction has 6345 states and 19440 transitions. [2023-09-17 11:45:46,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:45:46,191 INFO L428 stractBuchiCegarLoop]: Abstraction has 6345 states and 19440 transitions. [2023-09-17 11:45:46,191 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:45:46,191 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 6345 states and 19440 transitions. [2023-09-17 11:45:46,217 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:46,217 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:46,217 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:46,218 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:46,218 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:46,219 INFO L748 eck$LassoCheckResult]: Stem: 55588#[$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] 55590#[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[] 57880#[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[] 56388#[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[] 56036#[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[] 56038#[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[] 60372#[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[] 58508#[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] 57548#[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] 57550#[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] 59458#[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] 54608#[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] 54610#[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] 54794#[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] 54796#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 55636#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 59074#[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] 56572#[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] 56574#[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] 56744#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 58798#[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] 56614#[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] 56616#[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] 59752#[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] 57588#[$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] 54336#[L721, L747-4]don't care [197] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 54338#[L747-4, L722]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 56866#[L747-5, L722]don't care [181] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 56864#[L722, L746-2]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] 57536#[L723, L746-2]don't care [201] L723-->L724: Formula: (<= 23 v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 59278#[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] 59280#[L746-3, L724]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 57054#[L724, L746-4]don't care [150] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 56294#[L746-5, L724]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 56290#[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] 54806#[L747-1, L724]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 54802#[L724, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 58172#[L747-3, L724]don't care [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] 60970#[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] 60332#[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] 64032#[L724, $Ultimate##0, 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] 64024#[L724, $Ultimate##0, L746-3]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 64016#[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] 64008#[L724, $Ultimate##0, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 63998#[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] 63988#[L724, $Ultimate##0, 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] 63990#[L724, $Ultimate##0, 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] 64112#[L724, $Ultimate##0, L747-3]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 64302#[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] 64340#[$Ultimate##0, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 66454#[$Ultimate##0, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 59880#[$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] 66754#[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[] 57678#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1]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] 55614#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 55616#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:46,219 INFO L750 eck$LassoCheckResult]: Loop: 55616#[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[] 55616#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:46,220 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:46,220 INFO L85 PathProgramCache]: Analyzing trace with hash 647298552, now seen corresponding path program 1 times [2023-09-17 11:45:46,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:46,220 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2090059888] [2023-09-17 11:45:46,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:46,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:46,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:46,270 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:46,271 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:46,271 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2090059888] [2023-09-17 11:45:46,271 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2090059888] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:46,271 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:46,271 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:46,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [281487013] [2023-09-17 11:45:46,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:46,271 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:46,272 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:46,272 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 2 times [2023-09-17 11:45:46,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:46,272 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1579616977] [2023-09-17 11:45:46,272 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:46,272 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:46,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:46,274 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:46,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:46,276 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:46,278 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:46,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:46,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:46,278 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:46,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:46,393 INFO L93 Difference]: Finished difference Result 7175 states and 20645 transitions. [2023-09-17 11:45:46,393 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:46,430 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:45:46,462 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 7175 states to 7175 states and 20645 transitions. [2023-09-17 11:45:46,462 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 3784 [2023-09-17 11:45:46,465 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 3784 [2023-09-17 11:45:46,466 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:46,475 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:46,475 INFO L218 hiAutomatonCegarLoop]: Abstraction has 7175 states and 20645 transitions. [2023-09-17 11:45:46,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7175 states and 20645 transitions. [2023-09-17 11:45:46,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7175 to 5740. [2023-09-17 11:45:46,573 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:46,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5740 states to 5740 states and 16885 transitions. [2023-09-17 11:45:46,588 INFO L240 hiAutomatonCegarLoop]: Abstraction has 5740 states and 16885 transitions. [2023-09-17 11:45:46,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:46,589 INFO L428 stractBuchiCegarLoop]: Abstraction has 5740 states and 16885 transitions. [2023-09-17 11:45:46,589 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:45:46,589 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 5740 states and 16885 transitions. [2023-09-17 11:45:46,608 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:46,608 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:46,608 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:46,608 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:46,608 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:46,609 INFO L748 eck$LassoCheckResult]: Stem: 75514#[$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] 75516#[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[] 77878#[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[] 76350#[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[] 75966#[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[] 75968#[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[] 80348#[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[] 78516#[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] 77570#[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] 77572#[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] 79396#[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] 74496#[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] 74498#[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] 74684#[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] 74686#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 75568#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 79050#[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] 76540#[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] 76542#[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] 76700#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 78784#[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] 76576#[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] 76578#[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] 79706#[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] 77606#[$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#[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] 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] 76076#[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] 80288#[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] 77198#[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] 77196#[L746-5, L721]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 74800#[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] 74798#[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] 75596#[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] 74150#[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] 74148#[$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] 74534#[$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] 79510#[$Ultimate##0, L721, L746-2]don't care [155] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 81478#[$Ultimate##0, L721, L746-3]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 81474#[$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] 81466#[$Ultimate##0, L721, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 74850#[$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] 74854#[$Ultimate##0, L721, L747-1]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 76168#[$Ultimate##0, L721, L747-2]don't care [179] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 76170#[$Ultimate##0, L721, L747-3]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 82684#[$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] 77584#[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[] 75752#[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] 82312#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L723]don't care [211] L723-->L724: Formula: (<= 23 v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 76720#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L724]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] 75242#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1]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] 80104#[L721, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 74696#[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[] 77256#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 75548#[salethreadEXIT, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 75540#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:46,610 INFO L750 eck$LassoCheckResult]: Loop: 75540#[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[] 75540#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:46,610 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:46,610 INFO L85 PathProgramCache]: Analyzing trace with hash -963477740, now seen corresponding path program 1 times [2023-09-17 11:45:46,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:46,610 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [959830759] [2023-09-17 11:45:46,610 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:46,610 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:46,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:46,708 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:46,708 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:46,708 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [959830759] [2023-09-17 11:45:46,708 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [959830759] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:45:46,708 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:45:46,709 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:45:46,709 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1719088438] [2023-09-17 11:45:46,709 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:45:46,709 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:46,709 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:46,709 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 3 times [2023-09-17 11:45:46,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:46,710 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [874495021] [2023-09-17 11:45:46,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:46,710 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:46,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:46,712 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:46,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:46,714 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:46,715 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:46,716 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:45:46,716 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:45:46,716 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:46,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:46,756 INFO L93 Difference]: Finished difference Result 5314 states and 14892 transitions. [2023-09-17 11:45:46,756 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:46,785 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:45:46,809 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 5314 states to 5314 states and 14892 transitions. [2023-09-17 11:45:46,809 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 2793 [2023-09-17 11:45:46,812 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2793 [2023-09-17 11:45:46,813 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:46,821 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:46,821 INFO L218 hiAutomatonCegarLoop]: Abstraction has 5314 states and 14892 transitions. [2023-09-17 11:45:46,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5314 states and 14892 transitions. [2023-09-17 11:45:46,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5314 to 4856. [2023-09-17 11:45:46,909 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:46,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4856 states to 4856 states and 13746 transitions. [2023-09-17 11:45:46,922 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4856 states and 13746 transitions. [2023-09-17 11:45:46,922 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:45:46,923 INFO L428 stractBuchiCegarLoop]: Abstraction has 4856 states and 13746 transitions. [2023-09-17 11:45:46,923 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 11:45:46,923 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4856 states and 13746 transitions. [2023-09-17 11:45:46,943 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:46,943 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:46,943 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:46,944 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:46,944 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:46,945 INFO L748 eck$LassoCheckResult]: Stem: 92161#[$Ultimate##0]don't care [165] $Ultimate##0-->L-1: Formula: (and (= |v_#NULL.base_1| 0) (= |v_#NULL.offset_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] 92163#[L-1]don't care [173] L-1-->L-1-1: Formula: (= (select |v_#valid_3| 0) 0) InVars {#valid=|v_#valid_3|} OutVars{#valid=|v_#valid_3|} AuxVars[] AssignedVars[] 94345#[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[] 92905#[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[] 92579#[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[] 92581#[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[] 96645#[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[] 94951#[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[] 91151#[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] 91153#[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] 94037#[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] 94039#[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] 95823#[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] 91267#[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] 91269#[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] 91431#[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] 91433#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 92223#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 95505#[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] 93121#[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] 93123#[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] 93303#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 95241#[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] 93159#[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] 93161#[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] 96125#[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] 94079#[$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] 90995#[L721, L747-4]don't care [197] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 90997#[L747-4, L722]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 93407#[L747-5, L722]don't care [181] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 93409#[L722, L746-2]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] 94035#[L723, L746-2]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 98529#[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] 94579#[L746-3, L728]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 91943#[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] 94009#[L746-5, L728]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 94005#[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] 95597#[L747-1, L728]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 96393#[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] 93665#[L747-3, L728]don't care [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] 97165#[$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] 94265#[$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] 94267#[$Ultimate##0, 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] 92675#[$Ultimate##0, 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] 92677#[$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] 95549#[$Ultimate##0, L728, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 97589#[$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] 97613#[$Ultimate##0, 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] 97615#[$Ultimate##0, 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] 95649#[$Ultimate##0, L728, L747-3]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 95651#[$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] 95485#[$Ultimate##0, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 95487#[$Ultimate##0, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 93693#[$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] 93691#[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[] 91507#[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] 93073#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L723]don't care [211] L723-->L724: Formula: (<= 23 v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 91985#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L724]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] 94169#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1]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] 92193#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 92195#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:46,945 INFO L750 eck$LassoCheckResult]: Loop: 92195#[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[] 92195#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:46,946 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:46,946 INFO L85 PathProgramCache]: Analyzing trace with hash -264808093, now seen corresponding path program 1 times [2023-09-17 11:45:46,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:46,946 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [607014001] [2023-09-17 11:45:46,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:46,946 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:46,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:47,027 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 11:45:47,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:45:47,027 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [607014001] [2023-09-17 11:45:47,027 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [607014001] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:45:47,027 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [868961029] [2023-09-17 11:45:47,028 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,028 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:45:47,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:45:47,045 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:47,061 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:47,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:45:47,126 INFO L262 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:45:47,128 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:45:47,187 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 11:45:47,187 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:45:47,250 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-09-17 11:45:47,250 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [868961029] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:45:47,250 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:45:47,250 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:45:47,251 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1448275557] [2023-09-17 11:45:47,251 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:45:47,251 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:45:47,251 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:47,251 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 4 times [2023-09-17 11:45:47,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:47,252 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1072978063] [2023-09-17 11:45:47,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,252 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:47,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,254 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:47,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,256 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:47,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:45:47,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:45:47,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:45:47,258 INFO L87 Difference]: Start difference. First operand 4856 states and 13746 transitions. cyclomatic complexity: 9012 Second operand has 12 states, 12 states have (on average 9.25) internal successors, (111), 12 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 11:45:47,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:45:47,367 INFO L93 Difference]: Finished difference Result 5468 states and 14890 transitions. [2023-09-17 11:45:47,367 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:47,395 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:45:47,417 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 5468 states to 5468 states and 14890 transitions. [2023-09-17 11:45:47,417 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 2885 [2023-09-17 11:45:47,420 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 2885 [2023-09-17 11:45:47,420 INFO L73 IsDeterministic]: Start isDeterministic. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:47,498 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:45:47,498 INFO L218 hiAutomatonCegarLoop]: Abstraction has 5468 states and 14890 transitions. [2023-09-17 11:45:47,505 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5468 states and 14890 transitions. [2023-09-17 11:45:47,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5468 to 4329. [2023-09-17 11:45:47,567 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:47,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4329 states to 4329 states and 11980 transitions. [2023-09-17 11:45:47,576 INFO L240 hiAutomatonCegarLoop]: Abstraction has 4329 states and 11980 transitions. [2023-09-17 11:45:47,576 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2023-09-17 11:45:47,576 INFO L428 stractBuchiCegarLoop]: Abstraction has 4329 states and 11980 transitions. [2023-09-17 11:45:47,576 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 11:45:47,576 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 4329 states and 11980 transitions. [2023-09-17 11:45:47,587 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:45:47,587 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:45:47,587 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:45:47,588 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:47,588 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:45:47,589 INFO L748 eck$LassoCheckResult]: Stem: 107690#[$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] 107692#[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[] 109706#[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[] 108358#[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[] 108060#[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[] 108062#[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[] 111686#[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[] 110208#[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[] 106710#[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] 106712#[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] 109418#[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] 109420#[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] 110996#[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] 106846#[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] 106848#[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] 107012#[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] 107014#[L736]don't care [168] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 107734#[L736-1]don't care [192] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 110706#[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] 108554#[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] 108556#[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] 108718#[L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 110472#[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] 108592#[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] 108594#[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] 111246#[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] 109448#[$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] 106554#[L721, L747-4]don't care [197] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 106556#[L747-4, L722]don't care [183] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 108838#[L747-5, L722]don't care [181] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 108840#[L722, L746-2]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] 109406#[L723, L746-2]don't care [202] L723-->L728: Formula: (< v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 113280#[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] 109894#[L746-3, L728]don't care [176] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 107500#[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] 109382#[L746-5, L728]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 109378#[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] 110802#[L747-1, L728]don't care [178] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 109046#[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] 109048#[L747-3, L728]don't care [219] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of2ForFork0_#in~arg.offset_4| 0) (= v_salethreadThread2of2ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_14|) (= 0 |v_salethreadThread2of2ForFork0_#in~arg.base_4|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} OutVars{salethreadThread2of2ForFork0_thidvar0=v_salethreadThread2of2ForFork0_thidvar0_2, salethreadThread2of2ForFork0_#in~arg.base=|v_salethreadThread2of2ForFork0_#in~arg.base_4|, salethreadThread2of2ForFork0_#res.offset=|v_salethreadThread2of2ForFork0_#res.offset_4|, salethreadThread2of2ForFork0_~arg.base=v_salethreadThread2of2ForFork0_~arg.base_4, salethreadThread2of2ForFork0_#in~arg.offset=|v_salethreadThread2of2ForFork0_#in~arg.offset_4|, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of2ForFork0_#res.base=|v_salethreadThread2of2ForFork0_#res.base_4|, salethreadThread2of2ForFork0_~arg.offset=v_salethreadThread2of2ForFork0_~arg.offset_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_14|} AuxVars[] AssignedVars[salethreadThread2of2ForFork0_thidvar0, salethreadThread2of2ForFork0_#in~arg.base, salethreadThread2of2ForFork0_#res.offset, salethreadThread2of2ForFork0_~arg.base, salethreadThread2of2ForFork0_#in~arg.offset, salethreadThread2of2ForFork0_~_numberOfSeatsSold~0, salethreadThread2of2ForFork0_#res.base, salethreadThread2of2ForFork0_~arg.offset] 110482#[$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] 112104#[$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] 112102#[$Ultimate##0, 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] 112098#[$Ultimate##0, 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] 110742#[$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] 107414#[$Ultimate##0, L728, L746-5]don't care [169] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 107416#[$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] 109888#[$Ultimate##0, 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] 113292#[$Ultimate##0, 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] 113690#[$Ultimate##0, L728, L747-3]don't care [216] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 111220#[$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] 110682#[$Ultimate##0, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, 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] 110684#[$Ultimate##0, salethreadFINAL, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [203] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 109070#[$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] 109068#[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[] 107102#[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] 106486#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L723]don't care [212] L723-->L728: Formula: (< v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of2ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of2ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 108326#[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] 109526#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, L721-1]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] 107722#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadFINAL]don't care [213] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 107720#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:47,589 INFO L750 eck$LassoCheckResult]: Loop: 107720#[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[] 107720#[salethreadEXIT, salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES]don't care [2023-09-17 11:45:47,589 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:47,589 INFO L85 PathProgramCache]: Analyzing trace with hash -264777341, now seen corresponding path program 1 times [2023-09-17 11:45:47,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:47,590 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1433204831] [2023-09-17 11:45:47,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:47,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,601 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:47,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,613 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:47,614 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:47,614 INFO L85 PathProgramCache]: Analyzing trace with hash 248, now seen corresponding path program 5 times [2023-09-17 11:45:47,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:47,614 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2080459163] [2023-09-17 11:45:47,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:47,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,616 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:47,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,617 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:47,618 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:45:47,618 INFO L85 PathProgramCache]: Analyzing trace with hash 381837238, now seen corresponding path program 1 times [2023-09-17 11:45:47,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:45:47,618 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1629193060] [2023-09-17 11:45:47,618 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:45:47,618 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:45:47,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,627 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:47,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:47,637 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:45:48,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:48,704 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:45:48,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:45:48,731 WARN L148 chiAutomizerObserver]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:45:48,739 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:45:48,742 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:48,755 INFO L124 PetriNetUnfolderBase]: 15/135 cut-off events. [2023-09-17 11:45:48,755 INFO L125 PetriNetUnfolderBase]: For 7/7 co-relation queries the response was YES. [2023-09-17 11:45:48,765 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:48,765 INFO L82 GeneralOperation]: Start removeDead. Operand has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:48,767 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 75 places, 77 transitions, 175 flow [2023-09-17 11:45:48,767 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:45:48,767 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:45:48,768 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:45:48,768 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:45:48,768 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:45:48,768 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:45:48,768 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:45:48,768 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:45:48,768 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:01,327 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:01,336 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:01,336 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:01,337 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:01,337 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:01,337 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-17 11:46:01,338 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-17 11:46:11,675 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:11,675 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:11,675 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:11,677 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:11,677 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:11,679 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)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 143#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 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| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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#[$Ultimate##0, L746-2]don't care [293] $Ultimate##0-->L721: Formula: (and (= |v_salethreadThread1of3ForFork0_#in~arg.offset_1| v_salethreadThread1of3ForFork0_~arg.offset_1) (= |v_salethreadThread1of3ForFork0_#in~arg.base_1| v_salethreadThread1of3ForFork0_~arg.base_1)) InVars {salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} OutVars{salethreadThread1of3ForFork0_~arg.base=v_salethreadThread1of3ForFork0_~arg.base_1, salethreadThread1of3ForFork0_~arg.offset=v_salethreadThread1of3ForFork0_~arg.offset_1, salethreadThread1of3ForFork0_#in~arg.base=|v_salethreadThread1of3ForFork0_#in~arg.base_1|, salethreadThread1of3ForFork0_#in~arg.offset=|v_salethreadThread1of3ForFork0_#in~arg.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_~arg.base, salethreadThread1of3ForFork0_~arg.offset] 231#[L746-2, L721]don't care [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 266#[L746-2, L721-1]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 316#[L746-3, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 389#[L746-3, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 480#[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| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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#[salethreadEXIT, L747-2]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1663#[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#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 8391#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 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| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 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#[$Ultimate##0, salethreadEXIT, 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] 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#[$Ultimate##0, L746-2, salethreadEXIT, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 81889#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 104074#[L746-3, L721, 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] 130015#[L746-4, L721, salethreadEXIT, 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] 160701#[L746-5, L721, salethreadEXIT, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 196919#[L721, salethreadEXIT, salethreadEXIT, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 238234#[L747-1, L721, salethreadEXIT, salethreadEXIT]don't care [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 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#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 362094#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 391019#[salethreadEXIT, salethreadEXIT, 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] 410822#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 422918#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:46:11,679 INFO L750 eck$LassoCheckResult]: Loop: 422918#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 422918#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:46:11,679 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:11,679 INFO L85 PathProgramCache]: Analyzing trace with hash 817555732, now seen corresponding path program 1 times [2023-09-17 11:46:11,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:11,680 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [898909464] [2023-09-17 11:46:11,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:11,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:11,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:46:11,734 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:11,734 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:46:11,735 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [898909464] [2023-09-17 11:46:11,735 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [898909464] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:46:11,735 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:46:11,735 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2023-09-17 11:46:11,735 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2099363473] [2023-09-17 11:46:11,735 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:46:11,735 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:46:11,736 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:11,736 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 1 times [2023-09-17 11:46:11,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:11,736 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1608488282] [2023-09-17 11:46:11,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:11,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:11,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:11,739 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:11,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:11,740 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:11,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:46:11,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2023-09-17 11:46:11,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2023-09-17 11:46:11,742 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:22,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:46:22,069 INFO L93 Difference]: Finished difference Result 610157 states and 2476914 transitions. [2023-09-17 11:46:22,069 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 610157 states and 2476914 transitions. [2023-09-17 11:46:37,952 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:46:43,173 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 610157 states to 333039 states and 1347274 transitions. [2023-09-17 11:46:43,174 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46280 [2023-09-17 11:46:43,796 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63752 [2023-09-17 11:46:43,796 INFO L73 IsDeterministic]: Start isDeterministic. Operand 333039 states and 1347274 transitions. [2023-09-17 11:46:44,367 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:46:44,367 INFO L218 hiAutomatonCegarLoop]: Abstraction has 333039 states and 1347274 transitions. [2023-09-17 11:46:45,257 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 333039 states and 1347274 transitions. [2023-09-17 11:46:49,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 333039 to 97019. [2023-09-17 11:46:50,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97019 states, 97019 states have (on average 4.12744926251559) internal successors, (400441), 97018 states have internal predecessors, (400441), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 11:46:51,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97019 states to 97019 states and 400441 transitions. [2023-09-17 11:46:51,297 INFO L240 hiAutomatonCegarLoop]: Abstraction has 97019 states and 400441 transitions. [2023-09-17 11:46:51,297 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2023-09-17 11:46:51,299 INFO L428 stractBuchiCegarLoop]: Abstraction has 97019 states and 400441 transitions. [2023-09-17 11:46:51,299 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-09-17 11:46:51,299 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 97019 states and 400441 transitions. [2023-09-17 11:46:52,798 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:46:52,798 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:46:52,798 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:46:52,800 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:46:52,800 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:46:52,802 INFO L748 eck$LassoCheckResult]: Stem: 1091679#[$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] 1089575#[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[] 1051215#[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[] 1047733#[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[] 1047735#[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[] 1080185#[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[] 1080187#[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[] 1086453#[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[] 1044359#[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] 1044361#[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] 1052359#[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] 1080497#[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] 1054339#[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] 1054341#[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] 1070451#[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] 1107047#[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] 1107049#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1096243#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1088081#[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] 1048009#[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] 1048011#[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] 1048529#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1065771#[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] 1065773#[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] 1054929#[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] 1054931#[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] 1097239#[$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] 1092053#[$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] 1056391#[$Ultimate##0, L746-2]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] 1056393#[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[] 1063355#[L722, L746-2]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] 1063357#[L723, L746-2]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1115801#[L746-3, L723]don't care [298] L723-->L724: Formula: (<= 23 v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1057987#[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] 1057989#[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] 1120715#[L746-5, L724]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1120677#[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] 1067449#[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] 1067445#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1121069#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1061347#[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] 1121319#[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] 1121305#[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] 1121299#[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] 1120753#[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[] 1091111#[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] 1091113#[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] 1082069#[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] 1180365#[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] 1079001#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1079003#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1072897#[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] 1061027#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1061029#[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] 1087947#[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] 1061931#[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] 1061933#[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] 1181383#[$Ultimate##0, salethreadEXIT, 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] 1181385#[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] 1047991#[$Ultimate##0, L746-2, salethreadEXIT, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1101957#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 1237841#[L746-3, L721, 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] 1237487#[L746-4, L721, salethreadEXIT, 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] 1237403#[L746-5, L721, salethreadEXIT, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1091283#[L721, salethreadEXIT, salethreadEXIT, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1236569#[L747-1, L721, salethreadEXIT, salethreadEXIT]don't care [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1046749#[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] 1102221#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1051749#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1051751#[salethreadEXIT, salethreadEXIT, 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] 1046431#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1076217#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:46:52,802 INFO L750 eck$LassoCheckResult]: Loop: 1076217#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1076217#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:46:52,803 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:52,803 INFO L85 PathProgramCache]: Analyzing trace with hash -1294002058, now seen corresponding path program 1 times [2023-09-17 11:46:52,803 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:52,803 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223967148] [2023-09-17 11:46:52,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:52,803 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:52,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:46:52,940 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 21 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2023-09-17 11:46:52,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:46:52,940 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1223967148] [2023-09-17 11:46:52,941 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1223967148] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:46:52,941 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:46:52,941 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:46:52,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [270383742] [2023-09-17 11:46:52,941 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:46:52,941 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:46:52,941 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:46:52,941 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 2 times [2023-09-17 11:46:52,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:46:52,942 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223498043] [2023-09-17 11:46:52,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:46:52,942 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:46:52,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:52,944 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:46:52,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:46:52,946 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:46:52,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:46:52,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:46:52,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:46:52,951 INFO L87 Difference]: Start difference. First operand 97019 states and 400441 transitions. cyclomatic complexity: 306191 Second operand has 4 states, 4 states have (on average 14.0) internal successors, (56), 4 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 11:46:54,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:46:54,279 INFO L93 Difference]: Finished difference Result 137551 states and 536489 transitions. [2023-09-17 11:46:54,279 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 137551 states and 536489 transitions. [2023-09-17 11:46:56,812 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:46:58,243 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 137551 states to 137551 states and 536489 transitions. [2023-09-17 11:46:58,243 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 56165 [2023-09-17 11:46:58,344 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 56165 [2023-09-17 11:46:58,344 INFO L73 IsDeterministic]: Start isDeterministic. Operand 137551 states and 536489 transitions. [2023-09-17 11:46:58,545 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:46:58,546 INFO L218 hiAutomatonCegarLoop]: Abstraction has 137551 states and 536489 transitions. [2023-09-17 11:46:58,922 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137551 states and 536489 transitions. [2023-09-17 11:47:01,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137551 to 98327. [2023-09-17 11:47:01,469 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:02,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98327 states to 98327 states and 393162 transitions. [2023-09-17 11:47:02,333 INFO L240 hiAutomatonCegarLoop]: Abstraction has 98327 states and 393162 transitions. [2023-09-17 11:47:02,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:02,335 INFO L428 stractBuchiCegarLoop]: Abstraction has 98327 states and 393162 transitions. [2023-09-17 11:47:02,335 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-09-17 11:47:02,335 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 98327 states and 393162 transitions. [2023-09-17 11:47:03,398 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:03,399 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:03,399 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:03,400 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:03,400 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:03,400 INFO L748 eck$LassoCheckResult]: Stem: 1423363#[$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] 1421207#[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[] 1382647#[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[] 1379189#[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[] 1379191#[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[] 1411731#[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[] 1411733#[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[] 1417955#[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[] 1375953#[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] 1375955#[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] 1383795#[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] 1412031#[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] 1385765#[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] 1385767#[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] 1401795#[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] 1439387#[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] 1439389#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1428265#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1419597#[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] 1379471#[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] 1379473#[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] 1379941#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1397171#[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] 1397173#[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] 1386333#[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] 1386335#[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] 1429325#[$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] 1423741#[$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] 1387653#[$Ultimate##0, L746-2]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] 1387655#[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] 1401825#[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] 1455761#[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] 1454049#[L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1384065#[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] 1439049#[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] 1411171#[L747-2, L721]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1411167#[L747-3, L721]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1406355#[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] 1387725#[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[] 1387727#[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] 1435703#[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] 1435705#[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] 1383441#[L721, L746-2, L723]don't care [278] L723-->L724: Formula: (<= 23 v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1383563#[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] 1386873#[L721, L724, L746-3]don't care [281] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 1386871#[L721-1, L721, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 1408137#[L721, salethreadFINAL, L746-3]don't care [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1400231#[L721-1, salethreadFINAL, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1379503#[L721-1, salethreadEXIT, L746-3]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1410883#[salethreadEXIT, salethreadFINAL, L746-3]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1410423#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1404355#[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] 1392355#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1392357#[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] 1531463#[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] 1531457#[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] 1531455#[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] 1527533#[$Ultimate##0, salethreadEXIT, 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] 1531447#[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] 1527245#[$Ultimate##0, L746-2, salethreadEXIT, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1542465#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 1565393#[L746-3, L721, 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] 1565395#[L746-4, L721, salethreadEXIT, 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] 1436507#[L746-5, L721, salethreadEXIT, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1530139#[L721, salethreadEXIT, salethreadEXIT, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 1559469#[L747-1, L721, salethreadEXIT, salethreadEXIT]don't care [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1378303#[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] 1385861#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1383181#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1383183#[salethreadEXIT, salethreadEXIT, 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] 1378011#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1407689#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:03,401 INFO L750 eck$LassoCheckResult]: Loop: 1407689#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1407689#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:03,401 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:03,401 INFO L85 PathProgramCache]: Analyzing trace with hash 208125148, now seen corresponding path program 1 times [2023-09-17 11:47:03,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:03,401 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1143001044] [2023-09-17 11:47:03,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:03,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:03,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:03,441 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:03,441 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:03,441 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1143001044] [2023-09-17 11:47:03,442 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1143001044] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:47:03,442 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:47:03,442 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:47:03,442 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [691978657] [2023-09-17 11:47:03,442 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:47:03,442 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:03,442 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:03,442 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 3 times [2023-09-17 11:47:03,442 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:03,443 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [317977331] [2023-09-17 11:47:03,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:03,443 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:03,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:03,445 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:03,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:03,446 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:03,447 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:03,447 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:47:03,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:47:03,448 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:04,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:04,370 INFO L93 Difference]: Finished difference Result 113639 states and 435276 transitions. [2023-09-17 11:47:04,371 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:06,317 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 3 [2023-09-17 11:47:07,502 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 113639 states to 113639 states and 435276 transitions. [2023-09-17 11:47:07,502 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44701 [2023-09-17 11:47:07,571 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44701 [2023-09-17 11:47:07,571 INFO L73 IsDeterministic]: Start isDeterministic. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:07,938 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:07,938 INFO L218 hiAutomatonCegarLoop]: Abstraction has 113639 states and 435276 transitions. [2023-09-17 11:47:08,107 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113639 states and 435276 transitions. [2023-09-17 11:47:10,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113639 to 88588. [2023-09-17 11:47:10,415 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:11,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88588 states to 88588 states and 345992 transitions. [2023-09-17 11:47:11,282 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88588 states and 345992 transitions. [2023-09-17 11:47:11,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:11,283 INFO L428 stractBuchiCegarLoop]: Abstraction has 88588 states and 345992 transitions. [2023-09-17 11:47:11,283 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-09-17 11:47:11,283 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88588 states and 345992 transitions. [2023-09-17 11:47:12,157 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:12,157 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:12,157 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:12,162 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:12,162 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:12,178 INFO L748 eck$LassoCheckResult]: Stem: 1730469#[$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] 1728423#[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[] 1692327#[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[] 1689141#[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[] 1689143#[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[] 1719661#[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[] 1719663#[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[] 1725465#[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[] 1686189#[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] 1686191#[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] 1693383#[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] 1719919#[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] 1695187#[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] 1695189#[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] 1710329#[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] 1745431#[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] 1745433#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 1735021#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1726991#[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] 1689411#[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] 1689413#[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] 1689871#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1705881#[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] 1705883#[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] 1695733#[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] 1695735#[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] 1735989#[$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] 1730829#[$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] 1696949#[$Ultimate##0, L746-2]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] 1696951#[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] 1760025#[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] 1760015#[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] 1760013#[L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1693661#[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] 1745189#[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] 1719123#[L747-2, L721]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 1719119#[L747-3, L721]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 1714625#[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] 1697019#[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] 1697023#[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] 1732023#[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] 1732029#[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] 1740009#[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] 1744971#[L721, L721, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1708687#[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] 1708685#[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] 1699593#[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] 1699587#[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] 1759737#[$Ultimate##0, 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] 1753969#[L721, L747-5, L721, $Ultimate##0]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 1765315#[$Ultimate##0, L721, L746-2, L721]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 1765313#[L721, L746-3, L721, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 1715857#[L721, L746-3, L721, 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[] 1764155#[L721, L746-3, L722, L721]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 1690025#[L746-4, L721, L722, 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] 1723753#[L746-5, L721, L722, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1757743#[L747, L721, L722, 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] 1747413#[L747-1, L721, L722, 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] 1691887#[L723, L721, L721, L747-1]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1691877#[L747-1, L721, L724, L721]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] 1789641#[L721, L721-1, L721, L747-1]don't care [275] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1808087#[L747-1, L721, L721-1, L721-1]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 1830589#[L721, salethreadFINAL, L721-1, L747-1]don't care [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 1726413#[L747-1, salethreadFINAL, L721-1, L721-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1717095#[L747-1, salethreadEXIT, L721-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1751821#[salethreadEXIT, salethreadFINAL, L721-1, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1688357#[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] 1694685#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1692821#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1692823#[salethreadEXIT, salethreadEXIT, 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] 1688057#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1715805#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:12,179 INFO L750 eck$LassoCheckResult]: Loop: 1715805#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1715805#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:12,179 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:12,179 INFO L85 PathProgramCache]: Analyzing trace with hash 552590324, now seen corresponding path program 1 times [2023-09-17 11:47:12,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:12,179 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [228089357] [2023-09-17 11:47:12,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:12,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:12,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:12,267 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:12,267 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:12,267 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [228089357] [2023-09-17 11:47:12,267 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [228089357] provided 1 perfect and 0 imperfect interpolant sequences [2023-09-17 11:47:12,267 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-09-17 11:47:12,267 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-09-17 11:47:12,267 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [391373243] [2023-09-17 11:47:12,267 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-09-17 11:47:12,268 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:12,268 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:12,268 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 4 times [2023-09-17 11:47:12,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:12,268 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1313402641] [2023-09-17 11:47:12,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:12,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:12,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:12,274 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:12,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:12,276 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:12,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:12,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-09-17 11:47:12,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-09-17 11:47:12,278 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:13,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:13,161 INFO L93 Difference]: Finished difference Result 93587 states and 356302 transitions. [2023-09-17 11:47:13,161 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:14,468 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 2 [2023-09-17 11:47:15,356 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 93587 states to 93587 states and 356302 transitions. [2023-09-17 11:47:15,357 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36718 [2023-09-17 11:47:15,403 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36718 [2023-09-17 11:47:15,403 INFO L73 IsDeterministic]: Start isDeterministic. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:15,540 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:15,540 INFO L218 hiAutomatonCegarLoop]: Abstraction has 93587 states and 356302 transitions. [2023-09-17 11:47:15,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93587 states and 356302 transitions. [2023-09-17 11:47:17,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93587 to 76455. [2023-09-17 11:47:17,223 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:17,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76455 states to 76455 states and 293869 transitions. [2023-09-17 11:47:17,955 INFO L240 hiAutomatonCegarLoop]: Abstraction has 76455 states and 293869 transitions. [2023-09-17 11:47:17,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-09-17 11:47:17,955 INFO L428 stractBuchiCegarLoop]: Abstraction has 76455 states and 293869 transitions. [2023-09-17 11:47:17,955 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-09-17 11:47:17,955 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 76455 states and 293869 transitions. [2023-09-17 11:47:18,832 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:18,832 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:18,832 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:18,833 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:18,833 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:18,836 INFO L748 eck$LassoCheckResult]: Stem: 1999747#[$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] 1997809#[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[] 1962941#[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[] 1959859#[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[] 1959861#[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[] 1989293#[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[] 1989295#[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[] 1994937#[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[] 1956961#[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] 1956963#[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] 1963949#[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] 1989559#[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] 1965727#[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] 1965729#[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] 1980353#[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] 2014443#[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] 2014445#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2004067#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 1996451#[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] 1960137#[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] 1960139#[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] 1960581#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1976097#[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] 1976099#[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] 1966285#[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] 1966287#[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] 2004901#[$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] 2000113#[$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] 1967435#[$Ultimate##0, L746-2]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] 1967437#[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[] 1980367#[L722, L746-2]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] 1973917#[L723, L746-2]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2027339#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2018791#[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] 1978485#[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] 1978487#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 1999675#[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] 1970275#[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] 1970271#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 1971527#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1971983#[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] 1987863#[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] 2103859#[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] 2026075#[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] 2026077#[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[] 1961879#[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] 1961881#[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] 1996527#[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] 1996529#[L746-2, L723, salethreadEXIT]don't care [278] L723-->L724: Formula: (<= 23 v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 1975973#[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] 2015393#[L724, salethreadEXIT, L746-3]don't care [281] L724-->L721-1: Formula: (= v_~stopSales~0_2 1) InVars {} OutVars{~stopSales~0=v_~stopSales~0_2} AuxVars[] AssignedVars[~stopSales~0] 2047405#[L721-1, salethreadEXIT, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 2047407#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2047427#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2047399#[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] 2044525#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2044493#[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] 1996299#[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] 1972497#[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] 1972499#[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] 2025087#[$Ultimate##0, salethreadEXIT, 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] 2048715#[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] 1960095#[$Ultimate##0, L746-2, salethreadEXIT, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2009575#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 2050235#[L746-3, L721, 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] 2050231#[L746-4, L721, salethreadEXIT, 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] 2031353#[L746-5, L721, salethreadEXIT, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2032505#[L721, salethreadEXIT, salethreadEXIT, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2033999#[L747-1, L721, salethreadEXIT, salethreadEXIT]don't care [285] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 2033991#[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] 2033985#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1963413#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 1963415#[salethreadEXIT, salethreadEXIT, 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] 1958757#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1985645#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:18,836 INFO L750 eck$LassoCheckResult]: Loop: 1985645#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1985645#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:18,837 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:18,837 INFO L85 PathProgramCache]: Analyzing trace with hash 16693938, now seen corresponding path program 1 times [2023-09-17 11:47:18,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:18,837 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1945533758] [2023-09-17 11:47:18,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:18,837 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:18,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:18,895 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:18,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:18,895 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1945533758] [2023-09-17 11:47:18,896 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1945533758] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:18,896 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1232836100] [2023-09-17 11:47:18,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:18,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:18,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:18,942 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:18,943 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:19,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:19,058 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:19,063 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:19,108 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:19,108 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:19,171 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:19,171 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1232836100] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:19,171 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:19,171 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:19,172 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1925172449] [2023-09-17 11:47:19,172 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:19,172 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:19,172 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:19,172 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 5 times [2023-09-17 11:47:19,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:19,172 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [168030964] [2023-09-17 11:47:19,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:19,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:19,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:19,175 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:19,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:19,176 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:19,177 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:19,177 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:19,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:19,178 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:20,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:20,533 INFO L93 Difference]: Finished difference Result 133523 states and 482978 transitions. [2023-09-17 11:47:20,533 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:23,038 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:24,430 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 133523 states to 133523 states and 482978 transitions. [2023-09-17 11:47:24,430 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52581 [2023-09-17 11:47:24,524 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52581 [2023-09-17 11:47:24,524 INFO L73 IsDeterministic]: Start isDeterministic. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:24,741 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:24,741 INFO L218 hiAutomatonCegarLoop]: Abstraction has 133523 states and 482978 transitions. [2023-09-17 11:47:25,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133523 states and 482978 transitions. [2023-09-17 11:47:27,245 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133523 to 74350. [2023-09-17 11:47:27,352 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:27,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74350 states to 74350 states and 280994 transitions. [2023-09-17 11:47:27,661 INFO L240 hiAutomatonCegarLoop]: Abstraction has 74350 states and 280994 transitions. [2023-09-17 11:47:27,661 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:27,662 INFO L428 stractBuchiCegarLoop]: Abstraction has 74350 states and 280994 transitions. [2023-09-17 11:47:27,662 INFO L335 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2023-09-17 11:47:27,662 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 74350 states and 280994 transitions. [2023-09-17 11:47:28,576 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:28,576 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:28,576 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:28,577 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:28,577 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:28,578 INFO L748 eck$LassoCheckResult]: Stem: 2283177#[$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] 2281373#[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[] 2249423#[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[] 2246563#[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[] 2246565#[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[] 2273667#[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[] 2273669#[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[] 2278815#[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[] 2243853#[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] 2243855#[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] 2250349#[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] 2273903#[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] 2251975#[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] 2251977#[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] 2265327#[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] 2296839#[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] 2296841#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2287189#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2280135#[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] 2246821#[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] 2246823#[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] 2247241#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2261517#[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] 2261519#[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] 2252459#[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] 2252461#[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] 2288009#[$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] 2283473#[$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] 2253509#[$Ultimate##0, L746-2]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] 2253511#[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[] 2259549#[L722, L746-2]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] 2259551#[L723, L746-2]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2304265#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2300895#[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] 2263677#[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] 2263679#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2283099#[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] 2256263#[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] 2256259#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2257397#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2257807#[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] 2272353#[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] 2321687#[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] 2307663#[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] 2307665#[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] 2308867#[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] 2286831#[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] 2244839#[L721, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2244837#[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] 2249673#[L721, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2265849#[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] 2305191#[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] 2284081#[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] 2252903#[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] 2252901#[$Ultimate##0, L747-4, salethreadEXIT, 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] 2282453#[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] 2315081#[$Ultimate##0, L746-2, salethreadEXIT, L721]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2257601#[L746-3, salethreadEXIT, L721, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 2257597#[L746-3, L721, salethreadEXIT, L721]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2292583#[L722, L746-3, salethreadEXIT, 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] 2324129#[L746-4, salethreadEXIT, L722, 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] 2256057#[L746-5, salethreadEXIT, L722, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2260501#[L747, salethreadEXIT, L722, 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] 2319887#[L721, L747-1, salethreadEXIT, L722]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 2319873#[L723, salethreadEXIT, L721, L747-1]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 2289891#[L747-1, L724, salethreadEXIT, L721]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] 2356489#[L721-1, salethreadEXIT, L721, L747-1]don't care [275] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 2387361#[L747-1, salethreadEXIT, L721-1, L721-1]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 2391673#[salethreadFINAL, salethreadEXIT, L721-1, L747-1]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2388845#[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] 2251501#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2249857#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2249859#[salethreadEXIT, salethreadEXIT, 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] 2245539#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2270251#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:28,579 INFO L750 eck$LassoCheckResult]: Loop: 2270251#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2270251#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:28,579 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:28,579 INFO L85 PathProgramCache]: Analyzing trace with hash 1025257486, now seen corresponding path program 1 times [2023-09-17 11:47:28,579 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:28,579 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1068379582] [2023-09-17 11:47:28,579 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:28,579 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:28,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:28,634 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:28,634 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:28,634 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1068379582] [2023-09-17 11:47:28,634 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1068379582] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:28,634 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1431001301] [2023-09-17 11:47:28,634 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:28,634 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:28,635 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:28,637 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:28,657 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:28,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:28,721 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:28,722 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:28,771 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:28,771 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:28,836 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:28,836 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1431001301] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:28,836 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:28,837 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:28,837 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1241779546] [2023-09-17 11:47:28,837 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:28,837 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:28,837 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:28,837 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 6 times [2023-09-17 11:47:28,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:28,837 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [555585650] [2023-09-17 11:47:28,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:28,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:28,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:28,840 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:28,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:28,841 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:28,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:28,844 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:28,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:28,844 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:30,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:30,435 INFO L93 Difference]: Finished difference Result 128965 states and 457813 transitions. [2023-09-17 11:47:30,435 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:32,421 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:33,794 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 128965 states to 128965 states and 457813 transitions. [2023-09-17 11:47:33,794 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51807 [2023-09-17 11:47:33,867 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51807 [2023-09-17 11:47:33,867 INFO L73 IsDeterministic]: Start isDeterministic. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:34,096 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:34,097 INFO L218 hiAutomatonCegarLoop]: Abstraction has 128965 states and 457813 transitions. [2023-09-17 11:47:34,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128965 states and 457813 transitions. [2023-09-17 11:47:36,004 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128965 to 70996. [2023-09-17 11:47:36,112 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:36,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70996 states to 70996 states and 261129 transitions. [2023-09-17 11:47:36,707 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70996 states and 261129 transitions. [2023-09-17 11:47:36,707 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:36,708 INFO L428 stractBuchiCegarLoop]: Abstraction has 70996 states and 261129 transitions. [2023-09-17 11:47:36,708 INFO L335 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2023-09-17 11:47:36,709 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70996 states and 261129 transitions. [2023-09-17 11:47:37,201 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:37,201 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:37,201 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:37,208 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:37,208 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:37,209 INFO L748 eck$LassoCheckResult]: Stem: 2559603#[$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] 2557887#[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[] 2527359#[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[] 2524601#[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[] 2524603#[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[] 2550279#[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[] 2550281#[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[] 2555409#[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[] 2522011#[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] 2522013#[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] 2528251#[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] 2550537#[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] 2529739#[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] 2529741#[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] 2542487#[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] 2572419#[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] 2572421#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2563315#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2556663#[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] 2524879#[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] 2524881#[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] 2525303#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2538743#[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] 2538745#[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] 2530259#[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] 2530261#[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] 2564083#[$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] 2559887#[$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] 2531327#[$Ultimate##0, L746-2]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] 2531329#[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] 2584313#[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] 2584297#[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] 2583383#[L746-5, L721]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2528455#[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] 2572135#[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] 2549881#[L747-2, L721]don't care [256] L747-2-->L747-3: Formula: (let ((.cse1 (* |v_ULTIMATE.start_main_~i~0#1_5| 4))) (let ((.cse0 (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1))) (and (<= 0 .cse0) (<= (+ |v_ULTIMATE.start_main_~#salethreads~0#1.offset_5| .cse1 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|)) (= (select |v_#valid_8| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) 1) (= (store |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5| (store (select |v_#memory_int_5| |v_ULTIMATE.start_main_~#salethreads~0#1.base_5|) .cse0 |v_ULTIMATE.start_main_#t~pre2#1_3|)) |v_#memory_int_4|)))) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_5|, #valid=|v_#valid_8|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_5|, #length=|v_#length_5|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_3|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_5|} AuxVars[] AssignedVars[#memory_int] 2549877#[L747-3, L721]don't care [306] L747-3-->$Ultimate##0: Formula: (and (= |v_salethreadThread2of3ForFork0_#in~arg.offset_4| 0) (= |v_salethreadThread2of3ForFork0_#in~arg.base_4| 0) (= v_salethreadThread2of3ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre2#1_29|)) InVars {ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} OutVars{salethreadThread2of3ForFork0_thidvar0=v_salethreadThread2of3ForFork0_thidvar0_2, salethreadThread2of3ForFork0_#in~arg.offset=|v_salethreadThread2of3ForFork0_#in~arg.offset_4|, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_10, salethreadThread2of3ForFork0_#in~arg.base=|v_salethreadThread2of3ForFork0_#in~arg.base_4|, salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_4|, salethreadThread2of3ForFork0_~arg.offset=v_salethreadThread2of3ForFork0_~arg.offset_4, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_4|, salethreadThread2of3ForFork0_~arg.base=v_salethreadThread2of3ForFork0_~arg.base_4, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_29|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_thidvar0, salethreadThread2of3ForFork0_#in~arg.offset, salethreadThread2of3ForFork0_~_numberOfSeatsSold~0, salethreadThread2of3ForFork0_#in~arg.base, salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_~arg.offset, salethreadThread2of3ForFork0_#res.offset, salethreadThread2of3ForFork0_~arg.base] 2546175#[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] 2531377#[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[] 2531379#[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] 2569261#[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] 2527965#[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] 2527959#[L721, L746-2, L723]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2528053#[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] 2573837#[L728, L721, L746-3]don't care [282] L728-->L721-1: Formula: (= (+ v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2547497#[L721-1, L721, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 2547499#[L721, salethreadFINAL, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2524909#[L721, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2524911#[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] 2531711#[L721, salethreadEXIT, L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2555981#[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] 2527629#[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] 2527631#[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] 2527333#[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] 2527329#[$Ultimate##0, L721, salethreadEXIT, L747-4]don't care [260] L747-4-->L747-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2560493#[L721, salethreadEXIT, L747-5, $Ultimate##0]don't care [258] L747-5-->L746-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] 2558009#[$Ultimate##0, 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] 2555327#[L721, L746-3, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 2555325#[L721, L746-3, L721, salethreadEXIT]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2549743#[L721, L746-3, salethreadEXIT, L722]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2524161#[L746-4, L721, salethreadEXIT, L722]don't care [227] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2545477#[L746-5, L721, salethreadEXIT, L722]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2564417#[L721, salethreadEXIT, L722, L747]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2527751#[L747-1, L721, salethreadEXIT, L722]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 2573915#[L723, L721, salethreadEXIT, L747-1]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 2564793#[L747-1, L721, L724, salethreadEXIT]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] 2542739#[L721, salethreadEXIT, L721-1, L747-1]don't care [295] L721-->L721-1: Formula: (not (= v_~stopSales~0_3 0)) InVars {~stopSales~0=v_~stopSales~0_3} OutVars{~stopSales~0=v_~stopSales~0_3} AuxVars[] AssignedVars[] 2555085#[L747-1, salethreadEXIT, L721-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2558695#[salethreadEXIT, salethreadFINAL, L721-1, L747-1]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2662567#[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] 2529303#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2527791#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2527793#[salethreadEXIT, salethreadEXIT, 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] 2523607#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2547205#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:37,210 INFO L750 eck$LassoCheckResult]: Loop: 2547205#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2547205#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:37,210 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:37,210 INFO L85 PathProgramCache]: Analyzing trace with hash 1856385764, now seen corresponding path program 1 times [2023-09-17 11:47:37,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:37,212 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [710396610] [2023-09-17 11:47:37,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:37,213 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:37,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:37,582 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:37,582 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:37,582 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [710396610] [2023-09-17 11:47:37,582 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [710396610] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:37,582 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1715414263] [2023-09-17 11:47:37,582 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:37,582 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:37,583 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:37,610 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:37,641 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:37,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:37,705 INFO L262 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 5 conjunts are in the unsatisfiable core [2023-09-17 11:47:37,706 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:37,752 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:37,752 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:37,815 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:37,816 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1715414263] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:37,816 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:37,816 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2023-09-17 11:47:37,816 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1640691230] [2023-09-17 11:47:37,816 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:37,816 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:37,816 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:37,816 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 7 times [2023-09-17 11:47:37,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:37,817 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1749673782] [2023-09-17 11:47:37,817 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:37,817 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:37,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:37,819 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:37,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:37,820 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:37,821 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:37,821 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2023-09-17 11:47:37,821 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=97, Unknown=0, NotChecked=0, Total=132 [2023-09-17 11:47:37,821 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:38,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:38,882 INFO L93 Difference]: Finished difference Result 122857 states and 432367 transitions. [2023-09-17 11:47:38,882 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:40,963 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 12 [2023-09-17 11:47:42,247 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 122857 states to 122857 states and 432367 transitions. [2023-09-17 11:47:42,248 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 48311 [2023-09-17 11:47:42,324 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 48311 [2023-09-17 11:47:42,325 INFO L73 IsDeterministic]: Start isDeterministic. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:42,542 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:42,543 INFO L218 hiAutomatonCegarLoop]: Abstraction has 122857 states and 432367 transitions. [2023-09-17 11:47:42,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122857 states and 432367 transitions. [2023-09-17 11:47:44,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122857 to 70860. [2023-09-17 11:47:44,402 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:45,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70860 states to 70860 states and 257445 transitions. [2023-09-17 11:47:45,061 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70860 states and 257445 transitions. [2023-09-17 11:47:45,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-09-17 11:47:45,062 INFO L428 stractBuchiCegarLoop]: Abstraction has 70860 states and 257445 transitions. [2023-09-17 11:47:45,063 INFO L335 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2023-09-17 11:47:45,063 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70860 states and 257445 transitions. [2023-09-17 11:47:45,529 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:45,529 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:45,529 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:45,530 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:47:45,530 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:45,531 INFO L748 eck$LassoCheckResult]: Stem: 2822299#[$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] 2820725#[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[] 2792395#[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[] 2789751#[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[] 2789753#[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[] 2813871#[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[] 2813873#[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[] 2818535#[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[] 2787319#[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] 2787321#[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] 2793279#[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] 2814083#[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] 2794611#[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] 2794613#[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] 2806491#[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] 2833883#[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] 2833885#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 2825703#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 2819695#[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] 2789975#[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] 2789977#[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] 2790387#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2803195#[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] 2803197#[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] 2795095#[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] 2795097#[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] 2826413#[$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] 2822543#[$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] 2796157#[$Ultimate##0, L746-2]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] 2796159#[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[] 2806507#[L722, L746-2]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] 2801527#[L723, L746-2]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2840521#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2837503#[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] 2844831#[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] 2844829#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2844827#[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] 2798603#[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] 2798599#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 2799645#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2799981#[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] 2812763#[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] 2844583#[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] 2843585#[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] 2843587#[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[] 2791467#[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] 2791469#[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] 2839995#[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] 2890685#[L746-2, L723, salethreadEXIT]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 2810335#[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] 2810337#[L728, salethreadEXIT, L746-3]don't care [282] L728-->L721-1: Formula: (= (+ v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 2813373#[L721-1, salethreadEXIT, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 2812957#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2812959#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2808365#[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] 2799763#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2799765#[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] 2819599#[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] 2800351#[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] 2800353#[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] 2842747#[$Ultimate##0, salethreadEXIT, 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] 2894891#[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] 2909573#[$Ultimate##0, L746-2, salethreadEXIT, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2909561#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 2915757#[L746-3, L721, salethreadEXIT, salethreadEXIT]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 2915023#[L746-3, salethreadEXIT, salethreadEXIT, L722]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 2915017#[L746-4, salethreadEXIT, salethreadEXIT, L722]don't care [227] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 2915005#[L746-5, salethreadEXIT, salethreadEXIT, L722]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 2916181#[L747, salethreadEXIT, salethreadEXIT, L722]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 2914859#[L747-1, salethreadEXIT, salethreadEXIT, L722]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 2920249#[L723, salethreadEXIT, salethreadEXIT, L747-1]don't care [288] L723-->L724: Formula: (<= 23 v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_3} AuxVars[] AssignedVars[] 2791013#[L747-1, L724, salethreadEXIT, salethreadEXIT]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] 2926297#[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] 2794245#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2792811#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 2792813#[salethreadEXIT, salethreadEXIT, 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] 2788813#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2810855#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:45,531 INFO L750 eck$LassoCheckResult]: Loop: 2810855#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 2810855#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:45,532 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:45,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1576595664, now seen corresponding path program 1 times [2023-09-17 11:47:45,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:45,532 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1090799574] [2023-09-17 11:47:45,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:45,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:45,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:45,604 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 32 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-09-17 11:47:45,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-09-17 11:47:45,605 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1090799574] [2023-09-17 11:47:45,605 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1090799574] provided 0 perfect and 1 imperfect interpolant sequences [2023-09-17 11:47:45,605 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1629408873] [2023-09-17 11:47:45,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:45,606 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-09-17 11:47:45,606 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-17 11:47:45,608 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-09-17 11:47:45,609 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2023-09-17 11:47:45,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-09-17 11:47:45,675 INFO L262 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 7 conjunts are in the unsatisfiable core [2023-09-17 11:47:45,677 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-09-17 11:47:45,737 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 32 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-09-17 11:47:45,737 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-09-17 11:47:46,099 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 9 proven. 32 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-09-17 11:47:46,099 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1629408873] provided 0 perfect and 2 imperfect interpolant sequences [2023-09-17 11:47:46,100 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-09-17 11:47:46,100 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 16 [2023-09-17 11:47:46,100 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [569944809] [2023-09-17 11:47:46,100 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-09-17 11:47:46,100 INFO L753 eck$LassoCheckResult]: stem already infeasible [2023-09-17 11:47:46,100 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:46,100 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 8 times [2023-09-17 11:47:46,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:46,100 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1912639143] [2023-09-17 11:47:46,101 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:46,101 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:46,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:46,102 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:46,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:46,103 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:46,108 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-09-17 11:47:46,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2023-09-17 11:47:46,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2023-09-17 11:47:46,108 INFO L87 Difference]: Start difference. First operand 70860 states and 257445 transitions. cyclomatic complexity: 188614 Second operand has 16 states, 16 states have (on average 8.875) internal successors, (142), 16 states have internal predecessors, (142), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 11:47:47,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-09-17 11:47:47,497 INFO L93 Difference]: Finished difference Result 117177 states and 408323 transitions. [2023-09-17 11:47:47,497 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 117177 states and 408323 transitions. [2023-09-17 11:47:49,047 INFO L131 ngComponentsAnalysis]: Automaton has 13 accepting balls. 13 [2023-09-17 11:47:50,145 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 117177 states to 117177 states and 408323 transitions. [2023-09-17 11:47:50,145 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46372 [2023-09-17 11:47:50,209 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 46372 [2023-09-17 11:47:50,210 INFO L73 IsDeterministic]: Start isDeterministic. Operand 117177 states and 408323 transitions. [2023-09-17 11:47:50,588 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-09-17 11:47:50,588 INFO L218 hiAutomatonCegarLoop]: Abstraction has 117177 states and 408323 transitions. [2023-09-17 11:47:50,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117177 states and 408323 transitions. [2023-09-17 11:47:52,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117177 to 55742. [2023-09-17 11:47:52,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55742 states, 55742 states have (on average 3.640773563919486) internal successors, (202944), 55741 states have internal predecessors, (202944), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-09-17 11:47:52,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55742 states to 55742 states and 202944 transitions. [2023-09-17 11:47:52,644 INFO L240 hiAutomatonCegarLoop]: Abstraction has 55742 states and 202944 transitions. [2023-09-17 11:47:52,644 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2023-09-17 11:47:52,644 INFO L428 stractBuchiCegarLoop]: Abstraction has 55742 states and 202944 transitions. [2023-09-17 11:47:52,644 INFO L335 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2023-09-17 11:47:52,644 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 55742 states and 202944 transitions. [2023-09-17 11:47:53,449 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 1 [2023-09-17 11:47:53,450 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-17 11:47:53,450 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-17 11:47:53,451 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-17 11:47:53,451 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1] [2023-09-17 11:47:53,452 INFO L748 eck$LassoCheckResult]: Stem: 3080029#[$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] 3078535#[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[] 3051537#[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[] 3049121#[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[] 3049123#[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[] 3071753#[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[] 3071755#[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[] 3076429#[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[] 3046773#[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] 3046775#[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] 3052355#[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] 3071947#[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] 3053733#[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] 3053735#[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] 3064783#[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] 3091233#[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] 3091235#[L736]don't care [245] L736-->L736-1: Formula: (and (not (= |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) (= |v_#valid_6| (store |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 1)) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4| 100)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#salethreads~0#1.base_4|) 0) (= |v_ULTIMATE.start_main_~#salethreads~0#1.offset_4| 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_7|} OutVars{ULTIMATE.start_main_~#salethreads~0#1.base=|v_ULTIMATE.start_main_~#salethreads~0#1.base_4|, #StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, #valid=|v_#valid_6|, ULTIMATE.start_main_~#salethreads~0#1.offset=|v_ULTIMATE.start_main_~#salethreads~0#1.offset_4|} AuxVars[] AssignedVars[#valid, ULTIMATE.start_main_~#salethreads~0#1.base, #length, ULTIMATE.start_main_~#salethreads~0#1.offset] 3083333#[L736-1]don't care [269] L736-1-->L739: Formula: (= v_~numOfTickets~0_2 25) InVars {} OutVars{~numOfTickets~0=v_~numOfTickets~0_2} AuxVars[] AssignedVars[~numOfTickets~0] 3077483#[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] 3049301#[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] 3049303#[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] 3049687#[L746-5]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 3061655#[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] 3061657#[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] 3054183#[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] 3054185#[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] 3083975#[$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] 3080291#[$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] 3055145#[$Ultimate##0, L746-2]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] 3055147#[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[] 3060093#[L722, L746-2]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] 3060095#[L723, L746-2]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3094669#[L746-3, L723]don't care [299] L723-->L728: Formula: (< v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread1of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread1of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3094631#[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] 3063405#[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] 3063407#[L746-5, L728]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 3079951#[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] 3057377#[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] 3057373#[L747-1, L721-1]don't care [297] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread1of3ForFork0_#res.offset_1| 0) (= |v_salethreadThread1of3ForFork0_#res.base_1| 0)) InVars {} OutVars{salethreadThread1of3ForFork0_#res.base=|v_salethreadThread1of3ForFork0_#res.base_1|, salethreadThread1of3ForFork0_#res.offset=|v_salethreadThread1of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread1of3ForFork0_#res.base, salethreadThread1of3ForFork0_#res.offset] 3058363#[L747-1, salethreadFINAL]don't care [300] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3058695#[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] 3070703#[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] 3091727#[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] 3102737#[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] 3101615#[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[] 3050671#[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] 3050673#[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] 3090507#[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] 3123823#[L746-2, L723, salethreadEXIT]don't care [279] L723-->L728: Formula: (< v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3123919#[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] 3068467#[L728, salethreadEXIT, L746-3]don't care [282] L728-->L721-1: Formula: (= (+ v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7 1) v_~numberOfSeatsSold~0_2) InVars {salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7} OutVars{salethreadThread2of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread2of3ForFork0_~_numberOfSeatsSold~0_7, ~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_2} AuxVars[] AssignedVars[~numberOfSeatsSold~0] 3071275#[L721-1, salethreadEXIT, L746-3]don't care [277] L721-1-->salethreadFINAL: Formula: (and (= |v_salethreadThread2of3ForFork0_#res.base_1| 0) (= |v_salethreadThread2of3ForFork0_#res.offset_1| 0)) InVars {} OutVars{salethreadThread2of3ForFork0_#res.base=|v_salethreadThread2of3ForFork0_#res.base_1|, salethreadThread2of3ForFork0_#res.offset=|v_salethreadThread2of3ForFork0_#res.offset_1|} AuxVars[] AssignedVars[salethreadThread2of3ForFork0_#res.base, salethreadThread2of3ForFork0_#res.offset] 3070877#[salethreadFINAL, salethreadEXIT, L746-3]don't care [280] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3070879#[salethreadEXIT, salethreadEXIT, L746-3]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 3066691#[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] 3058479#[salethreadEXIT, L746-5, salethreadEXIT]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 3058481#[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] 3077389#[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] 3059049#[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] 3059051#[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] 3056627#[$Ultimate##0, salethreadEXIT, 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] 3056629#[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] 3049295#[$Ultimate##0, L746-2, salethreadEXIT, salethreadEXIT]don't care [232] L746-2-->L746-3: Formula: (= |v_ULTIMATE.start_main_#t~post1#1_2| |v_ULTIMATE.start_main_~i~0#1_6|) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_2|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3081069#[L746-3, salethreadEXIT, salethreadEXIT, $Ultimate##0]don't care [283] $Ultimate##0-->L721: Formula: (and (= v_salethreadThread3of3ForFork0_~arg.offset_1 |v_salethreadThread3of3ForFork0_#in~arg.offset_1|) (= |v_salethreadThread3of3ForFork0_#in~arg.base_1| v_salethreadThread3of3ForFork0_~arg.base_1)) InVars {salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} OutVars{salethreadThread3of3ForFork0_#in~arg.offset=|v_salethreadThread3of3ForFork0_#in~arg.offset_1|, salethreadThread3of3ForFork0_~arg.offset=v_salethreadThread3of3ForFork0_~arg.offset_1, salethreadThread3of3ForFork0_~arg.base=v_salethreadThread3of3ForFork0_~arg.base_1, salethreadThread3of3ForFork0_#in~arg.base=|v_salethreadThread3of3ForFork0_#in~arg.base_1|} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~arg.offset, salethreadThread3of3ForFork0_~arg.base] 3081071#[L746-3, L721, salethreadEXIT, salethreadEXIT]don't care [284] L721-->L722: Formula: (= v_~stopSales~0_1 0) InVars {~stopSales~0=v_~stopSales~0_1} OutVars{~stopSales~0=v_~stopSales~0_1} AuxVars[] AssignedVars[] 3093679#[L746-3, salethreadEXIT, salethreadEXIT, L722]don't care [253] L746-3-->L746-4: Formula: (= (+ |v_ULTIMATE.start_main_#t~post1#1_3| 1) |v_ULTIMATE.start_main_~i~0#1_7|) InVars {ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_3|, ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~0#1] 3054599#[L746-4, salethreadEXIT, salethreadEXIT, L722]don't care [227] L746-4-->L746-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post1#1=|v_ULTIMATE.start_main_#t~post1#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post1#1] 3075941#[L746-5, salethreadEXIT, salethreadEXIT, L722]don't care [246] L746-5-->L747: Formula: (< |v_ULTIMATE.start_main_~i~0#1_4| 25) InVars {ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} OutVars{ULTIMATE.start_main_~i~0#1=|v_ULTIMATE.start_main_~i~0#1_4|} AuxVars[] AssignedVars[] 3070665#[L747, salethreadEXIT, salethreadEXIT, L722]don't care [230] L747-->L747-1: Formula: (= |v_ULTIMATE.start_main_#t~pre2#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre2#1=|v_ULTIMATE.start_main_#t~pre2#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre2#1] 3085147#[L747-1, salethreadEXIT, salethreadEXIT, L722]don't care [286] L722-->L723: Formula: (= v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1 v_~numberOfSeatsSold~0_1) InVars {~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1} OutVars{~numberOfSeatsSold~0=v_~numberOfSeatsSold~0_1, salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_1} AuxVars[] AssignedVars[salethreadThread3of3ForFork0_~_numberOfSeatsSold~0] 3153921#[L723, salethreadEXIT, salethreadEXIT, L747-1]don't care [289] L723-->L728: Formula: (< v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5 23) InVars {salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} OutVars{salethreadThread3of3ForFork0_~_numberOfSeatsSold~0=v_salethreadThread3of3ForFork0_~_numberOfSeatsSold~0_5} AuxVars[] AssignedVars[] 3153923#[L747-1, L728, salethreadEXIT, salethreadEXIT]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] 3156791#[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] 3053337#[L747-1, salethreadEXIT, salethreadEXIT, salethreadFINAL]don't care [290] salethreadFINAL-->salethreadEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3051913#[salethreadEXIT, salethreadEXIT, salethreadEXIT, L747-1]don't care [255] L747-1-->L747-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 3051915#[salethreadEXIT, salethreadEXIT, 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] 3048197#[salethreadEXIT, L747-3, salethreadEXIT, salethreadEXIT]don't care [303] L747-3-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3068953#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:53,452 INFO L750 eck$LassoCheckResult]: Loop: 3068953#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [304] ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES-->ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 3068953#[salethreadEXIT, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, salethreadEXIT, salethreadEXIT]don't care [2023-09-17 11:47:53,453 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:53,453 INFO L85 PathProgramCache]: Analyzing trace with hash -660462832, now seen corresponding path program 1 times [2023-09-17 11:47:53,454 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:53,454 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071612126] [2023-09-17 11:47:53,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:53,454 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:53,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,487 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:53,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,498 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:53,498 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:53,498 INFO L85 PathProgramCache]: Analyzing trace with hash 335, now seen corresponding path program 9 times [2023-09-17 11:47:53,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:53,498 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1651518523] [2023-09-17 11:47:53,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:53,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:53,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,500 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:53,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,501 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:53,501 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-17 11:47:53,501 INFO L85 PathProgramCache]: Analyzing trace with hash 1000488992, now seen corresponding path program 1 times [2023-09-17 11:47:53,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-17 11:47:53,501 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [395837366] [2023-09-17 11:47:53,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-17 11:47:53,502 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-17 11:47:53,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,524 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:53,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:53,554 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-17 11:47:55,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:55,105 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-17 11:47:55,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-17 11:47:55,135 WARN L148 chiAutomizerObserver]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2023-09-17 11:47:55,142 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-09-17 11:47:55,158 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 11:47:55,181 INFO L124 PetriNetUnfolderBase]: 19/167 cut-off events. [2023-09-17 11:47:55,182 INFO L125 PetriNetUnfolderBase]: For 16/16 co-relation queries the response was YES. [2023-09-17 11:47:55,185 INFO L83 FinitePrefix]: Finished finitePrefix Result has 190 conditions, 167 events. 19/167 cut-off events. For 16/16 co-relation queries the response was YES. Maximal size of possible extension queue 5. Compared 250 event pairs, 0 based on Foata normal form. 0/144 useless extension candidates. Maximal degree in co-relation 142. Up to 10 conditions per place. [2023-09-17 11:47:55,185 INFO L82 GeneralOperation]: Start removeDead. Operand has 86 places, 88 transitions, 208 flow [2023-09-17 11:47:55,190 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 86 places, 88 transitions, 208 flow [2023-09-17 11:47:55,190 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-17 11:47:55,190 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-17 11:47:55,190 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-17 11:47:55,190 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-17 11:47:55,190 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-17 11:47:55,191 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-17 11:47:55,191 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-17 11:47:55,191 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-17 11:47:55,191 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null Received shutdown request... [2023-09-17 11:48:48,810 WARN L324 stractBuchiCegarLoop]: Verification cancelled [2023-09-17 11:48:48,831 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:48,831 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 17.09 11:48:48 BoogieIcfgContainer [2023-09-17 11:48:48,831 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-09-17 11:48:48,831 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:48,831 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:48,831 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:48,831 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:48,832 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2023-09-17 11:48:48,832 INFO L158 Benchmark]: Toolchain (without parser) took 187165.80ms. Allocated memory was 231.7MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 191.0MB in the beginning and 3.0GB in the end (delta: -2.8GB). Peak memory consumption was 5.2GB. Max. memory is 8.0GB. [2023-09-17 11:48:48,838 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 167.8MB. Free memory is still 116.0MB. There was no memory consumed. Max. memory is 8.0GB. [2023-09-17 11:48:48,838 INFO L158 Benchmark]: CACSL2BoogieTranslator took 284.36ms. Allocated memory is still 231.7MB. Free memory was 191.0MB in the beginning and 171.6MB in the end (delta: 19.4MB). Peak memory consumption was 19.9MB. Max. memory is 8.0GB. [2023-09-17 11:48:48,838 INFO L158 Benchmark]: Boogie Procedure Inliner took 27.58ms. Allocated memory is still 231.7MB. Free memory was 171.6MB in the beginning and 170.0MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2023-09-17 11:48:48,839 INFO L158 Benchmark]: Boogie Preprocessor took 26.49ms. Allocated memory is still 231.7MB. Free memory was 170.0MB in the beginning and 168.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2023-09-17 11:48:48,840 INFO L158 Benchmark]: RCFGBuilder took 237.84ms. Allocated memory is still 231.7MB. Free memory was 168.4MB in the beginning and 155.8MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2023-09-17 11:48:48,841 INFO L158 Benchmark]: BuchiAutomizer took 186581.65ms. Allocated memory was 231.7MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 155.3MB in the beginning and 3.0GB in the end (delta: -2.9GB). Peak memory consumption was 5.2GB. Max. memory is 8.0GB. [2023-09-17 11:48:48,842 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 167.8MB. Free memory is still 116.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 284.36ms. Allocated memory is still 231.7MB. Free memory was 191.0MB in the beginning and 171.6MB in the end (delta: 19.4MB). Peak memory consumption was 19.9MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 27.58ms. Allocated memory is still 231.7MB. Free memory was 171.6MB in the beginning and 170.0MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 26.49ms. Allocated memory is still 231.7MB. Free memory was 170.0MB in the beginning and 168.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 237.84ms. Allocated memory is still 231.7MB. Free memory was 168.4MB in the beginning and 155.8MB in the end (delta: 12.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * BuchiAutomizer took 186581.65ms. Allocated memory was 231.7MB in the beginning and 8.0GB in the end (delta: 7.8GB). Free memory was 155.3MB in the beginning and 3.0GB in the end (delta: -2.9GB). Peak memory consumption was 5.2GB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Trivial decomposition into one module whose termination is unknown. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 53.7s and 17 iterations. TraceHistogramMax:4. Analysis of lassos took 6.7s. Construction of modules took 0.4s. Büchi inclusion checks took 94.3s. Highest rank in rank-based complementation 0. Minimization of det autom 14. Minimization of nondet autom 0. Automata minimization 27.1s AutomataMinimizationTime, 14 MinimizatonAttempts, 561140 StatesRemovedByMinimization, 13 NontrivialMinimizations. Non-live state removal took 44.4s Buchi closure took 1.1s. 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, 3244 SdHoareTripleChecker+Valid, 0.6s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 3244 mSDsluCounter, 5764 SdHoareTripleChecker+Invalid, 0.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 4495 mSDsCounter, 85 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1017 IncrementalHoareTripleChecker+Invalid, 1102 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 85 mSolverCounterUnsat, 1269 mSDtfsCounter, 1017 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:48,877 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2023-09-17 11:48:49,066 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2023-09-17 11:48:49,266 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:49,468 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:49,668 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2023-09-17 11:48:49,838 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:49.873 !MESSAGE Application error !STACK 1 org.eclipse.core.internal.resources.ResourceException(/)[568]: java.io.FileNotFoundException: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dba88f25f/.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/dba88f25f/.metadata/.log.