./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --validate ./goblint.2024-09-02_08-21-23.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version e94c40da Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i ./goblint.2024-09-02_08-21-23.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.positions.where.we.compute.the.hoare.annotation None --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-dev-e94c40d-m [2024-09-23 23:42:52,549 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-09-23 23:42:52,605 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf [2024-09-23 23:42:52,608 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-09-23 23:42:52,609 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-09-23 23:42:52,631 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-09-23 23:42:52,632 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-09-23 23:42:52,632 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-09-23 23:42:52,633 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-09-23 23:42:52,634 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-09-23 23:42:52,635 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-09-23 23:42:52,635 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-09-23 23:42:52,635 INFO L153 SettingsManager]: * Use SBE=true [2024-09-23 23:42:52,637 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-09-23 23:42:52,637 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-09-23 23:42:52,637 INFO L153 SettingsManager]: * sizeof long=4 [2024-09-23 23:42:52,637 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-09-23 23:42:52,638 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-09-23 23:42:52,638 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-09-23 23:42:52,638 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-09-23 23:42:52,638 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-09-23 23:42:52,640 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-09-23 23:42:52,640 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-09-23 23:42:52,640 INFO L153 SettingsManager]: * sizeof long double=12 [2024-09-23 23:42:52,640 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-09-23 23:42:52,641 INFO L153 SettingsManager]: * Use constant arrays=true [2024-09-23 23:42:52,641 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-09-23 23:42:52,641 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-09-23 23:42:52,641 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-09-23 23:42:52,641 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-09-23 23:42:52,641 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-23 23:42:52,641 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-09-23 23:42:52,642 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-09-23 23:42:52,643 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-09-23 23:42:52,644 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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/UGemCutter-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.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Positions where we compute the Hoare Annotation -> None Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Check unreachability of reach_error function -> false [2024-09-23 23:42:52,844 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-09-23 23:42:52,861 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-09-23 23:42:52,866 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-09-23 23:42:52,867 INFO L270 PluginConnector]: Initializing CDTParser... [2024-09-23 23:42:52,867 INFO L274 PluginConnector]: CDTParser initialized [2024-09-23 23:42:52,868 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-23 23:42:54,137 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-09-23 23:42:54,307 INFO L384 CDTParser]: Found 1 translation units. [2024-09-23 23:42:54,307 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-23 23:42:54,318 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/b8063db1d/a5f3fd36d372461187f9f52be62aee3b/FLAG22b33836e [2024-09-23 23:42:54,689 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/b8063db1d/a5f3fd36d372461187f9f52be62aee3b [2024-09-23 23:42:54,691 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-09-23 23:42:54,692 INFO L274 PluginConnector]: Witness Parser initialized [2024-09-23 23:42:54,693 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-09-02_08-21-23.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml [2024-09-23 23:42:54,741 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-09-23 23:42:54,742 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-09-23 23:42:54,744 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-09-23 23:42:54,745 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-09-23 23:42:54,749 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-09-23 23:42:54,750 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.09 11:42:54" (1/2) ... [2024-09-23 23:42:54,751 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62647d27 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.09 11:42:54, skipping insertion in model container [2024-09-23 23:42:54,751 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.09 11:42:54" (1/2) ... [2024-09-23 23:42:54,752 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@5458f71 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.09 11:42:54, skipping insertion in model container [2024-09-23 23:42:54,752 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 23.09 11:42:54" (2/2) ... [2024-09-23 23:42:54,753 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62647d27 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:54, skipping insertion in model container [2024-09-23 23:42:54,753 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 23.09 11:42:54" (2/2) ... [2024-09-23 23:42:54,805 INFO L93 nessWitnessExtractor]: Found the following entries in the witness: [2024-09-23 23:42:54,806 INFO L1541 ArrayList]: Location invariant before [L732-L732] (((((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 66)) && ((63LL + (long long )next_alloc_idx) - (long long )top >= 0LL)) && (next_alloc_idx % 2 == 1)) && (next_alloc_idx != 2)) && (top != 2) [2024-09-23 23:42:54,807 INFO L1541 ArrayList]: Location invariant before [L721-L721] (((((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 66)) && ((63LL + (long long )next_alloc_idx) - (long long )top >= 0LL)) && (next_alloc_idx % 2 == 1)) && (next_alloc_idx != 2)) && (top != 2) [2024-09-23 23:42:54,833 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-09-23 23:42:55,089 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-23 23:42:55,108 INFO L200 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local [2024-09-23 23:42:55,180 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-23 23:42:55,210 INFO L204 MainTranslator]: Completed translation [2024-09-23 23:42:55,211 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55 WrapperNode [2024-09-23 23:42:55,211 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-09-23 23:42:55,212 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-09-23 23:42:55,212 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-09-23 23:42:55,212 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-09-23 23:42:55,217 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,227 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,247 INFO L138 Inliner]: procedures = 172, calls = 45, calls flagged for inlining = 7, calls inlined = 7, statements flattened = 125 [2024-09-23 23:42:55,247 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-09-23 23:42:55,248 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-09-23 23:42:55,248 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-09-23 23:42:55,248 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-09-23 23:42:55,254 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,254 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,256 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,256 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,260 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,265 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,268 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,269 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,271 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-09-23 23:42:55,271 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-09-23 23:42:55,272 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-09-23 23:42:55,272 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-09-23 23:42:55,273 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (1/1) ... [2024-09-23 23:42:55,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-23 23:42:55,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:42:55,298 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-09-23 23:42:55,301 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-09-23 23:42:55,333 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2024-09-23 23:42:55,334 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-09-23 23:42:55,334 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-09-23 23:42:55,334 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-09-23 23:42:55,335 WARN L211 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-09-23 23:42:55,429 INFO L242 CfgBuilder]: Building ICFG [2024-09-23 23:42:55,431 INFO L268 CfgBuilder]: Building CFG for each procedure with an implementation [2024-09-23 23:42:55,593 INFO L287 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-09-23 23:42:55,593 INFO L291 CfgBuilder]: Performing block encoding [2024-09-23 23:42:55,704 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-09-23 23:42:55,704 INFO L318 CfgBuilder]: Removed 3 assume(true) statements. [2024-09-23 23:42:55,704 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.09 11:42:55 BoogieIcfgContainer [2024-09-23 23:42:55,704 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-09-23 23:42:55,706 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-09-23 23:42:55,706 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-09-23 23:42:55,709 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-09-23 23:42:55,709 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.09 11:42:54" (1/4) ... [2024-09-23 23:42:55,710 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d087be3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.09 11:42:55, skipping insertion in model container [2024-09-23 23:42:55,710 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 23.09 11:42:54" (2/4) ... [2024-09-23 23:42:55,710 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d087be3 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 23.09 11:42:55, skipping insertion in model container [2024-09-23 23:42:55,710 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:42:55" (3/4) ... [2024-09-23 23:42:55,710 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@d087be3 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 23.09 11:42:55, skipping insertion in model container [2024-09-23 23:42:55,710 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.09 11:42:55" (4/4) ... [2024-09-23 23:42:55,712 INFO L112 eAbstractionObserver]: Analyzing ICFG 36_stack_cas_p0_vs_concur.i [2024-09-23 23:42:55,733 INFO L209 ceAbstractionStarter]: Automizer settings: Hoare:None NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-09-23 23:42:55,734 INFO L149 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-09-23 23:42:55,734 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-09-23 23:42:55,779 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-23 23:42:55,809 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:42:55,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-23 23:42:55,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:42:55,810 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-23 23:42:55,811 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2024-09-23 23:42:55,838 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-23 23:42:55,853 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2024-09-23 23:42:55,861 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@4d62279, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:42:55,861 INFO L337 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-09-23 23:42:55,966 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:42:55,970 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:42:55,971 INFO L85 PathProgramCache]: Analyzing trace with hash -2008215890, now seen corresponding path program 1 times [2024-09-23 23:42:55,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-23 23:42:55,980 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [235686838] [2024-09-23 23:42:55,980 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:42:55,980 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-23 23:42:56,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:42:56,659 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:42:56,660 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-23 23:42:56,660 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [235686838] [2024-09-23 23:42:56,660 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [235686838] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-23 23:42:56,660 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1204426990] [2024-09-23 23:42:56,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:42:56,661 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-23 23:42:56,661 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:42:56,664 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-23 23:42:56,665 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-09-23 23:42:56,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:42:56,736 INFO L262 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 16 conjuncts are in the unsatisfiable core [2024-09-23 23:42:56,741 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:42:56,858 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-09-23 23:42:56,859 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-09-23 23:42:56,900 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-23 23:42:56,942 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:42:56,943 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:42:57,707 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:42:57,707 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1204426990] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:42:57,707 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-09-23 23:42:57,708 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2024-09-23 23:42:57,710 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [472252206] [2024-09-23 23:42:57,711 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-09-23 23:42:57,714 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2024-09-23 23:42:57,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-09-23 23:42:57,735 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-09-23 23:42:57,736 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2024-09-23 23:42:57,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:42:57,738 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:42:57,739 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 9 states have internal predecessors, (31), 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) [2024-09-23 23:42:57,739 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:42:57,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-09-23 23:42:57,891 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-09-23 23:42:58,080 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2024-09-23 23:42:58,081 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:42:58,081 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:42:58,081 INFO L85 PathProgramCache]: Analyzing trace with hash -1983109515, now seen corresponding path program 1 times [2024-09-23 23:42:58,082 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-23 23:42:58,082 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [258423613] [2024-09-23 23:42:58,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:42:58,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-23 23:42:58,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:42:58,719 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:42:58,720 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-23 23:42:58,720 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [258423613] [2024-09-23 23:42:58,721 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [258423613] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-23 23:42:58,721 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [541930478] [2024-09-23 23:42:58,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:42:58,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-23 23:42:58,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:42:58,723 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-23 23:42:58,725 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-09-23 23:42:58,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:42:58,800 INFO L262 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 30 conjuncts are in the unsatisfiable core [2024-09-23 23:42:58,803 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:42:58,850 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-23 23:42:58,999 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-23 23:42:59,002 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-23 23:42:59,063 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:42:59,064 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:42:59,571 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:42:59,572 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 44 treesize of output 58 [2024-09-23 23:42:59,587 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:42:59,587 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-23 23:42:59,619 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 166 treesize of output 152 [2024-09-23 23:42:59,623 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 111 treesize of output 99 [2024-09-23 23:42:59,764 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:42:59,764 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [541930478] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:42:59,764 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-09-23 23:42:59,765 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 5] total 19 [2024-09-23 23:42:59,765 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1834888632] [2024-09-23 23:42:59,765 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-09-23 23:42:59,765 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-09-23 23:42:59,766 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-09-23 23:42:59,766 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-09-23 23:42:59,767 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=356, Unknown=1, NotChecked=0, Total=420 [2024-09-23 23:42:59,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:42:59,767 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:42:59,768 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 2.7) internal successors, (54), 20 states have internal predecessors, (54), 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) [2024-09-23 23:42:59,768 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2024-09-23 23:42:59,768 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:00,072 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-09-23 23:43:00,072 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-09-23 23:43:00,088 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-09-23 23:43:00,273 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-23 23:43:00,273 INFO L399 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:43:00,273 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:00,274 INFO L85 PathProgramCache]: Analyzing trace with hash 1791595301, now seen corresponding path program 1 times [2024-09-23 23:43:00,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-23 23:43:00,274 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1931829637] [2024-09-23 23:43:00,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:00,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-23 23:43:00,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:00,740 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:00,740 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-23 23:43:00,741 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1931829637] [2024-09-23 23:43:00,741 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1931829637] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-23 23:43:00,741 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1996271909] [2024-09-23 23:43:00,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:00,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-23 23:43:00,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:43:00,743 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-23 23:43:00,744 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-09-23 23:43:00,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:00,814 INFO L262 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 43 conjuncts are in the unsatisfiable core [2024-09-23 23:43:00,817 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:00,860 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-09-23 23:43:00,879 INFO L349 Elim1Store]: treesize reduction 42, result has 25.0 percent of original size [2024-09-23 23:43:00,880 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 29 treesize of output 23 [2024-09-23 23:43:00,889 INFO L173 IndexEqualityManager]: detected equality via solver [2024-09-23 23:43:00,891 INFO L173 IndexEqualityManager]: detected equality via solver [2024-09-23 23:43:00,904 INFO L349 Elim1Store]: treesize reduction 20, result has 33.3 percent of original size [2024-09-23 23:43:00,904 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 22 treesize of output 19 [2024-09-23 23:43:00,932 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-23 23:43:01,079 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2024-09-23 23:43:01,090 INFO L349 Elim1Store]: treesize reduction 13, result has 40.9 percent of original size [2024-09-23 23:43:01,090 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 25 [2024-09-23 23:43:01,171 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 9 [2024-09-23 23:43:01,180 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 9 [2024-09-23 23:43:01,222 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-09-23 23:43:01,223 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-09-23 23:43:01,255 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 11 [2024-09-23 23:43:01,305 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:01,305 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:03,943 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse29 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse16 (= |c_thr1Thread1of1ForFork0_push_~oldTop~0#1| (select .cse29 |c_~#top~0.offset|)))) (let ((.cse3 (store |c_#memory_int| |c_~#top~0.base| (store .cse29 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.offset|)))) (.cse10 (not .cse16)) (.cse7 (= (mod c_~next_alloc_idx~0 2) 1))) (and (or (< 64 c_~next_alloc_idx~0) (let ((.cse0 (< 0 (+ c_~next_alloc_idx~0 2))) (.cse5 (+ c_~next_alloc_idx~0 66)) (.cse8 (forall ((|v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23| Int) (v_ArrVal_129 Int) (v_ArrVal_128 Int)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_ArrVal_128) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_ArrVal_129) |v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23|) 0))))) (and (or (let ((.cse1 (forall ((v_DerPreprocessor_11 (Array Int Int))) (= (select (select (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_11) |c_~#top~0.base|) |c_~#top~0.offset|) 2)))) (and (or .cse0 .cse1 (forall ((v_prenex_178 Int) (v_prenex_179 Int) (v_prenex_177 Int)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_179) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_178) v_prenex_177) 0)))) (forall ((v_DerPreprocessor_11 (Array Int Int))) (let ((.cse2 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_11))) (or (= (select (select .cse2 |c_~#top~0.base|) |c_~#top~0.offset|) 2) (forall ((v_prenex_169 Int) (v_prenex_172 Int) (v_prenex_170 Int) (v_prenex_171 Int)) (or (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_172) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_171) v_prenex_170) 0)) (< c_~next_alloc_idx~0 v_prenex_169) (< 0 (+ (select (select (store .cse2 v_prenex_170 (store (select .cse2 v_prenex_170) 0 v_prenex_169)) |c_~#top~0.base|) |c_~#top~0.offset|) 1))))))) (forall ((v_DerPreprocessor_11 (Array Int Int))) (let ((.cse4 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_11))) (or (= (select (select .cse4 |c_~#top~0.base|) |c_~#top~0.offset|) 2) (forall ((v_prenex_176 Int) (v_prenex_174 Int) (v_prenex_175 Int) (v_prenex_173 Int)) (or (< (select (select (store .cse4 v_prenex_174 (store (select .cse4 v_prenex_174) 0 v_prenex_173)) |c_~#top~0.base|) |c_~#top~0.offset|) .cse5) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_176) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_175) v_prenex_174) 0)) (< c_~next_alloc_idx~0 v_prenex_173)))))) (forall ((v_prenex_183 Int) (v_DerPreprocessor_11 (Array Int Int)) (v_prenex_181 Int) (v_prenex_182 Int) (v_prenex_180 Int)) (or (not (= 0 (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_183) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_182) v_prenex_181))) (< (select (select (let ((.cse6 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_11))) (store .cse6 v_prenex_181 (store (select .cse6 v_prenex_181) 0 v_prenex_180))) |c_~#top~0.base|) |c_~#top~0.offset|) 67) (< c_~next_alloc_idx~0 v_prenex_180))) (or .cse7 .cse1 .cse8) (forall ((v_DerPreprocessor_11 (Array Int Int))) (let ((.cse9 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_11))) (or (= (select (select .cse9 |c_~#top~0.base|) |c_~#top~0.offset|) 2) (forall ((v_prenex_167 Int) (v_prenex_168 Int) (v_prenex_166 Int) (v_ArrVal_130 Int)) (or (< c_~next_alloc_idx~0 v_ArrVal_130) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_168) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_167) v_prenex_166) 0)) (not (= 2 (select (select (store .cse9 v_prenex_166 (store (select .cse9 v_prenex_166) 0 v_ArrVal_130)) |c_~#top~0.base|) |c_~#top~0.offset|)))))))))) .cse10) (or (let ((.cse13 (forall ((v_DerPreprocessor_12 (Array Int Int))) (= 2 (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_12) |c_~#top~0.base|) |c_~#top~0.offset|))))) (and (forall ((v_DerPreprocessor_12 (Array Int Int))) (let ((.cse11 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_12))) (or (= 2 (select (select .cse11 |c_~#top~0.base|) |c_~#top~0.offset|)) (forall ((v_ArrVal_130 Int) (v_prenex_185 Int) (v_prenex_186 Int) (v_prenex_184 Int)) (or (< c_~next_alloc_idx~0 v_ArrVal_130) (not (= (select (select (store .cse11 v_prenex_184 (store (select .cse11 v_prenex_184) 0 v_ArrVal_130)) |c_~#top~0.base|) |c_~#top~0.offset|) 2)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_186) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_185) v_prenex_184) 0))))))) (forall ((v_prenex_200 Int) (v_prenex_201 Int) (v_prenex_198 Int) (v_prenex_199 Int) (v_DerPreprocessor_12 (Array Int Int))) (or (not (= 0 (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_201) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_200) v_prenex_199))) (< c_~next_alloc_idx~0 v_prenex_198) (< (select (select (let ((.cse12 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_12))) (store .cse12 v_prenex_199 (store (select .cse12 v_prenex_199) 0 v_prenex_198))) |c_~#top~0.base|) |c_~#top~0.offset|) 67))) (or .cse0 (forall ((v_prenex_196 Int) (v_prenex_197 Int) (v_prenex_195 Int)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_197) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_196) v_prenex_195) 0))) .cse13) (forall ((v_DerPreprocessor_12 (Array Int Int))) (let ((.cse14 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_12))) (or (= 2 (select (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset|)) (forall ((v_prenex_189 Int) (v_prenex_187 Int) (v_prenex_188 Int) (v_prenex_190 Int)) (or (< 0 (+ (select (select (store .cse14 v_prenex_188 (store (select .cse14 v_prenex_188) 0 v_prenex_187)) |c_~#top~0.base|) |c_~#top~0.offset|) 1)) (< c_~next_alloc_idx~0 v_prenex_187) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_190) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_189) v_prenex_188) 0))))))) (forall ((v_DerPreprocessor_12 (Array Int Int))) (let ((.cse15 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_12))) (or (= 2 (select (select .cse15 |c_~#top~0.base|) |c_~#top~0.offset|)) (forall ((v_prenex_194 Int) (v_prenex_192 Int) (v_prenex_193 Int) (v_prenex_191 Int)) (or (< (select (select (store .cse15 v_prenex_192 (store (select .cse15 v_prenex_192) 0 v_prenex_191)) |c_~#top~0.base|) |c_~#top~0.offset|) .cse5) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_194) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_193) v_prenex_192) 0)) (< c_~next_alloc_idx~0 v_prenex_191)))))) (or .cse7 .cse13 .cse8))) .cse16)))) (or (< c_~next_alloc_idx~0 65) (let ((.cse18 (< c_~next_alloc_idx~0 67)) (.cse23 (+ c_~next_alloc_idx~0 64))) (and (or (let ((.cse17 (forall ((v_DerPreprocessor_9 (Array Int Int))) (= (select (select (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_9) |c_~#top~0.base|) |c_~#top~0.offset|) 2)))) (and (or .cse17 (forall ((v_prenex_116 Int) (v_prenex_117 Int) (v_prenex_115 Int)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_117) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_116) v_prenex_115) 0))) .cse18) (forall ((v_DerPreprocessor_9 (Array Int Int))) (let ((.cse19 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_9))) (or (forall ((v_prenex_125 Int) (v_prenex_123 Int) (v_prenex_124 Int) (v_prenex_122 (Array Int Int))) (or (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_125) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_124) v_prenex_123) 0)) (< (select (select (store .cse19 v_prenex_123 v_prenex_122) |c_~#top~0.base|) |c_~#top~0.offset|) 67))) (= (select (select .cse19 |c_~#top~0.base|) |c_~#top~0.offset|) 2)))) (forall ((v_DerPreprocessor_9 (Array Int Int))) (let ((.cse20 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_9))) (or (= (select (select .cse20 |c_~#top~0.base|) |c_~#top~0.offset|) 2) (forall ((v_DerPreprocessor_8 (Array Int Int)) (|v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23| Int) (v_ArrVal_129 Int) (v_ArrVal_128 Int)) (or (not (= (select (select (store .cse20 |v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23| v_DerPreprocessor_8) |c_~#top~0.base|) |c_~#top~0.offset|) 2)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_ArrVal_128) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_ArrVal_129) |v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23|) 0))))))) (forall ((v_DerPreprocessor_9 (Array Int Int))) (let ((.cse21 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_9))) (or (forall ((v_prenex_118 (Array Int Int)) (v_prenex_121 Int) (v_prenex_120 Int) (v_prenex_119 Int)) (or (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_121) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_120) v_prenex_119) 0)) (< 0 (+ (select (select (store .cse21 v_prenex_119 v_prenex_118) |c_~#top~0.base|) |c_~#top~0.offset|) 1)))) (= (select (select .cse21 |c_~#top~0.base|) |c_~#top~0.offset|) 2)))) (forall ((v_DerPreprocessor_9 (Array Int Int))) (let ((.cse22 (store .cse3 |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_9))) (or (= (select (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset|) 2) (forall ((v_prenex_127 Int) (v_prenex_128 Int) (v_prenex_126 (Array Int Int)) (v_prenex_129 Int)) (or (< (select (select (store .cse22 v_prenex_127 v_prenex_126) |c_~#top~0.base|) |c_~#top~0.offset|) .cse23) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_129) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_128) v_prenex_127) 0))))))) (or .cse7 .cse17 (forall ((v_prenex_114 Int) (v_prenex_112 Int) (v_prenex_113 Int)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_114) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_113) v_prenex_112) 0)))))) .cse10) (or (let ((.cse24 (forall ((v_DerPreprocessor_10 (Array Int Int))) (= 2 (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_10) |c_~#top~0.base|) |c_~#top~0.offset|))))) (and (or (forall ((v_prenex_134 Int) (v_prenex_135 Int) (v_prenex_133 Int)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_135) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_134) v_prenex_133) 0))) .cse24 .cse18) (forall ((v_DerPreprocessor_10 (Array Int Int))) (let ((.cse25 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_10))) (or (= 2 (select (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset|)) (forall ((v_prenex_140 (Array Int Int)) (v_prenex_143 Int) (v_prenex_141 Int) (v_prenex_142 Int)) (or (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_143) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_142) v_prenex_141) 0)) (< (select (select (store .cse25 v_prenex_141 v_prenex_140) |c_~#top~0.base|) |c_~#top~0.offset|) 67)))))) (forall ((v_DerPreprocessor_10 (Array Int Int))) (let ((.cse26 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_10))) (or (= 2 (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|)) (forall ((v_prenex_138 Int) (v_prenex_139 Int) (v_prenex_137 Int) (v_prenex_136 (Array Int Int))) (or (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_139) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_138) v_prenex_137) 0)) (< 0 (+ (select (select (store .cse26 v_prenex_137 v_prenex_136) |c_~#top~0.base|) |c_~#top~0.offset|) 1))))))) (or (forall ((v_prenex_132 Int) (v_prenex_130 Int) (v_prenex_131 Int)) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_132) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_131) v_prenex_130) 0))) .cse7 .cse24) (forall ((v_DerPreprocessor_10 (Array Int Int))) (let ((.cse27 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_10))) (or (forall ((v_DerPreprocessor_8 (Array Int Int)) (|v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23| Int) (v_ArrVal_129 Int) (v_ArrVal_128 Int)) (or (not (= 2 (select (select (store .cse27 |v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23| v_DerPreprocessor_8) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_ArrVal_128) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_ArrVal_129) |v_thr1Thread1of1ForFork0_push_~#newTop~0#1.base_23|) 0)))) (= 2 (select (select .cse27 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((v_DerPreprocessor_10 (Array Int Int))) (let ((.cse28 (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_10))) (or (forall ((v_prenex_147 Int) (v_prenex_145 Int) (v_prenex_146 Int) (v_prenex_144 (Array Int Int))) (or (< (select (select (store .cse28 v_prenex_145 v_prenex_144) |c_~#top~0.base|) |c_~#top~0.offset|) .cse23) (not (= (select (store (store |c_#valid| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_prenex_147) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_prenex_146) v_prenex_145) 0)))) (= 2 (select (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset|))))))) .cse16)))))))) is different from false [2024-09-23 23:43:04,924 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:04,925 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 38 treesize of output 52 [2024-09-23 23:43:04,941 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:04,942 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-23 23:43:05,623 INFO L349 Elim1Store]: treesize reduction 27, result has 60.9 percent of original size [2024-09-23 23:43:05,624 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 875 treesize of output 813 [2024-09-23 23:43:06,317 WARN L320 FreeRefinementEngine]: Global settings require throwing the following exception [2024-09-23 23:43:06,329 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-09-23 23:43:06,520 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,5 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-23 23:43:06,521 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: no need to replace index at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.constructReplacementForSelectCase(DerPreprocessor.java:331) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.constructDerEnabler(DerPreprocessor.java:186) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.(DerPreprocessor.java:144) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.ElimStorePlain.applyComplexEliminationRules(ElimStorePlain.java:153) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:190) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne3(DualJunctionSaa.java:172) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne2(DualJunctionSaa.java:151) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne1(DualJunctionSaa.java:140) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne0(DualJunctionSaa.java:122) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne(DualJunctionSaa.java:108) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryExhaustivelyToEliminate(DualJunctionSaa.java:93) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:88) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToEliminateOne(QuantifierPusher.java:543) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyNewEliminationTechniquesExhaustively(QuantifierPusher.java:522) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyDualJunctionEliminationTechniques(QuantifierPusher.java:515) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:326) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:189) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine$ApplicationTermTask.doStep(TermContextTransformationEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:100) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.pushMinionEliminatees(QuantifierPushUtilsForSubsetPush.java:255) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.sequentialSubsetPush(QuantifierPushUtilsForSubsetPush.java:151) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:338) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:189) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:88) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.pushMinionEliminatees(QuantifierPushUtilsForSubsetPush.java:255) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushUtilsForSubsetPush.sequentialSubsetPush(QuantifierPushUtilsForSubsetPush.java:151) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:338) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:189) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:88) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:283) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:51) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:399) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:271) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:341) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:184) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:110) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:77) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:267) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:148) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:137) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:82) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:410) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:345) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:327) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:421) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:307) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:231) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:160) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:124) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2024-09-23 23:43:06,525 INFO L158 Benchmark]: Toolchain (without parser) took 11783.12ms. Allocated memory was 157.3MB in the beginning and 318.8MB in the end (delta: 161.5MB). Free memory was 86.0MB in the beginning and 102.0MB in the end (delta: -15.9MB). Peak memory consumption was 154.5MB. Max. memory is 16.1GB. [2024-09-23 23:43:06,525 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 100.7MB. Free memory is still 63.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-09-23 23:43:06,526 INFO L158 Benchmark]: Witness Parser took 0.19ms. Allocated memory is still 157.3MB. Free memory is still 88.5MB. There was no memory consumed. Max. memory is 16.1GB. [2024-09-23 23:43:06,526 INFO L158 Benchmark]: CACSL2BoogieTranslator took 467.66ms. Allocated memory is still 157.3MB. Free memory was 85.9MB in the beginning and 108.6MB in the end (delta: -22.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-09-23 23:43:06,530 INFO L158 Benchmark]: Boogie Procedure Inliner took 35.55ms. Allocated memory is still 157.3MB. Free memory was 108.6MB in the beginning and 106.1MB in the end (delta: 2.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-09-23 23:43:06,530 INFO L158 Benchmark]: Boogie Preprocessor took 23.11ms. Allocated memory is still 157.3MB. Free memory was 106.1MB in the beginning and 104.6MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-09-23 23:43:06,531 INFO L158 Benchmark]: RCFGBuilder took 433.16ms. Allocated memory is still 157.3MB. Free memory was 104.6MB in the beginning and 67.8MB in the end (delta: 36.8MB). Peak memory consumption was 35.7MB. Max. memory is 16.1GB. [2024-09-23 23:43:06,531 INFO L158 Benchmark]: TraceAbstraction took 10818.72ms. Allocated memory was 157.3MB in the beginning and 318.8MB in the end (delta: 161.5MB). Free memory was 67.4MB in the beginning and 102.0MB in the end (delta: -34.6MB). Peak memory consumption was 135.9MB. Max. memory is 16.1GB. [2024-09-23 23:43:06,532 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.17ms. Allocated memory is still 100.7MB. Free memory is still 63.0MB. There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.19ms. Allocated memory is still 157.3MB. Free memory is still 88.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 467.66ms. Allocated memory is still 157.3MB. Free memory was 85.9MB in the beginning and 108.6MB in the end (delta: -22.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 35.55ms. Allocated memory is still 157.3MB. Free memory was 108.6MB in the beginning and 106.1MB in the end (delta: 2.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 23.11ms. Allocated memory is still 157.3MB. Free memory was 106.1MB in the beginning and 104.6MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 433.16ms. Allocated memory is still 157.3MB. Free memory was 104.6MB in the beginning and 67.8MB in the end (delta: 36.8MB). Peak memory consumption was 35.7MB. Max. memory is 16.1GB. * TraceAbstraction took 10818.72ms. Allocated memory was 157.3MB in the beginning and 318.8MB in the end (delta: 161.5MB). Free memory was 67.4MB in the beginning and 102.0MB in the end (delta: -34.6MB). Peak memory consumption was 135.9MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: no need to replace index de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: no need to replace index: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.constructReplacementForSelectCase(DerPreprocessor.java:331) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2024-09-23 23:43:06,553 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Forceful destruction successful, exit code 0 [2024-09-23 23:43:06,770 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i ./goblint.2024-09-02_08-21-23.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf --cacsl2boogietranslator.entry.function main --traceabstraction.positions.where.we.compute.the.hoare.annotation None --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-dev-e94c40d-m [2024-09-23 23:43:08,676 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-09-23 23:43:08,746 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf [2024-09-23 23:43:08,751 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-09-23 23:43:08,751 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-09-23 23:43:08,777 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-09-23 23:43:08,777 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-09-23 23:43:08,777 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-09-23 23:43:08,778 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-09-23 23:43:08,778 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-09-23 23:43:08,778 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-09-23 23:43:08,779 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-09-23 23:43:08,779 INFO L153 SettingsManager]: * Use SBE=true [2024-09-23 23:43:08,783 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-09-23 23:43:08,784 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-09-23 23:43:08,784 INFO L153 SettingsManager]: * sizeof long=4 [2024-09-23 23:43:08,784 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-09-23 23:43:08,784 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-09-23 23:43:08,784 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-09-23 23:43:08,784 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-09-23 23:43:08,785 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-09-23 23:43:08,785 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-09-23 23:43:08,785 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-09-23 23:43:08,785 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-09-23 23:43:08,786 INFO L153 SettingsManager]: * sizeof long double=12 [2024-09-23 23:43:08,786 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-09-23 23:43:08,786 INFO L153 SettingsManager]: * Use constant arrays=true [2024-09-23 23:43:08,786 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-09-23 23:43:08,787 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-09-23 23:43:08,787 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-09-23 23:43:08,787 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-09-23 23:43:08,787 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-23 23:43:08,787 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-09-23 23:43:08,787 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-09-23 23:43:08,788 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-09-23 23:43:08,789 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-09-23 23:43:08,789 INFO L153 SettingsManager]: * Logic for external solver=AUFBV 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/UGemCutter-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.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Positions where we compute the Hoare Annotation -> None Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Check unreachability of reach_error function -> false [2024-09-23 23:43:09,072 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-09-23 23:43:09,092 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-09-23 23:43:09,094 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-09-23 23:43:09,095 INFO L270 PluginConnector]: Initializing CDTParser... [2024-09-23 23:43:09,095 INFO L274 PluginConnector]: CDTParser initialized [2024-09-23 23:43:09,097 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-23 23:43:10,434 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-09-23 23:43:10,624 INFO L384 CDTParser]: Found 1 translation units. [2024-09-23 23:43:10,625 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-23 23:43:10,644 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/a1b1dcffe/15469a2938834614b16860f88dc29df2/FLAG27c4d7444 [2024-09-23 23:43:10,656 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/a1b1dcffe/15469a2938834614b16860f88dc29df2 [2024-09-23 23:43:10,658 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-09-23 23:43:10,658 INFO L274 PluginConnector]: Witness Parser initialized [2024-09-23 23:43:10,659 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-09-02_08-21-23.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml [2024-09-23 23:43:10,721 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-09-23 23:43:10,722 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-09-23 23:43:10,724 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-09-23 23:43:10,724 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-09-23 23:43:10,728 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-09-23 23:43:10,729 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.09 11:43:10" (1/2) ... [2024-09-23 23:43:10,730 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f00dd80 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.09 11:43:10, skipping insertion in model container [2024-09-23 23:43:10,730 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.09 11:43:10" (1/2) ... [2024-09-23 23:43:10,731 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@782ecb61 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.09 11:43:10, skipping insertion in model container [2024-09-23 23:43:10,732 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 23.09 11:43:10" (2/2) ... [2024-09-23 23:43:10,732 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f00dd80 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:10, skipping insertion in model container [2024-09-23 23:43:10,732 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 23.09 11:43:10" (2/2) ... [2024-09-23 23:43:10,763 INFO L93 nessWitnessExtractor]: Found the following entries in the witness: [2024-09-23 23:43:10,764 INFO L1541 ArrayList]: Location invariant before [L721-L721] (((((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 66)) && ((63LL + (long long )next_alloc_idx) - (long long )top >= 0LL)) && (next_alloc_idx % 2 == 1)) && (next_alloc_idx != 2)) && (top != 2) [2024-09-23 23:43:10,764 INFO L1541 ArrayList]: Location invariant before [L732-L732] (((((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 66)) && ((63LL + (long long )next_alloc_idx) - (long long )top >= 0LL)) && (next_alloc_idx % 2 == 1)) && (next_alloc_idx != 2)) && (top != 2) [2024-09-23 23:43:10,802 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-09-23 23:43:11,096 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-23 23:43:11,107 INFO L200 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local [2024-09-23 23:43:11,176 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-23 23:43:11,214 INFO L204 MainTranslator]: Completed translation [2024-09-23 23:43:11,215 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11 WrapperNode [2024-09-23 23:43:11,215 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-09-23 23:43:11,216 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-09-23 23:43:11,216 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-09-23 23:43:11,216 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-09-23 23:43:11,222 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,237 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,257 INFO L138 Inliner]: procedures = 176, calls = 45, calls flagged for inlining = 7, calls inlined = 7, statements flattened = 126 [2024-09-23 23:43:11,257 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-09-23 23:43:11,258 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-09-23 23:43:11,258 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-09-23 23:43:11,258 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-09-23 23:43:11,265 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,265 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,268 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,269 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,274 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,280 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,282 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,289 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,292 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-09-23 23:43:11,292 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-09-23 23:43:11,292 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-09-23 23:43:11,292 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-09-23 23:43:11,293 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (1/1) ... [2024-09-23 23:43:11,304 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-23 23:43:11,310 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:43:11,327 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-09-23 23:43:11,330 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-09-23 23:43:11,363 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2024-09-23 23:43:11,363 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2024-09-23 23:43:11,364 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-09-23 23:43:11,364 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-09-23 23:43:11,364 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-09-23 23:43:11,365 WARN L211 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-09-23 23:43:11,472 INFO L242 CfgBuilder]: Building ICFG [2024-09-23 23:43:11,474 INFO L268 CfgBuilder]: Building CFG for each procedure with an implementation [2024-09-23 23:43:11,746 INFO L287 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-09-23 23:43:11,747 INFO L291 CfgBuilder]: Performing block encoding [2024-09-23 23:43:11,935 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-09-23 23:43:11,935 INFO L318 CfgBuilder]: Removed 3 assume(true) statements. [2024-09-23 23:43:11,936 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.09 11:43:11 BoogieIcfgContainer [2024-09-23 23:43:11,936 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-09-23 23:43:11,938 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-09-23 23:43:11,938 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-09-23 23:43:11,941 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-09-23 23:43:11,941 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.09 11:43:10" (1/4) ... [2024-09-23 23:43:11,942 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5746cd2d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.09 11:43:11, skipping insertion in model container [2024-09-23 23:43:11,942 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 23.09 11:43:10" (2/4) ... [2024-09-23 23:43:11,942 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5746cd2d and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 23.09 11:43:11, skipping insertion in model container [2024-09-23 23:43:11,942 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 23.09 11:43:11" (3/4) ... [2024-09-23 23:43:11,942 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5746cd2d and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 23.09 11:43:11, skipping insertion in model container [2024-09-23 23:43:11,942 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.09 11:43:11" (4/4) ... [2024-09-23 23:43:11,944 INFO L112 eAbstractionObserver]: Analyzing ICFG 36_stack_cas_p0_vs_concur.i [2024-09-23 23:43:11,959 INFO L209 ceAbstractionStarter]: Automizer settings: Hoare:None NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-09-23 23:43:11,959 INFO L149 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-09-23 23:43:11,959 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-09-23 23:43:12,002 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-23 23:43:12,037 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:12,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-23 23:43:12,038 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:43:12,039 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-23 23:43:12,041 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2024-09-23 23:43:12,063 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-23 23:43:12,073 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2024-09-23 23:43:12,078 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@3aae8656, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:12,079 INFO L337 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-09-23 23:43:12,191 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:43:12,195 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:12,195 INFO L85 PathProgramCache]: Analyzing trace with hash 262873134, now seen corresponding path program 1 times [2024-09-23 23:43:12,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:12,207 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1391648018] [2024-09-23 23:43:12,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:12,208 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:12,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:12,227 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:12,229 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2024-09-23 23:43:12,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:12,320 INFO L262 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 11 conjuncts are in the unsatisfiable core [2024-09-23 23:43:12,324 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:12,516 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-09-23 23:43:12,517 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 13 [2024-09-23 23:43:12,576 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-23 23:43:12,628 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:12,628 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:12,992 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse0 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (and (forall ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) ((_ sign_extend 32) .cse0) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_2) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (forall ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_2) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_2) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((v_DerPreprocessor_2 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_2) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (= (bvsrem .cse0 (_ bv2 32)) (_ bv1 32)))) .cse1) (or (not .cse1) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_DerPreprocessor_1 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_1) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((v_DerPreprocessor_1 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_1) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((v_DerPreprocessor_1 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_1) |c_~#top~0.base|) |c_~#top~0.offset|)))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (forall ((v_DerPreprocessor_1 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_1) |c_~#top~0.base|) |c_~#top~0.offset|))) ((_ sign_extend 32) c_~next_alloc_idx~0)) (_ bv0 64))))))) is different from false [2024-09-23 23:43:13,702 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:13,702 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-23 23:43:13,703 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1391648018] [2024-09-23 23:43:13,703 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1391648018] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:43:13,703 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-23 23:43:13,703 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 6 [2024-09-23 23:43:13,705 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [611124483] [2024-09-23 23:43:13,705 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-23 23:43:13,709 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-09-23 23:43:13,709 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-23 23:43:13,731 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-09-23 23:43:13,732 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-09-23 23:43:13,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:13,734 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:43:13,735 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 7 states have internal predecessors, (24), 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) [2024-09-23 23:43:13,736 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:14,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:14,155 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2024-09-23 23:43:14,347 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:14,348 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:43:14,349 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:14,349 INFO L85 PathProgramCache]: Analyzing trace with hash 1396566197, now seen corresponding path program 1 times [2024-09-23 23:43:14,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:14,349 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1338207640] [2024-09-23 23:43:14,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:14,350 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:14,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:14,352 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:14,353 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2024-09-23 23:43:14,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:14,428 INFO L262 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 19 conjuncts are in the unsatisfiable core [2024-09-23 23:43:14,431 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:14,518 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-23 23:43:14,732 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-23 23:43:14,733 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-23 23:43:14,821 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:14,822 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:15,073 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse5 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse0 (= |c_thr1Thread1of1ForFork0_push_~oldTop~0#1| (select .cse5 |c_~#top~0.offset|))) (.cse1 (bvsle c_~next_alloc_idx~0 (_ bv66 32))) (.cse3 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse2 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (or .cse0 (and .cse1 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) .cse2 (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse3 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (or (not .cse0) (let ((.cse4 (store |c_#memory_int| |c_~#top~0.base| (store .cse5 |c_~#top~0.offset| |c_thr1Thread1of1ForFork0_push_#t~mem12#1|)))) (and .cse1 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse3 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse2) (_ bv0 64))))))))) is different from false [2024-09-23 23:43:15,235 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse5 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse0 (= |c_thr1Thread1of1ForFork0_push_~oldTop~0#1| (select .cse5 |c_~#top~0.offset|))) (.cse1 (bvsle c_~next_alloc_idx~0 (_ bv66 32))) (.cse2 ((_ sign_extend 32) c_~next_alloc_idx~0)) (.cse3 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))))) (and (or .cse0 (and .cse1 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) .cse2 (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse3 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (or (not .cse0) (let ((.cse4 (store |c_#memory_int| |c_~#top~0.base| (store .cse5 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.offset|))))) (and .cse1 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse2 (bvneg ((_ sign_extend 32) (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) .cse3 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (select (select (store .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))))))) is different from false [2024-09-23 23:43:15,758 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:15,759 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-23 23:43:15,771 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:15,771 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-23 23:43:15,898 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 186 treesize of output 168 [2024-09-23 23:43:15,907 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2024-09-23 23:43:15,926 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 40 [2024-09-23 23:43:16,034 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:16,034 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-23 23:43:16,035 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1338207640] [2024-09-23 23:43:16,035 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1338207640] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:43:16,035 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-23 23:43:16,035 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 11 [2024-09-23 23:43:16,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [483788009] [2024-09-23 23:43:16,035 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-23 23:43:16,036 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-09-23 23:43:16,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-23 23:43:16,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-09-23 23:43:16,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=82, Unknown=2, NotChecked=38, Total=156 [2024-09-23 23:43:16,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:16,038 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:43:16,038 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 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) [2024-09-23 23:43:16,038 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:16,038 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:17,349 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse7 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse5 (select .cse7 |c_~#top~0.offset|))) (let ((.cse2 (= |c_thr1Thread1of1ForFork0_push_~oldTop~0#1| .cse5)) (.cse0 (bvsle c_~next_alloc_idx~0 (_ bv66 32))) (.cse4 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse3 ((_ sign_extend 32) c_~next_alloc_idx~0)) (.cse1 (store |c_#memory_int| |c_~#top~0.base| (store .cse7 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.offset|))))) (and .cse0 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or .cse2 (and .cse0 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse4 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (not (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (bvsle (_ bv0 32) c_~next_alloc_idx~0) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) .cse5))) (_ bv0 64)) (not (= (_ bv2 32) .cse5)) (bvsle (_ bv0 32) .cse5) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) .cse4 (or (not .cse2) (let ((.cse6 (store |c_#memory_int| |c_~#top~0.base| (store .cse7 |c_~#top~0.offset| |c_thr1Thread1of1ForFork0_push_#t~mem12#1|)))) (and .cse0 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse4 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse3) (_ bv0 64)))))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (bvsle .cse5 (_ bv66 32)) (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32)))))) is different from false [2024-09-23 23:43:18,357 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse7 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse5 (select .cse7 |c_~#top~0.offset|))) (let ((.cse2 (= |c_thr1Thread1of1ForFork0_push_~oldTop~0#1| .cse5)) (.cse0 (bvsle c_~next_alloc_idx~0 (_ bv66 32))) (.cse4 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse3 ((_ sign_extend 32) c_~next_alloc_idx~0)) (.cse1 (store |c_#memory_int| |c_~#top~0.base| (store .cse7 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.offset|))))) (and .cse0 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or .cse2 (and .cse0 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse4 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread1of1ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_3) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) .cse5))) (_ bv0 64)) (not (= (_ bv2 32) .cse5)) (bvsle (_ bv0 32) .cse5) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) .cse4 (or (not .cse2) (let ((.cse6 (store |c_#memory_int| |c_~#top~0.base| (store .cse7 |c_~#top~0.offset| |c_thr1Thread1of1ForFork0_push_#t~mem12#1|)))) (and .cse0 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse4 (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse6 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse3) (_ bv0 64)))))) (forall ((|thr1Thread1of1ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (select (select (store .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of1ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of1ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (bvsle .cse5 (_ bv66 32)))))) is different from false [2024-09-23 23:43:19,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:19,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2024-09-23 23:43:19,166 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Ended with exit code 0 [2024-09-23 23:43:19,363 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:19,363 INFO L399 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:43:19,363 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:19,364 INFO L85 PathProgramCache]: Analyzing trace with hash -1358141130, now seen corresponding path program 1 times [2024-09-23 23:43:19,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:19,364 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1492804822] [2024-09-23 23:43:19,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:19,364 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:19,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:19,367 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:19,368 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2024-09-23 23:43:19,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:19,460 INFO L262 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 6 conjuncts are in the unsatisfiable core [2024-09-23 23:43:19,468 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:19,487 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 7 [2024-09-23 23:43:19,496 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-09-23 23:43:19,496 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 1 [2024-09-23 23:43:19,502 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 32 [2024-09-23 23:43:19,508 WARN L214 Elim1Store]: Array PQE input equivalent to false [2024-09-23 23:43:19,526 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 18 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-09-23 23:43:19,526 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-09-23 23:43:19,527 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-23 23:43:19,527 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1492804822] [2024-09-23 23:43:19,527 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1492804822] provided 1 perfect and 0 imperfect interpolant sequences [2024-09-23 23:43:19,527 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-09-23 23:43:19,527 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-09-23 23:43:19,527 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [455679425] [2024-09-23 23:43:19,527 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-09-23 23:43:19,527 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-09-23 23:43:19,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-23 23:43:19,528 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-09-23 23:43:19,528 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-09-23 23:43:19,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:19,528 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:43:19,529 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 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) [2024-09-23 23:43:19,529 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:19,529 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 16 states. [2024-09-23 23:43:19,529 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:20,771 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:20,771 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2024-09-23 23:43:20,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-09-23 23:43:20,774 INFO L785 garLoopResultBuilder]: Registering result SAFE for location thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 2 remaining) [2024-09-23 23:43:20,775 INFO L785 garLoopResultBuilder]: Registering result SAFE for location thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT (0 of 2 remaining) [2024-09-23 23:43:20,780 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2024-09-23 23:43:20,979 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:20,988 INFO L408 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2024-09-23 23:43:20,989 INFO L312 ceAbstractionStarter]: Result for error location thr1Thread1of1ForFork0 was SAFE,SAFE (1/2) [2024-09-23 23:43:20,991 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:20,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-23 23:43:20,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:43:20,996 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-23 23:43:21,003 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (6)] Waiting until timeout for monitored process [2024-09-23 23:43:21,005 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-23 23:43:21,006 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-09-23 23:43:21,006 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@3aae8656, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:21,006 INFO L337 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-09-23 23:43:21,068 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-23 23:43:21,068 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:21,068 INFO L85 PathProgramCache]: Analyzing trace with hash 1484070764, now seen corresponding path program 1 times [2024-09-23 23:43:21,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:21,069 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [852617897] [2024-09-23 23:43:21,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:21,069 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:21,069 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:21,073 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:21,073 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2024-09-23 23:43:21,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-23 23:43:21,123 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-09-23 23:43:21,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-23 23:43:21,171 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2024-09-23 23:43:21,171 INFO L326 BasicCegarLoop]: Counterexample is feasible [2024-09-23 23:43:21,171 INFO L785 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-09-23 23:43:21,178 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (7)] Ended with exit code 0 [2024-09-23 23:43:21,374 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:21,375 INFO L408 BasicCegarLoop]: Path program histogram: [1] [2024-09-23 23:43:21,376 INFO L312 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (2/2) [2024-09-23 23:43:21,376 WARN L239 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2024-09-23 23:43:21,376 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2024-09-23 23:43:21,412 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-23 23:43:21,413 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:21,413 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-23 23:43:21,414 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:43:21,415 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-23 23:43:21,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (8)] Waiting until timeout for monitored process [2024-09-23 23:43:21,425 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-23 23:43:21,425 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-09-23 23:43:21,425 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@3aae8656, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:21,425 INFO L337 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-09-23 23:43:21,628 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-23 23:43:21,629 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:21,629 INFO L85 PathProgramCache]: Analyzing trace with hash -1478896732, now seen corresponding path program 1 times [2024-09-23 23:43:21,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:21,629 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1301864662] [2024-09-23 23:43:21,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:21,630 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:21,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:21,631 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:21,632 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2024-09-23 23:43:21,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:21,709 INFO L262 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 11 conjuncts are in the unsatisfiable core [2024-09-23 23:43:21,711 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:21,817 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-09-23 23:43:21,818 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 13 [2024-09-23 23:43:21,857 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-23 23:43:21,934 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:21,934 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:22,356 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse0 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (and (forall ((v_DerPreprocessor_6 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_6) |c_~#top~0.base|) |c_~#top~0.offset|)))) (forall ((v_DerPreprocessor_6 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_6) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((v_DerPreprocessor_6 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) ((_ sign_extend 32) .cse0) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_6) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (= (bvsrem .cse0 (_ bv2 32)) (_ bv1 32)) (forall ((v_DerPreprocessor_6 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_6) |c_~#top~0.base|) |c_~#top~0.offset|))))) .cse1) (or (not .cse1) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_DerPreprocessor_7 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) ((_ sign_extend 32) c_~next_alloc_idx~0) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_7) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (forall ((v_DerPreprocessor_7 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_7) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((v_DerPreprocessor_7 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_7) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (forall ((v_DerPreprocessor_7 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_7) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))))) is different from false [2024-09-23 23:43:23,062 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:23,062 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-23 23:43:23,062 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1301864662] [2024-09-23 23:43:23,062 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1301864662] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:43:23,062 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-23 23:43:23,062 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2024-09-23 23:43:23,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [322630386] [2024-09-23 23:43:23,062 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-23 23:43:23,063 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-09-23 23:43:23,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-23 23:43:23,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-09-23 23:43:23,063 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-09-23 23:43:23,063 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:23,063 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:43:23,063 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 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) [2024-09-23 23:43:23,064 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:24,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:24,586 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (9)] Ended with exit code 0 [2024-09-23 23:43:24,781 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:24,781 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-23 23:43:24,782 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:24,782 INFO L85 PathProgramCache]: Analyzing trace with hash 1227724413, now seen corresponding path program 1 times [2024-09-23 23:43:24,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:24,782 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [852266834] [2024-09-23 23:43:24,782 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:24,782 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:24,782 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:24,783 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:24,784 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2024-09-23 23:43:24,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:24,874 INFO L262 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 18 conjuncts are in the unsatisfiable core [2024-09-23 23:43:24,877 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:24,942 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-23 23:43:25,202 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-23 23:43:25,203 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-23 23:43:25,310 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:25,310 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:27,101 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:27,103 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-23 23:43:27,117 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:27,117 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-23 23:43:27,721 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:27,722 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1892 treesize of output 1964 [2024-09-23 23:43:27,782 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 689 treesize of output 673 [2024-09-23 23:43:27,835 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 675 treesize of output 659 [2024-09-23 23:43:27,862 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 639 treesize of output 623 [2024-09-23 23:43:27,886 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 625 treesize of output 609 [2024-09-23 23:43:28,986 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 22 [2024-09-23 23:43:29,192 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:29,192 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-23 23:43:29,192 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [852266834] [2024-09-23 23:43:29,193 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [852266834] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:43:29,193 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-23 23:43:29,193 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 12 [2024-09-23 23:43:29,193 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1033520425] [2024-09-23 23:43:29,193 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-23 23:43:29,193 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-09-23 23:43:29,193 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-23 23:43:29,194 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-09-23 23:43:29,194 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=114, Unknown=5, NotChecked=0, Total=156 [2024-09-23 23:43:29,194 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:29,194 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:43:29,195 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 3.4615384615384617) internal successors, (45), 12 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) [2024-09-23 23:43:29,195 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:29,195 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:32,212 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:32,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-09-23 23:43:32,219 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2024-09-23 23:43:32,418 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:32,418 INFO L399 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-23 23:43:32,418 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:32,419 INFO L85 PathProgramCache]: Analyzing trace with hash 1256353564, now seen corresponding path program 1 times [2024-09-23 23:43:32,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:32,419 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [767172495] [2024-09-23 23:43:32,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:32,419 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:32,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:32,420 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:32,421 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2024-09-23 23:43:32,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-23 23:43:32,517 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-09-23 23:43:32,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-23 23:43:32,599 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2024-09-23 23:43:32,599 INFO L326 BasicCegarLoop]: Counterexample is feasible [2024-09-23 23:43:32,599 INFO L785 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-09-23 23:43:32,604 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2024-09-23 23:43:32,800 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:32,801 INFO L408 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2024-09-23 23:43:32,801 INFO L312 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (1/3) [2024-09-23 23:43:32,801 WARN L239 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2024-09-23 23:43:32,801 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2024-09-23 23:43:32,830 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-23 23:43:32,832 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:32,832 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-23 23:43:32,832 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-23 23:43:32,836 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-23 23:43:32,839 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (12)] Waiting until timeout for monitored process [2024-09-23 23:43:32,841 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-23 23:43:32,841 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread3of3ForFork0 ======== [2024-09-23 23:43:32,841 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@3aae8656, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-23 23:43:32,841 INFO L337 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-09-23 23:43:33,249 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:43:33,250 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:33,250 INFO L85 PathProgramCache]: Analyzing trace with hash 2084484843, now seen corresponding path program 1 times [2024-09-23 23:43:33,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:33,250 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1052337988] [2024-09-23 23:43:33,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:33,250 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:33,250 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:33,252 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:33,252 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2024-09-23 23:43:33,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:33,382 INFO L262 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 11 conjuncts are in the unsatisfiable core [2024-09-23 23:43:33,384 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:33,458 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-09-23 23:43:33,458 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 13 [2024-09-23 23:43:33,485 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-23 23:43:33,536 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-23 23:43:33,536 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:33,866 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse0 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (and (forall ((v_DerPreprocessor_10 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_10) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((v_DerPreprocessor_10 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_10) |c_~#top~0.base|) |c_~#top~0.offset|)))) (forall ((v_DerPreprocessor_10 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_10) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((v_DerPreprocessor_10 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) ((_ sign_extend 32) .cse0) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_10) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (= (bvsrem .cse0 (_ bv2 32)) (_ bv1 32)))) .cse1) (or (not .cse1) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_DerPreprocessor_11 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_11) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((v_DerPreprocessor_11 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_11) |c_~#top~0.base|) |c_~#top~0.offset|))) (_ bv63 64) ((_ sign_extend 32) c_~next_alloc_idx~0)) (_ bv0 64))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (forall ((v_DerPreprocessor_11 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_11) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((v_DerPreprocessor_11 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_11) |c_~#top~0.base|) |c_~#top~0.offset|)))))))) is different from false [2024-09-23 23:43:34,561 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-23 23:43:34,561 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-23 23:43:34,561 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1052337988] [2024-09-23 23:43:34,561 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1052337988] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:43:34,561 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-23 23:43:34,561 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2024-09-23 23:43:34,561 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2122021490] [2024-09-23 23:43:34,561 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-23 23:43:34,562 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-09-23 23:43:34,562 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-23 23:43:34,562 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-09-23 23:43:34,562 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-09-23 23:43:34,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:34,562 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:43:34,563 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.375) internal successors, (43), 7 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) [2024-09-23 23:43:34,563 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:36,587 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:36,591 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (13)] Ended with exit code 0 [2024-09-23 23:43:36,787 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:36,787 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:43:36,788 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:36,788 INFO L85 PathProgramCache]: Analyzing trace with hash 1293640210, now seen corresponding path program 1 times [2024-09-23 23:43:36,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:36,788 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1874996686] [2024-09-23 23:43:36,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:36,788 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:36,788 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:36,789 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:36,790 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2024-09-23 23:43:36,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:36,917 INFO L262 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 17 conjuncts are in the unsatisfiable core [2024-09-23 23:43:36,919 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:36,984 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-23 23:43:37,179 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-23 23:43:37,179 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-23 23:43:37,256 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-23 23:43:37,256 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:37,540 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse4 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse0 (= |c_thr1Thread1of3ForFork0_push_~oldTop~0#1| (select .cse4 |c_~#top~0.offset|)))) (let ((.cse3 ((_ sign_extend 32) c_~next_alloc_idx~0)) (.cse1 (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| |c_thr1Thread1of3ForFork0_push_#t~mem12#1|))) (.cse2 (not .cse0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (or .cse0 (forall ((v_DerPreprocessor_12 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_12) |c_~#top~0.base|) |c_~#top~0.offset|))))) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|)))) .cse2) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) .cse2) (or .cse0 (forall ((v_DerPreprocessor_14 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_14) |c_~#top~0.base|) |c_~#top~0.offset|)))) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse2) (or .cse0 (forall ((v_DerPreprocessor_15 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_15) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (or (forall ((v_DerPreprocessor_13 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_13) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse3) (_ bv0 64))) .cse0) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse2))))) is different from false [2024-09-23 23:43:37,678 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse4 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse0 (= |c_thr1Thread1of3ForFork0_push_~oldTop~0#1| (select .cse4 |c_~#top~0.offset|)))) (let ((.cse3 ((_ sign_extend 32) c_~next_alloc_idx~0)) (.cse1 (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|)))) (.cse2 (not .cse0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (or .cse0 (forall ((v_DerPreprocessor_12 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_12) |c_~#top~0.base|) |c_~#top~0.offset|))))) (or .cse0 (forall ((v_DerPreprocessor_14 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_14) |c_~#top~0.base|) |c_~#top~0.offset|)))) (or .cse0 (forall ((v_DerPreprocessor_15 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_15) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse2) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse2) (or (forall ((v_DerPreprocessor_13 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_13) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse3) (_ bv0 64))) .cse0) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) .cse2) (or (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (store .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|)))) .cse2))))) is different from false [2024-09-23 23:43:38,107 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:38,107 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-23 23:43:38,117 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:38,117 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-23 23:43:38,646 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:43:38,646 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1304 treesize of output 1388 [2024-09-23 23:43:38,684 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 689 treesize of output 673 [2024-09-23 23:43:38,708 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 663 treesize of output 647 [2024-09-23 23:43:38,730 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 649 treesize of output 633 [2024-09-23 23:43:38,759 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 625 treesize of output 609 [2024-09-23 23:43:39,390 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 22 [2024-09-23 23:43:39,485 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-23 23:43:39,485 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-23 23:43:39,485 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1874996686] [2024-09-23 23:43:39,485 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1874996686] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-23 23:43:39,485 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-23 23:43:39,485 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 12 [2024-09-23 23:43:39,485 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2064089152] [2024-09-23 23:43:39,485 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-23 23:43:39,485 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-09-23 23:43:39,486 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-23 23:43:39,486 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-09-23 23:43:39,486 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=82, Unknown=2, NotChecked=38, Total=156 [2024-09-23 23:43:39,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:39,486 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-23 23:43:39,486 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 12 states have internal predecessors, (55), 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) [2024-09-23 23:43:39,486 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:39,487 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-23 23:43:43,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-23 23:43:43,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2024-09-23 23:43:43,357 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (14)] Ended with exit code 0 [2024-09-23 23:43:43,552 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:43,552 INFO L399 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-23 23:43:43,552 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-23 23:43:43,552 INFO L85 PathProgramCache]: Analyzing trace with hash -456160010, now seen corresponding path program 1 times [2024-09-23 23:43:43,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-23 23:43:43,553 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1875932955] [2024-09-23 23:43:43,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-23 23:43:43,553 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-23 23:43:43,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-23 23:43:43,554 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-23 23:43:43,555 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2024-09-23 23:43:43,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-23 23:43:43,779 INFO L262 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 32 conjuncts are in the unsatisfiable core [2024-09-23 23:43:43,786 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-23 23:43:43,954 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-23 23:43:44,123 INFO L349 Elim1Store]: treesize reduction 13, result has 45.8 percent of original size [2024-09-23 23:43:44,123 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 19 treesize of output 22 [2024-09-23 23:43:44,500 INFO L349 Elim1Store]: treesize reduction 36, result has 61.7 percent of original size [2024-09-23 23:43:44,500 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 6 case distinctions, treesize of input 42 treesize of output 83 [2024-09-23 23:43:44,905 INFO L349 Elim1Store]: treesize reduction 93, result has 41.9 percent of original size [2024-09-23 23:43:44,905 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 6 case distinctions, treesize of input 74 treesize of output 100 [2024-09-23 23:43:45,339 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-23 23:43:45,339 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-23 23:43:45,629 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse0 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread3of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsge (bvadd (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread3of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))) (_ bv63 64) ((_ sign_extend 32) .cse0)) (_ bv0 64))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread3of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread3of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))) (= (bvsrem .cse0 (_ bv2 32)) (_ bv1 32)))) .cse1) (or (not .cse1) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) ((_ sign_extend 32) c_~next_alloc_idx~0)) (_ bv0 64))))))) is different from false [2024-09-23 23:43:45,703 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse0 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) ((_ sign_extend 32) .cse0) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))) (= (bvsrem .cse0 (_ bv2 32)) (_ bv1 32)) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) .cse1) (or (not .cse1) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) ((_ sign_extend 32) c_~next_alloc_idx~0)) (_ bv0 64))))))) is different from false [2024-09-23 23:43:50,309 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse67 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse14 (= |c_thr1Thread2of3ForFork0_push_~oldTop~0#1| (select .cse67 |c_~#top~0.offset|)))) (let ((.cse41 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse3 (bvsle c_~next_alloc_idx~0 (_ bv66 32))) (.cse6 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse1 (store |c_#memory_int| |c_~#top~0.base| (store .cse67 |c_~#top~0.offset| |c_thr1Thread2of3ForFork0_push_#t~mem12#1|))) (.cse8 (not .cse14))) (and (or (let ((.cse35 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse20 ((_ sign_extend 32) .cse35))) (and (or (let ((.cse4 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse7 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse7 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse7 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse0 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse0 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse0 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse0 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse2 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select (store .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select .cse2 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (or .cse3 .cse4) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse5 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select .cse5 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (store .cse5 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse5 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (or .cse4 .cse6))) .cse8) (or (let ((.cse9 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (let ((.cse13 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse13 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse13 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (and (or .cse6 .cse9) (or .cse3 .cse9) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse10 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse10 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select (store .cse10 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse10 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse11 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select .cse11 |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (_ bv2 32) (select (select (store .cse11 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse11 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse12 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse12 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse12 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse12 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))))) .cse8) (or .cse14 (let ((.cse18 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (let ((.cse19 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (store .cse19 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse19 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse15 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (not (= (_ bv2 32) (select (select .cse15 |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select (store .cse15 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse15 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse16 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (bvsle (_ bv0 32) (select (select .cse16 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (bvsle (select (select .cse17 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store .cse17 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse17 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (or .cse3 .cse18) (or .cse18 .cse6)))) (or (and (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse20 (bvneg ((_ sign_extend 32) (select (select (let ((.cse21 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse21 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse21 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))) .cse6) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse22 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse20 (bvneg ((_ sign_extend 32) (select (select (store .cse22 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse22 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse8) (or .cse14 (and (or .cse6 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_30 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (let ((.cse23 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_30))) (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse20) (_ bv0 64)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_30 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse24 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_30))) (or (bvsle (select (select .cse24 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse24 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse24 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse20) (_ bv0 64))))))) (or (let ((.cse27 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse29 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse29 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse29 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse25 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse25 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse25 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse26 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (or .cse3 .cse27) (or .cse6 .cse27) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse28 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse28 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse28 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset|))))))) .cse8) (or .cse14 (let ((.cse30 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (let ((.cse34 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_26))) (store .cse34 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse34 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (and (or .cse3 .cse30) (or .cse30 .cse6) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse31 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_26))) (or (bvsle (select (select (store .cse31 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse31 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select .cse31 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse32 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_26))) (or (bvsle (select (select (store .cse32 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse32 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse32 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse33 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_26))) (or (bvsle (select (select (store .cse33 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse33 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select .cse33 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))))) (= (bvsrem .cse35 (_ bv2 32)) (_ bv1 32)) (or .cse14 (let ((.cse38 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (let ((.cse40 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_28))) (store .cse40 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse40 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse36 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_28))) (or (bvsle (_ bv0 32) (select (select .cse36 |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (_ bv2 32) (select (select (store .cse36 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse36 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse37 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_28))) (or (not (= (select (select .cse37 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (not (= (_ bv2 32) (select (select (store .cse37 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse37 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (or .cse3 .cse38) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse39 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_28))) (or (bvsle (select (select .cse39 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select (store .cse39 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse39 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (or .cse38 .cse6))))))) .cse41) (or (not .cse41) (let ((.cse49 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and .cse3 (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse42 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse42 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse42 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse43 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse43 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select .cse43 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse44 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse44 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse44 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse8) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse45 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse45 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse45 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse46 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse46 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse46 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse47 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse47 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select .cse47 |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse8) (or .cse14 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse48 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsle (_ bv0 32) (select (select .cse48 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse49 (bvneg ((_ sign_extend 32) (select (select (store .cse48 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse50 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsge (bvadd (_ bv63 64) .cse49 (bvneg ((_ sign_extend 32) (select (select (store .cse50 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse50 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse51 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsge (bvadd (_ bv63 64) .cse49 (bvneg ((_ sign_extend 32) (select (select (store .cse51 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (_ bv2 32) (select (select .cse51 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse52 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse52 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse52 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse53 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select .cse53 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (store .cse53 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse54 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select (store .cse54 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select .cse54 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) .cse8) (or .cse14 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse55 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse55 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse55 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse56 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse56 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse56 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse57 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse57 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (_ bv2 32) (select (select .cse57 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or .cse14 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse58 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse58 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse58 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse59 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse59 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select .cse59 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse60 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse60 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select .cse60 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) .cse6 (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse61 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse61 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) .cse49 (bvneg ((_ sign_extend 32) (select (select (store .cse61 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse62 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse49 (bvneg ((_ sign_extend 32) (select (select (store .cse62 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse62 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse63 (store .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select .cse63 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse49 (bvneg ((_ sign_extend 32) (select (select (store .cse63 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) .cse8) (or (and (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse64 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse64 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse64 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse65 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse65 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse65 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse66 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse66 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select .cse66 |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse14)))))))) is different from true [2024-09-23 23:43:55,768 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse48 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse1 (= |c_thr1Thread2of3ForFork0_push_~oldTop~0#1| (select .cse48 |c_~#top~0.offset|)))) (let ((.cse20 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse10 (store |c_#memory_int| |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))) (.cse13 (not .cse1)) (.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (not .cse0) (let ((.cse3 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse2 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsle (_ bv0 32) (select (select .cse2 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse4 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse4 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse4 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse5 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (_ bv2 32) (select (select .cse5 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse6 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse7 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse7 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse7 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse8 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse8 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (_ bv2 32) (select (select .cse8 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse9 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse9 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse11 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse11 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (_ bv0 32) (select (select .cse11 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse12 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse12 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse12 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) .cse13) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse14 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse14 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse15 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse15 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select .cse15 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse16 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select .cse16 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse17 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse17 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse18 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (select (select .cse18 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select (store .cse18 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse19 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse19 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store .cse19 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse13) .cse20 (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse21 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (select (select .cse21 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (select (select (store .cse21 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse22 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select (store .cse22 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse13) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse24 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse24 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select (store .cse24 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse25 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse25 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse26 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) .cse13) (or (and (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse27 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse27 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse27 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse28 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse28 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse29 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse29 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select .cse29 |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse1)))) (or (let ((.cse47 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse32 ((_ sign_extend 32) .cse47))) (and (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse30 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse30 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse30 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse13) (or .cse1 (and (or .cse20 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_30 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (let ((.cse31 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_30))) (store .cse31 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse31 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse32) (_ bv0 64)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_30 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse33 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_30))) (or (bvsle (select (select .cse33 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse33 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse33 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse32) (_ bv0 64))))))) (or (and (or .cse20 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse32 (bvneg ((_ sign_extend 32) (select (select (let ((.cse34 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse34 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse34 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse35 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse32 (bvneg ((_ sign_extend 32) (select (select (store .cse35 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse35 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse35 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse13) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse36 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (not (= (_ bv2 32) (select (select .cse36 |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select (store .cse36 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse36 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse37 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (bvsle (_ bv0 32) (select (select .cse37 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse37 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse37 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse38 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (bvsle (select (select .cse38 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store .cse38 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse38 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (let ((.cse39 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (store .cse39 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse39 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse20))) (or .cse1 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (let ((.cse40 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_26))) (store .cse40 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse40 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))) (or (and (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse41 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse41 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse41 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse20) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse42 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse42 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse42 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse42 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse43 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse43 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse43 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select .cse43 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse44 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse44 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse44 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse44 |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse13) (or .cse1 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (let ((.cse45 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_28))) (store .cse45 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse45 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (let ((.cse46 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse46 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse46 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))) .cse13) (= (bvsrem .cse47 (_ bv2 32)) (_ bv1 32))))) .cse0))))) is different from false [2024-09-23 23:43:57,807 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse48 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse1 (= |c_thr1Thread2of3ForFork0_push_~oldTop~0#1| (select .cse48 |c_~#top~0.offset|)))) (let ((.cse20 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse10 (store |c_#memory_int| |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))) (.cse13 (not .cse1)) (.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (not .cse0) (let ((.cse3 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse2 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsle (_ bv0 32) (select (select .cse2 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse4 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse4 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse4 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse5 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (_ bv2 32) (select (select .cse5 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse6 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse7 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse7 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse7 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse8 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_20))) (or (bvsle (_ bv0 32) (select (select (store .cse8 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (_ bv2 32) (select (select .cse8 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse9 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse9 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse11 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse11 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (_ bv0 32) (select (select .cse11 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse12 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse3 (bvneg ((_ sign_extend 32) (select (select (store .cse12 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse12 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) .cse13) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse14 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse14 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse15 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse15 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select .cse15 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse16 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (or (bvsle (select (select (store .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select .cse16 |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse17 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse17 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse18 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (select (select .cse18 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select (store .cse18 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse19 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse19 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store .cse19 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse13) .cse20 (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse21 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (select (select .cse21 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (select (select (store .cse21 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse22 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select (store .cse22 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse13) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse24 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse24 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select (store .cse24 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse25 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse25 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse26 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) .cse13) (or (and (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse27 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse27 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse27 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse28 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse28 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse29 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_23))) (or (not (= (_ bv2 32) (select (select (store .cse29 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select .cse29 |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse1)))) (or (let ((.cse47 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse32 ((_ sign_extend 32) .cse47))) (and (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse30 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse30 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse30 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) .cse13) (or .cse1 (and (or .cse20 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_30 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (let ((.cse31 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_30))) (store .cse31 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse31 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse32) (_ bv0 64)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_30 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse33 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_30))) (or (bvsle (select (select .cse33 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse33 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse33 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse32) (_ bv0 64))))))) (or (and (or .cse20 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse32 (bvneg ((_ sign_extend 32) (select (select (let ((.cse34 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse34 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse34 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse35 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse32 (bvneg ((_ sign_extend 32) (select (select (store .cse35 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse35 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse35 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse13) (or .cse1 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse36 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (not (= (_ bv2 32) (select (select .cse36 |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select (store .cse36 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse36 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse37 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (bvsle (_ bv0 32) (select (select .cse37 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse37 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse37 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse38 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (or (bvsle (select (select .cse38 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store .cse38 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse38 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (let ((.cse39 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_27))) (store .cse39 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse39 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse20))) (or .cse1 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (let ((.cse40 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_26))) (store .cse40 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse40 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))) (or (and (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse41 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse41 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse41 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse20) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse42 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse42 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse42 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse42 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse43 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse43 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse43 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select .cse43 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse44 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse44 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse44 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse44 |c_~#top~0.base|) |c_~#top~0.offset|)))))) .cse13) (or .cse1 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv2 32) (select (select (let ((.cse45 (store |c_#memory_int| |thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_28))) (store .cse45 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse45 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (let ((.cse46 (store .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse46 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse46 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))) .cse13) (= (bvsrem .cse47 (_ bv2 32)) (_ bv1 32))))) .cse0))))) is different from true [2024-09-23 23:44:01,170 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse3 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse2 (store |c_#memory_int| |c_~#top~0.base| (store (select |c_#memory_int| |c_~#top~0.base|) |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (and (or .cse0 (let ((.cse11 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse4 ((_ sign_extend 32) .cse11))) (and (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse1 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse1 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse1 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse3) (or .cse3 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) .cse4 (bvneg ((_ sign_extend 32) (select (select (let ((.cse5 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse5 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse5 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse6 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse6 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse7 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse7 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse7 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select .cse7 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse8 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse4 (bvneg ((_ sign_extend 32) (select (select (store .cse8 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse8 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse8 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (let ((.cse9 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse10 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (store .cse10 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse10 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (= (bvsrem .cse11 (_ bv2 32)) (_ bv1 32)) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (let ((.cse12 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse12 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse12 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse12 |c_~#top~0.base|) |c_~#top~0.offset|))))))))) (or (not .cse0) (let ((.cse20 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse13 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (_ bv0 32) (select (select (store .cse13 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse13 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse14 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select (store .cse14 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse15 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse15 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select .cse15 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse16 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (select (select .cse16 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select (store .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (_ bv2 32) (select (select (store .cse17 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select .cse17 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse18 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (not (= (select (select .cse18 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (select (select (store .cse18 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse19 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse19 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) .cse20 (bvneg ((_ sign_extend 32) (select (select (store .cse19 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse21 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse20 (bvneg ((_ sign_extend 32) (select (select (store .cse21 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (_ bv0 32) (select (select .cse21 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse22 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsge (bvadd (_ bv63 64) .cse20 (bvneg ((_ sign_extend 32) (select (select (store .cse22 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))) .cse3 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse24 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select (store .cse24 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse24 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse25 (store .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))))) (or (bvsle (select (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse25 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))))))) is different from true [2024-09-23 23:44:09,266 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (not .cse0) (let ((.cse2 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_prenex_237 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_235 (_ BitVec 32)) (v_prenex_236 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse1 (let ((.cse3 (let ((.cse4 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse4 |c_~#top~0.base| (store (select .cse4 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse4 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse3 v_prenex_236 (store (select .cse3 v_prenex_236) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (bvneg ((_ sign_extend 32) (select (select (store .cse1 v_prenex_235 v_prenex_237) |c_~#top~0.base|) |c_~#top~0.offset|))) (_ bv63 64) .cse2) (_ bv0 64)) (bvsle (_ bv0 32) (select (select .cse1 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((v_prenex_230 (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_231 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_229 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (let ((.cse6 (let ((.cse7 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse7 |c_~#top~0.base| (store (select .cse7 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse7 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse6 v_prenex_230 (store (select .cse6 v_prenex_230) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select .cse5 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse5 v_prenex_229 v_prenex_231) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_226 (_ BitVec 32)) (v_prenex_227 (_ BitVec 32)) (v_prenex_228 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse8 (let ((.cse9 (let ((.cse10 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse10 |c_~#top~0.base| (store (select .cse10 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse10 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse9 v_prenex_227 (store (select .cse9 v_prenex_227) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse2 (bvneg ((_ sign_extend 32) (select (select (store .cse8 v_prenex_226 v_prenex_228) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse8 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((v_prenex_213 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_211 (_ BitVec 32)) (v_prenex_212 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse11 (let ((.cse12 (let ((.cse13 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse13 |c_~#top~0.base| (store (select .cse13 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse13 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse12 v_prenex_212 (store (select .cse12 v_prenex_212) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse11 v_prenex_211 v_prenex_213) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse11 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_210 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_208 (_ BitVec 32)) (v_prenex_209 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse14 (let ((.cse15 (let ((.cse16 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse16 |c_~#top~0.base| (store (select .cse16 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse16 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse15 v_prenex_209 (store (select .cse15 v_prenex_209) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select (store .cse14 v_prenex_208 v_prenex_210) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_206 (_ BitVec 32)) (v_prenex_205 (_ BitVec 32)) (v_prenex_207 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (let ((.cse18 (let ((.cse19 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse19 |c_~#top~0.base| (store (select .cse19 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse19 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse18 v_prenex_206 (store (select .cse18 v_prenex_206) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (select (select (store .cse17 v_prenex_205 v_prenex_207) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select .cse17 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_217 (_ BitVec 32)) (v_prenex_218 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_219 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse20 (let ((.cse21 (let ((.cse22 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse22 |c_~#top~0.base| (store (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse22 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse21 v_prenex_218 (store (select .cse21 v_prenex_218) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse2 (bvneg ((_ sign_extend 32) (select (select (store .cse20 v_prenex_217 v_prenex_219) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse20 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (let ((.cse24 (let ((.cse25 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse25 |c_~#top~0.base| (store (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse25 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((v_prenex_225 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_224 (_ BitVec 32)) (v_prenex_223 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse26 (let ((.cse27 (let ((.cse28 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse28 |c_~#top~0.base| (store (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse28 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse27 v_prenex_224 (store (select .cse27 v_prenex_224) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse26 v_prenex_223 v_prenex_225) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_222 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_220 (_ BitVec 32)) (v_prenex_221 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse29 (let ((.cse30 (let ((.cse31 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse31 |c_~#top~0.base| (store (select .cse31 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse31 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse30 v_prenex_221 (store (select .cse30 v_prenex_221) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select .cse29 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse29 v_prenex_220 v_prenex_222) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_234 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_233 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_232 (_ BitVec 32))) (let ((.cse32 (let ((.cse33 (let ((.cse34 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse34 |c_~#top~0.base| (store (select .cse34 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse34 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse33 v_prenex_233 (store (select .cse33 v_prenex_233) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse32 v_prenex_232 v_prenex_234) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (_ bv2 32) (select (select .cse32 |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((v_prenex_216 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_215 (_ BitVec 32)) (v_prenex_214 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse35 (let ((.cse36 (let ((.cse37 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse37 |c_~#top~0.base| (store (select .cse37 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse37 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse36 v_prenex_215 (store (select .cse36 v_prenex_215) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse35 v_prenex_214 v_prenex_216) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse35 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))))) (or (let ((.cse90 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse38 (bvsgt (bvadd (_ bv3 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse73 (= (bvsrem .cse90 (_ bv2 32)) (_ bv1 32)))) (and (or (not .cse38) (let ((.cse55 ((_ sign_extend 32) .cse90)) (.cse43 (select (select |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse40 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse41 (select .cse40 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse39 (store .cse40 |c_~#top~0.base| (store .cse41 |c_~#top~0.offset| (select (select .cse40 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse39 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse39 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select (store (let ((.cse42 (store .cse40 |c_~#top~0.base| (store .cse41 |c_~#top~0.offset| .cse43)))) (store .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse45 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse46 (select .cse45 |c_~#top~0.base|))) (or (bvsle (select (select (store (let ((.cse44 (store .cse45 |c_~#top~0.base| (store .cse46 |c_~#top~0.offset| .cse43)))) (store .cse44 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse44 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select (let ((.cse47 (store .cse45 |c_~#top~0.base| (store .cse46 |c_~#top~0.offset| (select (select .cse45 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse47 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse47 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse49 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse50 (select .cse49 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse48 (store .cse49 |c_~#top~0.base| (store .cse50 |c_~#top~0.offset| (select (select .cse49 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse48 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse48 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (_ bv2 32) (select (select (store (let ((.cse51 (store .cse49 |c_~#top~0.base| (store .cse50 |c_~#top~0.offset| .cse43)))) (store .cse51 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse51 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse53 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse54 (select .cse53 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse52 (store .cse53 |c_~#top~0.base| (store .cse54 |c_~#top~0.offset| (select (select .cse53 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse52 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse52 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsge (bvadd (_ bv63 64) .cse55 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse56 (store .cse53 |c_~#top~0.base| (store .cse54 |c_~#top~0.offset| .cse43)))) (store .cse56 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse56 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse58 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse59 (select .cse58 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse57 (store .cse58 |c_~#top~0.base| (store .cse59 |c_~#top~0.offset| (select (select .cse58 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) .cse55 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse60 (store .cse58 |c_~#top~0.base| (store .cse59 |c_~#top~0.offset| .cse43)))) (store .cse60 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse60 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse62 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse63 (select .cse62 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse61 (store .cse62 |c_~#top~0.base| (store .cse63 |c_~#top~0.offset| (select (select .cse62 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store (let ((.cse64 (store .cse62 |c_~#top~0.base| (store .cse63 |c_~#top~0.offset| .cse43)))) (store .cse64 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse64 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse66 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse67 (select .cse66 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse65 (store .cse66 |c_~#top~0.base| (store .cse67 |c_~#top~0.offset| (select (select .cse66 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse65 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse65 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse55 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse68 (store .cse66 |c_~#top~0.base| (store .cse67 |c_~#top~0.offset| .cse43)))) (store .cse68 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse68 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse70 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse71 (select .cse70 |c_~#top~0.base|))) (or (not (= (_ bv2 32) (select (select (store (let ((.cse69 (store .cse70 |c_~#top~0.base| (store .cse71 |c_~#top~0.offset| .cse43)))) (store .cse69 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse69 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select (let ((.cse72 (store .cse70 |c_~#top~0.base| (store .cse71 |c_~#top~0.offset| (select (select .cse70 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse72 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse72 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) .cse73 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse75 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse76 (select .cse75 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse74 (store .cse75 |c_~#top~0.base| (store .cse76 |c_~#top~0.offset| .cse43)))) (store .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (let ((.cse77 (store .cse75 |c_~#top~0.base| (store .cse76 |c_~#top~0.offset| (select (select .cse75 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse77 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse77 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse79 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse80 (select .cse79 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse78 (store .cse79 |c_~#top~0.base| (store .cse80 |c_~#top~0.offset| .cse43)))) (store .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select (let ((.cse81 (store .cse79 |c_~#top~0.base| (store .cse80 |c_~#top~0.offset| (select (select .cse79 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse81 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse81 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse83 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse84 (select .cse83 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse82 (store .cse83 |c_~#top~0.base| (store .cse84 |c_~#top~0.offset| (select (select .cse83 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse82 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse82 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store (let ((.cse85 (store .cse83 |c_~#top~0.base| (store .cse84 |c_~#top~0.offset| .cse43)))) (store .cse85 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse85 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse87 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse88 (select .cse87 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse86 (store .cse87 |c_~#top~0.base| (store .cse88 |c_~#top~0.offset| (select (select .cse87 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse86 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse86 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (store (let ((.cse89 (store .cse87 |c_~#top~0.base| (store .cse88 |c_~#top~0.offset| .cse43)))) (store .cse89 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse89 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))))))) (or .cse38 (let ((.cse91 (bvadd (_ bv4 32) c_~next_alloc_idx~0))) (let ((.cse104 ((_ sign_extend 32) .cse91))) (and (= (_ bv1 32) (bvsrem .cse91 (_ bv2 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse92 (let ((.cse93 (let ((.cse94 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse94 |c_~#top~0.base| (store (select .cse94 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse94 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse93 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse93 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse92 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse92 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select .cse92 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (let ((.cse95 (let ((.cse96 (let ((.cse97 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse97 |c_~#top~0.base| (store (select .cse97 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse97 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse96 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse96 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse95 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse95 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse98 (let ((.cse99 (let ((.cse100 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse100 |c_~#top~0.base| (store (select .cse100 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse100 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse99 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse99 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse98 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse98 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse73) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (let ((.cse101 (let ((.cse102 (let ((.cse103 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse103 |c_~#top~0.base| (store (select .cse103 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse103 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse102 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse102 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse101 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse101 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse104) (_ bv0 64))) .cse73) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse105 (let ((.cse106 (let ((.cse107 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse107 |c_~#top~0.base| (store (select .cse107 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse107 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse106 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse106 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select .cse105 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse105 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse105 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse104) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse108 (let ((.cse109 (let ((.cse110 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse110 |c_~#top~0.base| (store (select .cse110 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse110 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse109 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse109 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse108 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse108 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse108 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse111 (let ((.cse112 (let ((.cse113 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse113 |c_~#top~0.base| (store (select .cse113 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse113 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse112 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse112 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse111 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse111 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse114 (let ((.cse115 (let ((.cse116 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse116 |c_~#top~0.base| (store (select .cse116 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse116 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse115 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse115 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse114 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse114 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse114 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))))))))) .cse0))) is different from false [2024-09-23 23:44:11,361 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (not .cse0) (let ((.cse2 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_prenex_237 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_235 (_ BitVec 32)) (v_prenex_236 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse1 (let ((.cse3 (let ((.cse4 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse4 |c_~#top~0.base| (store (select .cse4 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse4 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse3 v_prenex_236 (store (select .cse3 v_prenex_236) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (bvneg ((_ sign_extend 32) (select (select (store .cse1 v_prenex_235 v_prenex_237) |c_~#top~0.base|) |c_~#top~0.offset|))) (_ bv63 64) .cse2) (_ bv0 64)) (bvsle (_ bv0 32) (select (select .cse1 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((v_prenex_230 (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_231 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_229 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (let ((.cse6 (let ((.cse7 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse7 |c_~#top~0.base| (store (select .cse7 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse7 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse6 v_prenex_230 (store (select .cse6 v_prenex_230) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select .cse5 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse5 v_prenex_229 v_prenex_231) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_226 (_ BitVec 32)) (v_prenex_227 (_ BitVec 32)) (v_prenex_228 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse8 (let ((.cse9 (let ((.cse10 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse10 |c_~#top~0.base| (store (select .cse10 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse10 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse9 v_prenex_227 (store (select .cse9 v_prenex_227) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse2 (bvneg ((_ sign_extend 32) (select (select (store .cse8 v_prenex_226 v_prenex_228) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse8 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((v_prenex_213 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_211 (_ BitVec 32)) (v_prenex_212 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse11 (let ((.cse12 (let ((.cse13 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse13 |c_~#top~0.base| (store (select .cse13 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse13 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse12 v_prenex_212 (store (select .cse12 v_prenex_212) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse11 v_prenex_211 v_prenex_213) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse11 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_210 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_208 (_ BitVec 32)) (v_prenex_209 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse14 (let ((.cse15 (let ((.cse16 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse16 |c_~#top~0.base| (store (select .cse16 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse16 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse15 v_prenex_209 (store (select .cse15 v_prenex_209) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select (store .cse14 v_prenex_208 v_prenex_210) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_206 (_ BitVec 32)) (v_prenex_205 (_ BitVec 32)) (v_prenex_207 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (let ((.cse18 (let ((.cse19 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse19 |c_~#top~0.base| (store (select .cse19 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse19 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse18 v_prenex_206 (store (select .cse18 v_prenex_206) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (select (select (store .cse17 v_prenex_205 v_prenex_207) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select .cse17 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_217 (_ BitVec 32)) (v_prenex_218 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_219 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse20 (let ((.cse21 (let ((.cse22 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse22 |c_~#top~0.base| (store (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse22 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse21 v_prenex_218 (store (select .cse21 v_prenex_218) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse2 (bvneg ((_ sign_extend 32) (select (select (store .cse20 v_prenex_217 v_prenex_219) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse20 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (let ((.cse24 (let ((.cse25 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse25 |c_~#top~0.base| (store (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse25 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((v_prenex_225 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_224 (_ BitVec 32)) (v_prenex_223 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse26 (let ((.cse27 (let ((.cse28 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse28 |c_~#top~0.base| (store (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse28 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse27 v_prenex_224 (store (select .cse27 v_prenex_224) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse26 v_prenex_223 v_prenex_225) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_222 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_220 (_ BitVec 32)) (v_prenex_221 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse29 (let ((.cse30 (let ((.cse31 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse31 |c_~#top~0.base| (store (select .cse31 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse31 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse30 v_prenex_221 (store (select .cse30 v_prenex_221) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select .cse29 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse29 v_prenex_220 v_prenex_222) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_234 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_233 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_232 (_ BitVec 32))) (let ((.cse32 (let ((.cse33 (let ((.cse34 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse34 |c_~#top~0.base| (store (select .cse34 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse34 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse33 v_prenex_233 (store (select .cse33 v_prenex_233) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse32 v_prenex_232 v_prenex_234) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (_ bv2 32) (select (select .cse32 |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((v_prenex_216 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_215 (_ BitVec 32)) (v_prenex_214 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse35 (let ((.cse36 (let ((.cse37 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse37 |c_~#top~0.base| (store (select .cse37 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse37 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse36 v_prenex_215 (store (select .cse36 v_prenex_215) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse35 v_prenex_214 v_prenex_216) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse35 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))))) (or (let ((.cse90 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse38 (bvsgt (bvadd (_ bv3 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse73 (= (bvsrem .cse90 (_ bv2 32)) (_ bv1 32)))) (and (or (not .cse38) (let ((.cse55 ((_ sign_extend 32) .cse90)) (.cse43 (select (select |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse40 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse41 (select .cse40 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse39 (store .cse40 |c_~#top~0.base| (store .cse41 |c_~#top~0.offset| (select (select .cse40 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse39 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse39 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (_ bv2 32) (select (select (store (let ((.cse42 (store .cse40 |c_~#top~0.base| (store .cse41 |c_~#top~0.offset| .cse43)))) (store .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse45 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse46 (select .cse45 |c_~#top~0.base|))) (or (bvsle (select (select (store (let ((.cse44 (store .cse45 |c_~#top~0.base| (store .cse46 |c_~#top~0.offset| .cse43)))) (store .cse44 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse44 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select (let ((.cse47 (store .cse45 |c_~#top~0.base| (store .cse46 |c_~#top~0.offset| (select (select .cse45 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse47 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse47 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse49 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse50 (select .cse49 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse48 (store .cse49 |c_~#top~0.base| (store .cse50 |c_~#top~0.offset| (select (select .cse49 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse48 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse48 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (_ bv2 32) (select (select (store (let ((.cse51 (store .cse49 |c_~#top~0.base| (store .cse50 |c_~#top~0.offset| .cse43)))) (store .cse51 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse51 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse53 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse54 (select .cse53 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse52 (store .cse53 |c_~#top~0.base| (store .cse54 |c_~#top~0.offset| (select (select .cse53 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse52 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse52 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsge (bvadd (_ bv63 64) .cse55 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse56 (store .cse53 |c_~#top~0.base| (store .cse54 |c_~#top~0.offset| .cse43)))) (store .cse56 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse56 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse58 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse59 (select .cse58 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse57 (store .cse58 |c_~#top~0.base| (store .cse59 |c_~#top~0.offset| (select (select .cse58 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) .cse55 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse60 (store .cse58 |c_~#top~0.base| (store .cse59 |c_~#top~0.offset| .cse43)))) (store .cse60 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse60 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse62 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse63 (select .cse62 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse61 (store .cse62 |c_~#top~0.base| (store .cse63 |c_~#top~0.offset| (select (select .cse62 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select (store (let ((.cse64 (store .cse62 |c_~#top~0.base| (store .cse63 |c_~#top~0.offset| .cse43)))) (store .cse64 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse64 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse66 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse67 (select .cse66 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse65 (store .cse66 |c_~#top~0.base| (store .cse67 |c_~#top~0.offset| (select (select .cse66 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse65 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse65 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse55 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse68 (store .cse66 |c_~#top~0.base| (store .cse67 |c_~#top~0.offset| .cse43)))) (store .cse68 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse68 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse70 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse71 (select .cse70 |c_~#top~0.base|))) (or (not (= (_ bv2 32) (select (select (store (let ((.cse69 (store .cse70 |c_~#top~0.base| (store .cse71 |c_~#top~0.offset| .cse43)))) (store .cse69 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse69 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (select (select (let ((.cse72 (store .cse70 |c_~#top~0.base| (store .cse71 |c_~#top~0.offset| (select (select .cse70 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse72 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse72 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) .cse73 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse75 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse76 (select .cse75 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse74 (store .cse75 |c_~#top~0.base| (store .cse76 |c_~#top~0.offset| .cse43)))) (store .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (let ((.cse77 (store .cse75 |c_~#top~0.base| (store .cse76 |c_~#top~0.offset| (select (select .cse75 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse77 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse77 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse79 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse80 (select .cse79 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse78 (store .cse79 |c_~#top~0.base| (store .cse80 |c_~#top~0.offset| .cse43)))) (store .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select (let ((.cse81 (store .cse79 |c_~#top~0.base| (store .cse80 |c_~#top~0.offset| (select (select .cse79 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse81 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse81 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse83 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse84 (select .cse83 |c_~#top~0.base|))) (or (bvsle (select (select (let ((.cse82 (store .cse83 |c_~#top~0.base| (store .cse84 |c_~#top~0.offset| (select (select .cse83 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse82 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse82 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store (let ((.cse85 (store .cse83 |c_~#top~0.base| (store .cse84 |c_~#top~0.offset| .cse43)))) (store .cse85 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse85 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse87 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse88 (select .cse87 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse86 (store .cse87 |c_~#top~0.base| (store .cse88 |c_~#top~0.offset| (select (select .cse87 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse86 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse86 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (store (let ((.cse89 (store .cse87 |c_~#top~0.base| (store .cse88 |c_~#top~0.offset| .cse43)))) (store .cse89 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse89 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))))))) (or .cse38 (let ((.cse91 (bvadd (_ bv4 32) c_~next_alloc_idx~0))) (let ((.cse104 ((_ sign_extend 32) .cse91))) (and (= (_ bv1 32) (bvsrem .cse91 (_ bv2 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse92 (let ((.cse93 (let ((.cse94 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse94 |c_~#top~0.base| (store (select .cse94 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse94 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse93 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse93 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse92 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse92 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select .cse92 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (not (= (_ bv2 32) (select (select (let ((.cse95 (let ((.cse96 (let ((.cse97 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse97 |c_~#top~0.base| (store (select .cse97 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse97 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse96 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse96 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse95 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse95 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|)))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse98 (let ((.cse99 (let ((.cse100 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse100 |c_~#top~0.base| (store (select .cse100 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse100 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse99 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse99 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse98 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse98 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse73) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (let ((.cse101 (let ((.cse102 (let ((.cse103 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse103 |c_~#top~0.base| (store (select .cse103 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse103 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse102 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse102 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse101 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse101 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse104) (_ bv0 64))) .cse73) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse105 (let ((.cse106 (let ((.cse107 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse107 |c_~#top~0.base| (store (select .cse107 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse107 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse106 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse106 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select .cse105 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse105 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse105 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse104) (_ bv0 64))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse108 (let ((.cse109 (let ((.cse110 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse110 |c_~#top~0.base| (store (select .cse110 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse110 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse109 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse109 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse108 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse108 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select .cse108 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse111 (let ((.cse112 (let ((.cse113 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse113 |c_~#top~0.base| (store (select .cse113 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse113 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse112 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse112 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse111 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse111 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse114 (let ((.cse115 (let ((.cse116 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (store .cse116 |c_~#top~0.base| (store (select .cse116 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse116 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse115 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse115 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse114 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse114 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse90)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse114 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))))))))) .cse0))) is different from true [2024-09-23 23:44:17,719 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse79 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse3 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse0 (bvsgt (bvadd (_ bv3 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse19 (= (bvsrem .cse3 (_ bv2 32)) (_ bv1 32)))) (and (or .cse0 (let ((.cse1 (bvadd (_ bv4 32) c_~next_alloc_idx~0))) (let ((.cse10 ((_ sign_extend 32) .cse1))) (and (= (_ bv1 32) (bvsrem .cse1 (_ bv2 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse2 (let ((.cse4 (let ((.cse5 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse5 |c_~#top~0.base| (store (select .cse5 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse5 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse4 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse6 (let ((.cse7 (let ((.cse8 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse8 |c_~#top~0.base| (store (select .cse8 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse8 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse7 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse7 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (select (select .cse6 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select (store .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse9 (let ((.cse11 (let ((.cse12 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse12 |c_~#top~0.base| (store (select .cse12 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse12 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse11 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse11 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse10) (_ bv0 64)) (bvsle (select (select .cse9 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (not (= (select (select (let ((.cse13 (let ((.cse14 (let ((.cse15 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse15 |c_~#top~0.base| (store (select .cse15 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse15 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse14 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse14 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse13 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse13 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse16 (let ((.cse17 (let ((.cse18 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse18 |c_~#top~0.base| (store (select .cse18 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse18 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse17 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse17 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse19) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (let ((.cse20 (let ((.cse21 (let ((.cse22 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse22 |c_~#top~0.base| (store (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse22 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse21 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse21 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse20 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse20 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse10) (_ bv0 64))) .cse19) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse23 (let ((.cse24 (let ((.cse25 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse25 |c_~#top~0.base| (store (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse25 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse26 (let ((.cse27 (let ((.cse28 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse28 |c_~#top~0.base| (store (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse28 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse27 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse27 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|))))))))) (or (not .cse0) (let ((.cse65 ((_ sign_extend 32) .cse3)) (.cse32 (select (select |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse30 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse31 (select .cse30 |c_~#top~0.base|))) (or (not (= (select (select (store (let ((.cse29 (store .cse30 |c_~#top~0.base| (store .cse31 |c_~#top~0.offset| .cse32)))) (store .cse29 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse29 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (select (select (let ((.cse33 (store .cse30 |c_~#top~0.base| (store .cse31 |c_~#top~0.offset| (select (select .cse30 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse33 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse33 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse35 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse36 (select .cse35 |c_~#top~0.base|))) (or (bvsle (select (select (store (let ((.cse34 (store .cse35 |c_~#top~0.base| (store .cse36 |c_~#top~0.offset| .cse32)))) (store .cse34 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse34 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (let ((.cse37 (store .cse35 |c_~#top~0.base| (store .cse36 |c_~#top~0.offset| (select (select .cse35 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse37 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse37 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse39 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse40 (select .cse39 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse38 (store .cse39 |c_~#top~0.base| (store .cse40 |c_~#top~0.offset| (select (select .cse39 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse38 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse38 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (select (select (store (let ((.cse41 (store .cse39 |c_~#top~0.base| (store .cse40 |c_~#top~0.offset| .cse32)))) (store .cse41 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse41 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse43 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse44 (select .cse43 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse42 (store .cse43 |c_~#top~0.base| (store .cse44 |c_~#top~0.offset| .cse32)))) (store .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select (let ((.cse45 (store .cse43 |c_~#top~0.base| (store .cse44 |c_~#top~0.offset| (select (select .cse43 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse45 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse45 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse47 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse48 (select .cse47 |c_~#top~0.base|))) (or (not (= (select (select (store (let ((.cse46 (store .cse47 |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| .cse32)))) (store .cse46 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse46 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select (let ((.cse49 (store .cse47 |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| (select (select .cse47 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse49 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse49 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse51 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse52 (select .cse51 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse50 (store .cse51 |c_~#top~0.base| (store .cse52 |c_~#top~0.offset| (select (select .cse51 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse50 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse50 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (not (= (select (select (store (let ((.cse53 (store .cse51 |c_~#top~0.base| (store .cse52 |c_~#top~0.offset| .cse32)))) (store .cse53 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse53 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse55 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse56 (select .cse55 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse54 (store .cse55 |c_~#top~0.base| (store .cse56 |c_~#top~0.offset| .cse32)))) (store .cse54 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse54 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (let ((.cse57 (store .cse55 |c_~#top~0.base| (store .cse56 |c_~#top~0.offset| (select (select .cse55 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse59 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse60 (select .cse59 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse58 (store .cse59 |c_~#top~0.base| (store .cse60 |c_~#top~0.offset| (select (select .cse59 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse58 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse58 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (store (let ((.cse61 (store .cse59 |c_~#top~0.base| (store .cse60 |c_~#top~0.offset| .cse32)))) (store .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse63 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse64 (select .cse63 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse62 (store .cse63 |c_~#top~0.base| (store .cse64 |c_~#top~0.offset| (select (select .cse63 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse62 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse62 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse65 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse66 (store .cse63 |c_~#top~0.base| (store .cse64 |c_~#top~0.offset| .cse32)))) (store .cse66 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse66 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse68 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse69 (select .cse68 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse67 (store .cse68 |c_~#top~0.base| (store .cse69 |c_~#top~0.offset| (select (select .cse68 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse67 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse67 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsge (bvadd (_ bv63 64) .cse65 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse70 (store .cse68 |c_~#top~0.base| (store .cse69 |c_~#top~0.offset| .cse32)))) (store .cse70 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse70 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse72 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse73 (select .cse72 |c_~#top~0.base|))) (or (bvsge (bvadd (_ bv63 64) .cse65 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse71 (store .cse72 |c_~#top~0.base| (store .cse73 |c_~#top~0.offset| .cse32)))) (store .cse71 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse71 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select (let ((.cse74 (store .cse72 |c_~#top~0.base| (store .cse73 |c_~#top~0.offset| (select (select .cse72 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse19 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse76 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse77 (select .cse76 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse75 (store .cse76 |c_~#top~0.base| (store .cse77 |c_~#top~0.offset| .cse32)))) (store .cse75 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse75 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (let ((.cse78 (store .cse76 |c_~#top~0.base| (store .cse77 |c_~#top~0.offset| (select (select .cse76 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))))))))) .cse79) (or (not .cse79) (let ((.cse81 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_prenex_237 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_235 (_ BitVec 32)) (v_prenex_236 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse80 (let ((.cse82 (let ((.cse83 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse83 |c_~#top~0.base| (store (select .cse83 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse83 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse82 v_prenex_236 (store (select .cse82 v_prenex_236) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (bvneg ((_ sign_extend 32) (select (select (store .cse80 v_prenex_235 v_prenex_237) |c_~#top~0.base|) |c_~#top~0.offset|))) (_ bv63 64) .cse81) (_ bv0 64)) (bvsle (_ bv0 32) (select (select .cse80 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((v_prenex_230 (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_231 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_229 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse84 (let ((.cse85 (let ((.cse86 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse86 |c_~#top~0.base| (store (select .cse86 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse86 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse85 v_prenex_230 (store (select .cse85 v_prenex_230) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select .cse84 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse84 v_prenex_229 v_prenex_231) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_226 (_ BitVec 32)) (v_prenex_227 (_ BitVec 32)) (v_prenex_228 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse87 (let ((.cse88 (let ((.cse89 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse89 |c_~#top~0.base| (store (select .cse89 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse89 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse88 v_prenex_227 (store (select .cse88 v_prenex_227) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse81 (bvneg ((_ sign_extend 32) (select (select (store .cse87 v_prenex_226 v_prenex_228) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse87 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((v_prenex_213 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_211 (_ BitVec 32)) (v_prenex_212 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse90 (let ((.cse91 (let ((.cse92 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse92 |c_~#top~0.base| (store (select .cse92 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse92 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse91 v_prenex_212 (store (select .cse91 v_prenex_212) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse90 v_prenex_211 v_prenex_213) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse90 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_210 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_208 (_ BitVec 32)) (v_prenex_209 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse93 (let ((.cse94 (let ((.cse95 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse95 |c_~#top~0.base| (store (select .cse95 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse95 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse94 v_prenex_209 (store (select .cse94 v_prenex_209) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select .cse93 |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select (store .cse93 v_prenex_208 v_prenex_210) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_206 (_ BitVec 32)) (v_prenex_205 (_ BitVec 32)) (v_prenex_207 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse96 (let ((.cse97 (let ((.cse98 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse98 |c_~#top~0.base| (store (select .cse98 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse98 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse97 v_prenex_206 (store (select .cse97 v_prenex_206) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (select (select (store .cse96 v_prenex_205 v_prenex_207) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select .cse96 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_217 (_ BitVec 32)) (v_prenex_218 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_219 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse99 (let ((.cse100 (let ((.cse101 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse101 |c_~#top~0.base| (store (select .cse101 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse101 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse100 v_prenex_218 (store (select .cse100 v_prenex_218) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse81 (bvneg ((_ sign_extend 32) (select (select (store .cse99 v_prenex_217 v_prenex_219) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse99 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse102 (let ((.cse103 (let ((.cse104 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse104 |c_~#top~0.base| (store (select .cse104 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse104 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse103 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse103 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse102 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select .cse102 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((v_prenex_225 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_224 (_ BitVec 32)) (v_prenex_223 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse105 (let ((.cse106 (let ((.cse107 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse107 |c_~#top~0.base| (store (select .cse107 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse107 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse106 v_prenex_224 (store (select .cse106 v_prenex_224) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse105 v_prenex_223 v_prenex_225) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse105 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_222 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_220 (_ BitVec 32)) (v_prenex_221 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse108 (let ((.cse109 (let ((.cse110 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse110 |c_~#top~0.base| (store (select .cse110 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse110 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse109 v_prenex_221 (store (select .cse109 v_prenex_221) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select .cse108 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse108 v_prenex_220 v_prenex_222) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_234 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_233 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_232 (_ BitVec 32))) (let ((.cse111 (let ((.cse112 (let ((.cse113 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse113 |c_~#top~0.base| (store (select .cse113 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse113 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse112 v_prenex_233 (store (select .cse112 v_prenex_233) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse111 v_prenex_232 v_prenex_234) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (_ bv2 32) (select (select .cse111 |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((v_prenex_216 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_215 (_ BitVec 32)) (v_prenex_214 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse114 (let ((.cse115 (let ((.cse116 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse116 |c_~#top~0.base| (store (select .cse116 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse116 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse115 v_prenex_215 (store (select .cse115 v_prenex_215) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse114 v_prenex_214 v_prenex_216) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse114 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))))))) is different from false [2024-09-23 23:44:19,778 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse79 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse3 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (let ((.cse0 (bvsgt (bvadd (_ bv3 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse19 (= (bvsrem .cse3 (_ bv2 32)) (_ bv1 32)))) (and (or .cse0 (let ((.cse1 (bvadd (_ bv4 32) c_~next_alloc_idx~0))) (let ((.cse10 ((_ sign_extend 32) .cse1))) (and (= (_ bv1 32) (bvsrem .cse1 (_ bv2 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (select (select (let ((.cse2 (let ((.cse4 (let ((.cse5 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse5 |c_~#top~0.base| (store (select .cse5 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse5 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse4 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse4 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse2 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse6 (let ((.cse7 (let ((.cse8 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse8 |c_~#top~0.base| (store (select .cse8 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse8 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse7 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse7 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (select (select .cse6 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select (store .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse6 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse9 (let ((.cse11 (let ((.cse12 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse12 |c_~#top~0.base| (store (select .cse12 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse12 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse11 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse11 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (store .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse9 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse10) (_ bv0 64)) (bvsle (select (select .cse9 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (not (= (select (select (let ((.cse13 (let ((.cse14 (let ((.cse15 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse15 |c_~#top~0.base| (store (select .cse15 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse15 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse14 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse14 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse13 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse13 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (let ((.cse16 (let ((.cse17 (let ((.cse18 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse18 |c_~#top~0.base| (store (select .cse18 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse18 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse17 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse17 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse16 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse19) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (bvsge (bvadd (_ bv63 64) (bvneg ((_ sign_extend 32) (select (select (let ((.cse20 (let ((.cse21 (let ((.cse22 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse22 |c_~#top~0.base| (store (select .cse22 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse22 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse21 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse21 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (store .cse20 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse20 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse10) (_ bv0 64))) .cse19) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse23 (let ((.cse24 (let ((.cse25 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse25 |c_~#top~0.base| (store (select .cse25 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse25 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse24 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse23 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse26 (let ((.cse27 (let ((.cse28 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse28 |c_~#top~0.base| (store (select .cse28 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse28 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse27 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse27 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select .cse26 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (store (select .cse26 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) .cse3)) |c_~#top~0.base|) |c_~#top~0.offset|))))))))) (or (not .cse0) (let ((.cse65 ((_ sign_extend 32) .cse3)) (.cse32 (select (select |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))) (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse30 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse31 (select .cse30 |c_~#top~0.base|))) (or (not (= (select (select (store (let ((.cse29 (store .cse30 |c_~#top~0.base| (store .cse31 |c_~#top~0.offset| .cse32)))) (store .cse29 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse29 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (select (select (let ((.cse33 (store .cse30 |c_~#top~0.base| (store .cse31 |c_~#top~0.offset| (select (select .cse30 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse33 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse33 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse35 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse36 (select .cse35 |c_~#top~0.base|))) (or (bvsle (select (select (store (let ((.cse34 (store .cse35 |c_~#top~0.base| (store .cse36 |c_~#top~0.offset| .cse32)))) (store .cse34 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse34 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (let ((.cse37 (store .cse35 |c_~#top~0.base| (store .cse36 |c_~#top~0.offset| (select (select .cse35 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse37 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse37 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse39 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse40 (select .cse39 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse38 (store .cse39 |c_~#top~0.base| (store .cse40 |c_~#top~0.offset| (select (select .cse39 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse38 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse38 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (select (select (store (let ((.cse41 (store .cse39 |c_~#top~0.base| (store .cse40 |c_~#top~0.offset| .cse32)))) (store .cse41 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse41 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse43 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse44 (select .cse43 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse42 (store .cse43 |c_~#top~0.base| (store .cse44 |c_~#top~0.offset| .cse32)))) (store .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse42 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (= (select (select (let ((.cse45 (store .cse43 |c_~#top~0.base| (store .cse44 |c_~#top~0.offset| (select (select .cse43 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse45 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse45 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse47 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse48 (select .cse47 |c_~#top~0.base|))) (or (not (= (select (select (store (let ((.cse46 (store .cse47 |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| .cse32)))) (store .cse46 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse46 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select (let ((.cse49 (store .cse47 |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| (select (select .cse47 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse49 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse49 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse51 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse52 (select .cse51 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse50 (store .cse51 |c_~#top~0.base| (store .cse52 |c_~#top~0.offset| (select (select .cse51 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse50 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse50 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (not (= (select (select (store (let ((.cse53 (store .cse51 |c_~#top~0.base| (store .cse52 |c_~#top~0.offset| .cse32)))) (store .cse53 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse53 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse55 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse56 (select .cse55 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse54 (store .cse55 |c_~#top~0.base| (store .cse56 |c_~#top~0.offset| .cse32)))) (store .cse54 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse54 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (let ((.cse57 (store .cse55 |c_~#top~0.base| (store .cse56 |c_~#top~0.offset| (select (select .cse55 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse57 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse59 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse60 (select .cse59 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse58 (store .cse59 |c_~#top~0.base| (store .cse60 |c_~#top~0.offset| (select (select .cse59 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse58 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse58 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (store (let ((.cse61 (store .cse59 |c_~#top~0.base| (store .cse60 |c_~#top~0.offset| .cse32)))) (store .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse61 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse63 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse64 (select .cse63 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse62 (store .cse63 |c_~#top~0.base| (store .cse64 |c_~#top~0.offset| (select (select .cse63 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse62 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse62 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsge (bvadd (_ bv63 64) .cse65 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse66 (store .cse63 |c_~#top~0.base| (store .cse64 |c_~#top~0.offset| .cse32)))) (store .cse66 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse66 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse68 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse69 (select .cse68 |c_~#top~0.base|))) (or (not (= (select (select (let ((.cse67 (store .cse68 |c_~#top~0.base| (store .cse69 |c_~#top~0.offset| (select (select .cse68 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse67 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse67 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsge (bvadd (_ bv63 64) .cse65 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse70 (store .cse68 |c_~#top~0.base| (store .cse69 |c_~#top~0.offset| .cse32)))) (store .cse70 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse70 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse72 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse73 (select .cse72 |c_~#top~0.base|))) (or (bvsge (bvadd (_ bv63 64) .cse65 (bvneg ((_ sign_extend 32) (select (select (store (let ((.cse71 (store .cse72 |c_~#top~0.base| (store .cse73 |c_~#top~0.offset| .cse32)))) (store .cse71 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse71 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select (let ((.cse74 (store .cse72 |c_~#top~0.base| (store .cse73 |c_~#top~0.offset| (select (select .cse72 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse74 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))) .cse19 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse76 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse77 (select .cse76 |c_~#top~0.base|))) (or (bvsle (_ bv0 32) (select (select (store (let ((.cse75 (store .cse76 |c_~#top~0.base| (store .cse77 |c_~#top~0.offset| .cse32)))) (store .cse75 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse75 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select (let ((.cse78 (store .cse76 |c_~#top~0.base| (store .cse77 |c_~#top~0.offset| (select (select .cse76 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse78 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)))))))))))) .cse79) (or (not .cse79) (let ((.cse81 ((_ sign_extend 32) c_~next_alloc_idx~0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_prenex_237 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_235 (_ BitVec 32)) (v_prenex_236 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse80 (let ((.cse82 (let ((.cse83 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse83 |c_~#top~0.base| (store (select .cse83 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse83 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse82 v_prenex_236 (store (select .cse82 v_prenex_236) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (bvneg ((_ sign_extend 32) (select (select (store .cse80 v_prenex_235 v_prenex_237) |c_~#top~0.base|) |c_~#top~0.offset|))) (_ bv63 64) .cse81) (_ bv0 64)) (bvsle (_ bv0 32) (select (select .cse80 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((v_prenex_230 (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_231 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_229 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse84 (let ((.cse85 (let ((.cse86 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse86 |c_~#top~0.base| (store (select .cse86 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse86 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse85 v_prenex_230 (store (select .cse85 v_prenex_230) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select .cse84 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (select (select (store .cse84 v_prenex_229 v_prenex_231) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_226 (_ BitVec 32)) (v_prenex_227 (_ BitVec 32)) (v_prenex_228 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse87 (let ((.cse88 (let ((.cse89 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse89 |c_~#top~0.base| (store (select .cse89 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse89 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse88 v_prenex_227 (store (select .cse88 v_prenex_227) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse81 (bvneg ((_ sign_extend 32) (select (select (store .cse87 v_prenex_226 v_prenex_228) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (bvsle (select (select .cse87 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((v_prenex_213 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_211 (_ BitVec 32)) (v_prenex_212 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse90 (let ((.cse91 (let ((.cse92 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse92 |c_~#top~0.base| (store (select .cse92 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse92 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse91 v_prenex_212 (store (select .cse91 v_prenex_212) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse90 v_prenex_211 v_prenex_213) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (bvsle (_ bv0 32) (select (select .cse90 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_210 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_208 (_ BitVec 32)) (v_prenex_209 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse93 (let ((.cse94 (let ((.cse95 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse95 |c_~#top~0.base| (store (select .cse95 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse95 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse94 v_prenex_209 (store (select .cse94 v_prenex_209) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select .cse93 |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (_ bv0 32) (select (select (store .cse93 v_prenex_208 v_prenex_210) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_206 (_ BitVec 32)) (v_prenex_205 (_ BitVec 32)) (v_prenex_207 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse96 (let ((.cse97 (let ((.cse98 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse98 |c_~#top~0.base| (store (select .cse98 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse98 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse97 v_prenex_206 (store (select .cse97 v_prenex_206) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (select (select (store .cse96 v_prenex_205 v_prenex_207) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32))) (bvsle (_ bv0 32) (select (select .cse96 |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_217 (_ BitVec 32)) (v_prenex_218 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_219 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse99 (let ((.cse100 (let ((.cse101 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse101 |c_~#top~0.base| (store (select .cse101 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse101 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse100 v_prenex_218 (store (select .cse100 v_prenex_218) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsge (bvadd (_ bv63 64) .cse81 (bvneg ((_ sign_extend 32) (select (select (store .cse99 v_prenex_217 v_prenex_219) |c_~#top~0.base|) |c_~#top~0.offset|)))) (_ bv0 64)) (not (= (select (select .cse99 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (|thr1Thread2of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32)) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse102 (let ((.cse103 (let ((.cse104 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse104 |c_~#top~0.base| (store (select .cse104 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse104 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse103 |thr1Thread2of3ForFork0_push_~#ret~0#1.base| (store (select .cse103 |thr1Thread2of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (select (select (store .cse102 |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_19) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32)) (not (= (select (select .cse102 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv2 32)))))) (forall ((v_prenex_225 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_224 (_ BitVec 32)) (v_prenex_223 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse105 (let ((.cse106 (let ((.cse107 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse107 |c_~#top~0.base| (store (select .cse107 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse107 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse106 v_prenex_224 (store (select .cse106 v_prenex_224) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select (store .cse105 v_prenex_223 v_prenex_225) |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (select (select .cse105 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_222 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_220 (_ BitVec 32)) (v_prenex_221 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse108 (let ((.cse109 (let ((.cse110 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse110 |c_~#top~0.base| (store (select .cse110 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse110 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse109 v_prenex_221 (store (select .cse109 v_prenex_221) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (bvsle (_ bv0 32) (select (select .cse108 |c_~#top~0.base|) |c_~#top~0.offset|)) (bvsle (_ bv0 32) (select (select (store .cse108 v_prenex_220 v_prenex_222) |c_~#top~0.base|) |c_~#top~0.offset|))))) (forall ((|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_234 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_233 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_232 (_ BitVec 32))) (let ((.cse111 (let ((.cse112 (let ((.cse113 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse113 |c_~#top~0.base| (store (select .cse113 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse113 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse112 v_prenex_233 (store (select .cse112 v_prenex_233) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse111 v_prenex_232 v_prenex_234) |c_~#top~0.base|) |c_~#top~0.offset|))) (not (= (_ bv2 32) (select (select .cse111 |c_~#top~0.base|) |c_~#top~0.offset|)))))) (forall ((v_prenex_216 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_215 (_ BitVec 32)) (v_prenex_214 (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse114 (let ((.cse115 (let ((.cse116 (store |c_#memory_int| |thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_31))) (store .cse116 |c_~#top~0.base| (store (select .cse116 |c_~#top~0.base|) |c_~#top~0.offset| (select (select .cse116 |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread2of3ForFork0_push_~#newTop~0#1.offset|)))))) (store .cse115 v_prenex_215 (store (select .cse115 v_prenex_215) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))))) (or (not (= (_ bv2 32) (select (select (store .cse114 v_prenex_214 v_prenex_216) |c_~#top~0.base|) |c_~#top~0.offset|))) (bvsle (select (select .cse114 |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv66 32))))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))))))) is different from true [2024-09-23 23:44:42,047 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:44:42,047 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-23 23:44:42,140 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:44:42,140 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-23 23:46:54,364 WARN L293 SmtUtils]: Spent 1.72m on a formula simplification that was a NOOP. DAG size: 1353 (called from [L 346] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.Elim1Store.elim1) [2024-09-23 23:46:54,365 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-23 23:46:54,381 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 26 select indices, 26 select index equivalence classes, 0 disjoint index pairs (out of 325 index pairs), introduced 26 new quantified variables, introduced 325 case distinctions, treesize of input 596712 treesize of output 592956 [2024-09-23 23:47:24,312 WARN L293 SmtUtils]: Spent 29.89s on a formula simplification. DAG size of input: 12962 DAG size of output: 5823 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:47:24,518 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54702 treesize of output 54574 [2024-09-23 23:47:31,645 WARN L293 SmtUtils]: Spent 7.12s on a formula simplification. DAG size of input: 5818 DAG size of output: 5816 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:47:31,856 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54582 treesize of output 54454 [2024-09-23 23:47:37,401 WARN L293 SmtUtils]: Spent 5.53s on a formula simplification that was a NOOP. DAG size: 5801 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:47:37,601 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54646 treesize of output 54518 [2024-09-23 23:47:47,365 WARN L293 SmtUtils]: Spent 9.75s on a formula simplification. DAG size of input: 5784 DAG size of output: 5780 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:47:47,560 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54534 treesize of output 54406 [2024-09-23 23:47:56,635 WARN L293 SmtUtils]: Spent 9.06s on a formula simplification. DAG size of input: 5771 DAG size of output: 5769 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:47:56,829 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54558 treesize of output 54430 [2024-09-23 23:48:05,831 WARN L293 SmtUtils]: Spent 8.99s on a formula simplification. DAG size of input: 5744 DAG size of output: 5732 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:06,022 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54446 treesize of output 54318 [2024-09-23 23:48:11,669 WARN L293 SmtUtils]: Spent 5.64s on a formula simplification that was a NOOP. DAG size: 5691 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:11,861 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54286 treesize of output 54158 [2024-09-23 23:48:21,033 WARN L293 SmtUtils]: Spent 9.16s on a formula simplification. DAG size of input: 5682 DAG size of output: 5680 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:21,238 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 54054 treesize of output 53926 [2024-09-23 23:48:29,838 WARN L293 SmtUtils]: Spent 8.59s on a formula simplification. DAG size of input: 5671 DAG size of output: 5669 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:30,052 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53846 treesize of output 53718 [2024-09-23 23:48:35,614 WARN L293 SmtUtils]: Spent 5.55s on a formula simplification that was a NOOP. DAG size: 5668 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:35,802 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53734 treesize of output 53606 [2024-09-23 23:48:42,456 WARN L293 SmtUtils]: Spent 6.64s on a formula simplification. DAG size of input: 5665 DAG size of output: 5661 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:42,646 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53494 treesize of output 53366 [2024-09-23 23:48:49,625 WARN L293 SmtUtils]: Spent 6.97s on a formula simplification. DAG size of input: 5652 DAG size of output: 5650 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:49,818 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53262 treesize of output 53134 [2024-09-23 23:48:55,883 WARN L293 SmtUtils]: Spent 6.05s on a formula simplification. DAG size of input: 5619 DAG size of output: 5597 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:48:56,074 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 53070 treesize of output 52942 [2024-09-23 23:49:03,035 WARN L293 SmtUtils]: Spent 6.95s on a formula simplification. DAG size of input: 5594 DAG size of output: 5590 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:03,246 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52862 treesize of output 52734 [2024-09-23 23:49:08,966 WARN L293 SmtUtils]: Spent 5.71s on a formula simplification that was a NOOP. DAG size: 5589 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:09,170 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52734 treesize of output 52606 [2024-09-23 23:49:14,807 WARN L293 SmtUtils]: Spent 5.63s on a formula simplification that was a NOOP. DAG size: 5588 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:14,995 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52574 treesize of output 52446 [2024-09-23 23:49:21,570 WARN L293 SmtUtils]: Spent 6.56s on a formula simplification. DAG size of input: 5559 DAG size of output: 5539 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:21,772 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52406 treesize of output 52278 [2024-09-23 23:49:27,291 WARN L293 SmtUtils]: Spent 5.51s on a formula simplification that was a NOOP. DAG size: 5538 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:27,497 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52278 treesize of output 52150 [2024-09-23 23:49:32,920 WARN L293 SmtUtils]: Spent 5.41s on a formula simplification that was a NOOP. DAG size: 5537 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:33,140 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52166 treesize of output 52038 [2024-09-23 23:49:41,803 WARN L293 SmtUtils]: Spent 8.65s on a formula simplification. DAG size of input: 5532 DAG size of output: 5530 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:41,992 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51990 treesize of output 51862 [2024-09-23 23:49:48,819 WARN L293 SmtUtils]: Spent 6.82s on a formula simplification. DAG size of input: 5525 DAG size of output: 5517 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:49,023 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51702 treesize of output 51574 [2024-09-23 23:49:54,670 WARN L293 SmtUtils]: Spent 5.64s on a formula simplification that was a NOOP. DAG size: 5516 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:49:54,878 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51574 treesize of output 51446 [2024-09-23 23:50:00,468 WARN L293 SmtUtils]: Spent 5.58s on a formula simplification that was a NOOP. DAG size: 5515 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:00,688 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51462 treesize of output 51334 [2024-09-23 23:50:10,261 WARN L293 SmtUtils]: Spent 9.56s on a formula simplification. DAG size of input: 5510 DAG size of output: 5508 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:10,483 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51094 treesize of output 50966 [2024-09-23 23:50:16,166 WARN L293 SmtUtils]: Spent 5.67s on a formula simplification that was a NOOP. DAG size: 5497 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:16,368 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50966 treesize of output 50838 [2024-09-23 23:50:22,011 WARN L293 SmtUtils]: Spent 5.63s on a formula simplification that was a NOOP. DAG size: 5496 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:22,202 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50758 treesize of output 50630 [2024-09-23 23:50:27,843 WARN L293 SmtUtils]: Spent 5.63s on a formula simplification that was a NOOP. DAG size: 5465 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:28,066 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50662 treesize of output 50534 [2024-09-23 23:50:37,055 WARN L293 SmtUtils]: Spent 8.98s on a formula simplification. DAG size of input: 5460 DAG size of output: 5420 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:37,265 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50374 treesize of output 50246 [2024-09-23 23:50:42,785 WARN L293 SmtUtils]: Spent 5.51s on a formula simplification that was a NOOP. DAG size: 5419 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:43,011 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50182 treesize of output 50054 [2024-09-23 23:50:53,100 WARN L293 SmtUtils]: Spent 10.08s on a formula simplification. DAG size of input: 5407 DAG size of output: 5396 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:53,327 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49974 treesize of output 49846 [2024-09-23 23:50:58,997 WARN L293 SmtUtils]: Spent 5.66s on a formula simplification that was a NOOP. DAG size: 5395 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:50:59,218 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49878 treesize of output 49750 [2024-09-23 23:51:06,908 WARN L293 SmtUtils]: Spent 7.68s on a formula simplification. DAG size of input: 5392 DAG size of output: 5364 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:07,127 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49622 treesize of output 49494 [2024-09-23 23:51:15,187 WARN L293 SmtUtils]: Spent 8.05s on a formula simplification. DAG size of input: 5361 DAG size of output: 5313 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:15,392 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49334 treesize of output 49206 [2024-09-23 23:51:21,054 WARN L293 SmtUtils]: Spent 5.65s on a formula simplification that was a NOOP. DAG size: 5312 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:21,276 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49142 treesize of output 49014 [2024-09-23 23:51:28,860 WARN L293 SmtUtils]: Spent 7.57s on a formula simplification. DAG size of input: 5303 DAG size of output: 5301 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:29,050 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48902 treesize of output 48774 [2024-09-23 23:51:36,440 WARN L293 SmtUtils]: Spent 7.38s on a formula simplification. DAG size of input: 5292 DAG size of output: 5284 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:36,645 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48734 treesize of output 48606 [2024-09-23 23:51:42,270 WARN L293 SmtUtils]: Spent 5.62s on a formula simplification that was a NOOP. DAG size: 5283 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:42,519 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48638 treesize of output 48606 [2024-09-23 23:51:48,059 WARN L293 SmtUtils]: Spent 5.53s on a formula simplification that was a NOOP. DAG size: 5271 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:48,293 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48606 treesize of output 48574 [2024-09-23 23:51:53,857 WARN L293 SmtUtils]: Spent 5.56s on a formula simplification that was a NOOP. DAG size: 5270 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:51:54,129 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48534 treesize of output 48502 [2024-09-23 23:51:59,742 WARN L293 SmtUtils]: Spent 5.60s on a formula simplification that was a NOOP. DAG size: 5259 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:00,001 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48486 treesize of output 48454 [2024-09-23 23:52:10,256 WARN L293 SmtUtils]: Spent 10.24s on a formula simplification. DAG size of input: 5250 DAG size of output: 5248 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:10,503 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48434 treesize of output 48402 [2024-09-23 23:52:16,139 WARN L293 SmtUtils]: Spent 5.63s on a formula simplification that was a NOOP. DAG size: 5247 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:16,389 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48402 treesize of output 48370 [2024-09-23 23:52:21,991 WARN L293 SmtUtils]: Spent 5.59s on a formula simplification that was a NOOP. DAG size: 5246 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:22,222 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48370 treesize of output 48338 [2024-09-23 23:52:27,983 WARN L293 SmtUtils]: Spent 5.75s on a formula simplification that was a NOOP. DAG size: 5245 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:28,258 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48346 treesize of output 48314 [2024-09-23 23:52:38,812 WARN L293 SmtUtils]: Spent 10.54s on a formula simplification. DAG size of input: 5240 DAG size of output: 5237 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:39,049 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48274 treesize of output 48242 [2024-09-23 23:52:44,713 WARN L293 SmtUtils]: Spent 5.65s on a formula simplification that was a NOOP. DAG size: 5236 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:44,986 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48226 treesize of output 48194 [2024-09-23 23:52:53,918 WARN L293 SmtUtils]: Spent 8.92s on a formula simplification. DAG size of input: 5227 DAG size of output: 5224 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:52:54,190 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48182 treesize of output 48150 [2024-09-23 23:53:03,318 WARN L293 SmtUtils]: Spent 9.12s on a formula simplification. DAG size of input: 5221 DAG size of output: 5216 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:03,570 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48110 treesize of output 48078 [2024-09-23 23:53:09,540 WARN L293 SmtUtils]: Spent 5.96s on a formula simplification that was a NOOP. DAG size: 5215 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:09,785 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48078 treesize of output 48046 [2024-09-23 23:53:15,642 WARN L293 SmtUtils]: Spent 5.85s on a formula simplification that was a NOOP. DAG size: 5214 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:15,911 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48102 treesize of output 48070 [2024-09-23 23:53:24,120 WARN L293 SmtUtils]: Spent 8.20s on a formula simplification. DAG size of input: 5203 DAG size of output: 5200 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:24,389 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48034 treesize of output 48002 [2024-09-23 23:53:33,944 WARN L293 SmtUtils]: Spent 9.54s on a formula simplification. DAG size of input: 5191 DAG size of output: 5188 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:34,180 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47982 treesize of output 47950 [2024-09-23 23:53:40,085 WARN L293 SmtUtils]: Spent 5.90s on a formula simplification that was a NOOP. DAG size: 5187 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:40,316 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47950 treesize of output 47918 [2024-09-23 23:53:46,132 WARN L293 SmtUtils]: Spent 5.81s on a formula simplification that was a NOOP. DAG size: 5186 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:46,384 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47926 treesize of output 47894 [2024-09-23 23:53:57,142 WARN L293 SmtUtils]: Spent 10.75s on a formula simplification. DAG size of input: 5183 DAG size of output: 5177 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:53:57,386 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47854 treesize of output 47822 [2024-09-23 23:54:03,306 WARN L293 SmtUtils]: Spent 5.91s on a formula simplification that was a NOOP. DAG size: 5176 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:54:03,552 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47878 treesize of output 47846 [2024-09-23 23:54:13,350 WARN L293 SmtUtils]: Spent 9.79s on a formula simplification. DAG size of input: 5165 DAG size of output: 5162 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:54:13,586 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47826 treesize of output 47794 [2024-09-23 23:54:19,403 WARN L293 SmtUtils]: Spent 5.81s on a formula simplification that was a NOOP. DAG size: 5161 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:54:19,668 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47802 treesize of output 47770 [2024-09-23 23:54:31,160 WARN L293 SmtUtils]: Spent 11.48s on a formula simplification. DAG size of input: 5156 DAG size of output: 5153 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:54:31,424 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47714 treesize of output 47682 [2024-09-23 23:54:42,967 WARN L293 SmtUtils]: Spent 11.53s on a formula simplification. DAG size of input: 5144 DAG size of output: 5141 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-09-23 23:54:43,202 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47662 treesize of output 47630 [2024-09-23 23:54:49,347 WARN L293 SmtUtils]: Spent 6.14s on a formula simplification that was a NOOP. DAG size: 5140 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) Killed by 15