./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-08-20_10-08-36.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version da67795f 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-08-20_10-08-36.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.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.dk.goblint-eval-da67795-m [2024-08-26 21:36:56,440 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-26 21:36:56,517 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf [2024-08-26 21:36:56,524 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-26 21:36:56,525 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-26 21:36:56,560 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-26 21:36:56,561 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-26 21:36:56,562 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-26 21:36:56,563 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-26 21:36:56,564 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-26 21:36:56,564 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-26 21:36:56,564 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-26 21:36:56,565 INFO L153 SettingsManager]: * Use SBE=true [2024-08-26 21:36:56,567 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-26 21:36:56,567 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-26 21:36:56,568 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-26 21:36:56,568 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-08-26 21:36:56,568 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-26 21:36:56,569 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-26 21:36:56,572 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-26 21:36:56,573 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-26 21:36:56,573 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-26 21:36:56,573 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-26 21:36:56,574 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-26 21:36:56,574 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-26 21:36:56,574 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-26 21:36:56,574 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-26 21:36:56,574 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-26 21:36:56,575 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-26 21:36:56,575 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-26 21:36:56,575 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-26 21:36:56,575 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-26 21:36:56,576 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-26 21:36:56,576 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-26 21:36:56,576 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-08-26 21:36:56,577 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-08-26 21:36:56,577 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-08-26 21:36:56,579 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-26 21:36:56,579 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-08-26 21:36:56,579 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-26 21:36:56,579 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-08-26 21:36:56,580 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-08-26 21:36:56,580 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: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false 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-08-26 21:36:56,852 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-26 21:36:56,892 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-26 21:36:56,899 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-26 21:36:56,900 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-26 21:36:56,901 INFO L274 PluginConnector]: CDTParser initialized [2024-08-26 21:36:56,902 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-08-26 21:36:58,427 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-26 21:36:58,695 INFO L384 CDTParser]: Found 1 translation units. [2024-08-26 21:36:58,696 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-08-26 21:36:58,719 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/d15607c79/e876e5ab10e243c8aa1c32f89eab7230/FLAG5316323f7 [2024-08-26 21:36:58,735 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/d15607c79/e876e5ab10e243c8aa1c32f89eab7230 [2024-08-26 21:36:58,737 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-26 21:36:58,738 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-26 21:36:58,739 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-08-20_10-08-36.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml [2024-08-26 21:36:58,816 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-26 21:36:58,818 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-08-26 21:36:58,820 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-26 21:36:58,820 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-26 21:36:58,825 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-26 21:36:58,826 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.08 09:36:58" (1/2) ... [2024-08-26 21:36:58,827 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@57cc7772 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.08 09:36:58, skipping insertion in model container [2024-08-26 21:36:58,827 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.08 09:36:58" (1/2) ... [2024-08-26 21:36:58,829 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@474273a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.08 09:36:58, skipping insertion in model container [2024-08-26 21:36:58,829 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 26.08 09:36:58" (2/2) ... [2024-08-26 21:36:58,829 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@57cc7772 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:58, skipping insertion in model container [2024-08-26 21:36:58,830 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 26.08 09:36:58" (2/2) ... [2024-08-26 21:36:58,830 INFO L85 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-08-26 21:36:58,876 INFO L99 nessWitnessExtractor]: Found the following entries in the witness: [2024-08-26 21:36:58,877 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-08-26 21:36:58,878 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-08-26 21:36:58,921 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-08-26 21:36:59,334 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-26 21:36:59,347 INFO L202 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local [2024-08-26 21:36:59,425 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-26 21:36:59,462 INFO L206 MainTranslator]: Completed translation [2024-08-26 21:36:59,463 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59 WrapperNode [2024-08-26 21:36:59,463 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-26 21:36:59,464 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-08-26 21:36:59,464 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-08-26 21:36:59,465 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-08-26 21:36:59,471 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 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,485 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 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,513 INFO L138 Inliner]: procedures = 172, calls = 45, calls flagged for inlining = 7, calls inlined = 7, statements flattened = 125 [2024-08-26 21:36:59,514 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-08-26 21:36:59,515 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-26 21:36:59,515 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-26 21:36:59,515 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-26 21:36:59,526 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,527 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,530 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,533 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,539 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,543 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,546 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,548 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,554 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-26 21:36:59,554 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-08-26 21:36:59,554 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-08-26 21:36:59,555 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-08-26 21:36:59,559 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (1/1) ... [2024-08-26 21:36:59,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-26 21:36:59,580 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:36:59,598 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-08-26 21:36:59,603 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-08-26 21:36:59,657 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-08-26 21:36:59,658 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2024-08-26 21:36:59,658 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2024-08-26 21:36:59,658 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-08-26 21:36:59,660 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-08-26 21:36:59,660 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-26 21:36:59,660 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-08-26 21:36:59,660 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-08-26 21:36:59,661 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-08-26 21:36:59,661 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-08-26 21:36:59,661 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-26 21:36:59,661 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-26 21:36:59,663 WARN L211 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-08-26 21:36:59,812 INFO L242 CfgBuilder]: Building ICFG [2024-08-26 21:36:59,814 INFO L268 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-26 21:37:00,023 INFO L287 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-08-26 21:37:00,023 INFO L291 CfgBuilder]: Performing block encoding [2024-08-26 21:37:00,231 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-08-26 21:37:00,233 INFO L318 CfgBuilder]: Removed 3 assume(true) statements. [2024-08-26 21:37:00,233 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.08 09:37:00 BoogieIcfgContainer [2024-08-26 21:37:00,234 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-08-26 21:37:00,236 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-08-26 21:37:00,236 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-08-26 21:37:00,244 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-08-26 21:37:00,245 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 26.08 09:36:58" (1/4) ... [2024-08-26 21:37:00,245 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3cfd0f52 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 26.08 09:37:00, skipping insertion in model container [2024-08-26 21:37:00,246 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 26.08 09:36:58" (2/4) ... [2024-08-26 21:37:00,246 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3cfd0f52 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 26.08 09:37:00, skipping insertion in model container [2024-08-26 21:37:00,246 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:36:59" (3/4) ... [2024-08-26 21:37:00,248 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3cfd0f52 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 26.08 09:37:00, skipping insertion in model container [2024-08-26 21:37:00,248 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.08 09:37:00" (4/4) ... [2024-08-26 21:37:00,249 INFO L112 eAbstractionObserver]: Analyzing ICFG 36_stack_cas_p0_vs_concur.i [2024-08-26 21:37:00,268 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-08-26 21:37:00,269 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-08-26 21:37:00,269 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-08-26 21:37:00,318 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-08-26 21:37:00,359 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:00,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-08-26 21:37:00,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:00,362 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-08-26 21:37:00,363 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-08-26 21:37:00,393 INFO L158 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-08-26 21:37:00,404 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2024-08-26 21:37:00,413 INFO L357 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, mHoare=false, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, 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;@71d68a52, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:00,413 INFO L358 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-08-26 21:37:00,542 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:00,548 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:00,548 INFO L85 PathProgramCache]: Analyzing trace with hash -2008215890, now seen corresponding path program 1 times [2024-08-26 21:37:00,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-26 21:37:00,558 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1998549838] [2024-08-26 21:37:00,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:00,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-26 21:37:00,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:01,490 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:01,491 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-08-26 21:37:01,491 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1998549838] [2024-08-26 21:37:01,493 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1998549838] provided 0 perfect and 1 imperfect interpolant sequences [2024-08-26 21:37:01,494 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1482331441] [2024-08-26 21:37:01,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:01,494 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-08-26 21:37:01,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:01,496 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-08-26 21:37:01,497 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-08-26 21:37:01,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:01,604 INFO L262 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 16 conjunts are in the unsatisfiable core [2024-08-26 21:37:01,609 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:01,764 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-08-26 21:37:01,765 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-08-26 21:37:01,821 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-08-26 21:37:01,873 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:01,874 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:02,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-08-26 21:37:02,766 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1482331441] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:02,766 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-08-26 21:37:02,767 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2024-08-26 21:37:02,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [49006747] [2024-08-26 21:37:02,770 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:02,774 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2024-08-26 21:37:02,774 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-08-26 21:37:02,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-08-26 21:37:02,800 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2024-08-26 21:37:02,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:02,802 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:02,803 INFO L496 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-08-26 21:37:02,804 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:02,960 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-08-26 21:37:02,978 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-08-26 21:37:03,161 WARN L477 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-08-26 21:37:03,162 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:03,162 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:03,163 INFO L85 PathProgramCache]: Analyzing trace with hash -1983109515, now seen corresponding path program 1 times [2024-08-26 21:37:03,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-26 21:37:03,163 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [900676127] [2024-08-26 21:37:03,163 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:03,163 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-26 21:37:03,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:04,102 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:04,103 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-08-26 21:37:04,103 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [900676127] [2024-08-26 21:37:04,103 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [900676127] provided 0 perfect and 1 imperfect interpolant sequences [2024-08-26 21:37:04,104 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1757050399] [2024-08-26 21:37:04,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:04,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-08-26 21:37:04,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:04,106 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-08-26 21:37:04,108 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-08-26 21:37:04,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:04,205 INFO L262 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 30 conjunts are in the unsatisfiable core [2024-08-26 21:37:04,208 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:04,269 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-08-26 21:37:04,452 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-08-26 21:37:04,454 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-08-26 21:37:04,531 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:04,532 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:05,192 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:05,193 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-08-26 21:37:05,204 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:05,205 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-08-26 21:37:05,247 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-08-26 21:37:05,255 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-08-26 21:37:05,463 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:05,464 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1757050399] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:05,465 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-08-26 21:37:05,465 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 5] total 19 [2024-08-26 21:37:05,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332905512] [2024-08-26 21:37:05,466 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:05,467 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-08-26 21:37:05,467 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-08-26 21:37:05,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-08-26 21:37:05,470 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=357, Unknown=0, NotChecked=0, Total=420 [2024-08-26 21:37:05,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:05,472 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:05,472 INFO L496 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-08-26 21:37:05,473 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2024-08-26 21:37:05,473 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:05,912 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-08-26 21:37:05,913 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-08-26 21:37:05,932 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-08-26 21:37:06,114 WARN L477 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-08-26 21:37:06,115 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:06,116 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:06,116 INFO L85 PathProgramCache]: Analyzing trace with hash 1791595301, now seen corresponding path program 1 times [2024-08-26 21:37:06,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-26 21:37:06,116 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [291491450] [2024-08-26 21:37:06,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:06,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-26 21:37:06,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:06,760 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:06,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-08-26 21:37:06,761 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [291491450] [2024-08-26 21:37:06,761 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [291491450] provided 0 perfect and 1 imperfect interpolant sequences [2024-08-26 21:37:06,762 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [402041436] [2024-08-26 21:37:06,762 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:06,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-08-26 21:37:06,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:06,764 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-08-26 21:37:06,766 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-08-26 21:37:06,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:06,862 INFO L262 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 43 conjunts are in the unsatisfiable core [2024-08-26 21:37:06,866 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:06,930 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-08-26 21:37:06,952 INFO L349 Elim1Store]: treesize reduction 42, result has 25.0 percent of original size [2024-08-26 21:37:06,953 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-08-26 21:37:06,964 INFO L173 IndexEqualityManager]: detected equality via solver [2024-08-26 21:37:06,968 INFO L173 IndexEqualityManager]: detected equality via solver [2024-08-26 21:37:06,984 INFO L349 Elim1Store]: treesize reduction 20, result has 33.3 percent of original size [2024-08-26 21:37:06,985 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-08-26 21:37:07,026 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-08-26 21:37:07,218 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-08-26 21:37:07,234 INFO L349 Elim1Store]: treesize reduction 13, result has 40.9 percent of original size [2024-08-26 21:37:07,235 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-08-26 21:37:07,325 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-08-26 21:37:07,335 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-08-26 21:37:07,409 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-08-26 21:37:07,409 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-08-26 21:37:07,454 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-08-26 21:37:07,518 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:07,518 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:11,168 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-08-26 21:37:14,411 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:14,412 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-08-26 21:37:14,442 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:14,443 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-08-26 21:37:15,301 INFO L349 Elim1Store]: treesize reduction 27, result has 60.9 percent of original size [2024-08-26 21:37:15,301 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-08-26 21:37:16,347 WARN L320 FreeRefinementEngine]: Global settings require throwing the following exception [2024-08-26 21:37:16,367 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-08-26 21:37:16,551 WARN L477 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-08-26 21:37:16,552 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:337) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:431) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:416) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:226) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:155) 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-08-26 21:37:16,558 INFO L158 Benchmark]: Toolchain (without parser) took 17740.62ms. Allocated memory was 172.0MB in the beginning and 312.5MB in the end (delta: 140.5MB). Free memory was 102.3MB in the beginning and 253.7MB in the end (delta: -151.4MB). Peak memory consumption was 150.4MB. Max. memory is 16.1GB. [2024-08-26 21:37:16,558 INFO L158 Benchmark]: CDTParser took 0.51ms. Allocated memory is still 96.5MB. Free memory was 64.6MB in the beginning and 64.6MB in the end (delta: 24.2kB). There was no memory consumed. Max. memory is 16.1GB. [2024-08-26 21:37:16,558 INFO L158 Benchmark]: Witness Parser took 0.21ms. Allocated memory is still 172.0MB. Free memory is still 104.8MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-26 21:37:16,559 INFO L158 Benchmark]: CACSL2BoogieTranslator took 644.08ms. Allocated memory is still 172.0MB. Free memory was 102.3MB in the beginning and 125.9MB in the end (delta: -23.6MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2024-08-26 21:37:16,559 INFO L158 Benchmark]: Boogie Procedure Inliner took 49.69ms. Allocated memory is still 172.0MB. Free memory was 125.9MB in the beginning and 123.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-08-26 21:37:16,560 INFO L158 Benchmark]: Boogie Preprocessor took 39.15ms. Allocated memory is still 172.0MB. Free memory was 123.8MB in the beginning and 122.6MB in the end (delta: 1.2MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-08-26 21:37:16,560 INFO L158 Benchmark]: RCFGBuilder took 679.38ms. Allocated memory is still 172.0MB. Free memory was 122.6MB in the beginning and 84.9MB in the end (delta: 37.7MB). Peak memory consumption was 37.7MB. Max. memory is 16.1GB. [2024-08-26 21:37:16,560 INFO L158 Benchmark]: TraceAbstraction took 16321.37ms. Allocated memory was 172.0MB in the beginning and 312.5MB in the end (delta: 140.5MB). Free memory was 84.9MB in the beginning and 253.7MB in the end (delta: -168.8MB). Peak memory consumption was 134.3MB. Max. memory is 16.1GB. [2024-08-26 21:37:16,562 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.51ms. Allocated memory is still 96.5MB. Free memory was 64.6MB in the beginning and 64.6MB in the end (delta: 24.2kB). There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.21ms. Allocated memory is still 172.0MB. Free memory is still 104.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 644.08ms. Allocated memory is still 172.0MB. Free memory was 102.3MB in the beginning and 125.9MB in the end (delta: -23.6MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 49.69ms. Allocated memory is still 172.0MB. Free memory was 125.9MB in the beginning and 123.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 39.15ms. Allocated memory is still 172.0MB. Free memory was 123.8MB in the beginning and 122.6MB in the end (delta: 1.2MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 679.38ms. Allocated memory is still 172.0MB. Free memory was 122.6MB in the beginning and 84.9MB in the end (delta: 37.7MB). Peak memory consumption was 37.7MB. Max. memory is 16.1GB. * TraceAbstraction took 16321.37ms. Allocated memory was 172.0MB in the beginning and 312.5MB in the end (delta: 140.5MB). Free memory was 84.9MB in the beginning and 253.7MB in the end (delta: -168.8MB). Peak memory consumption was 134.3MB. 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-08-26 21:37:16,587 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-08-26 21:37:16,795 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-08-20_10-08-36.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.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.dk.goblint-eval-da67795-m [2024-08-26 21:37:19,104 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-26 21:37:19,175 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf [2024-08-26 21:37:19,180 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-26 21:37:19,180 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-26 21:37:19,216 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-26 21:37:19,217 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-26 21:37:19,217 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-26 21:37:19,218 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-26 21:37:19,218 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-26 21:37:19,219 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-26 21:37:19,219 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-26 21:37:19,221 INFO L153 SettingsManager]: * Use SBE=true [2024-08-26 21:37:19,221 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-26 21:37:19,221 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-26 21:37:19,222 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-26 21:37:19,222 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-26 21:37:19,222 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-26 21:37:19,223 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-26 21:37:19,223 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-26 21:37:19,223 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-26 21:37:19,227 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-08-26 21:37:19,227 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-26 21:37:19,227 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-08-26 21:37:19,227 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-26 21:37:19,228 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-26 21:37:19,228 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-26 21:37:19,228 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-26 21:37:19,229 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-26 21:37:19,229 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-26 21:37:19,229 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-26 21:37:19,229 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-26 21:37:19,230 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-26 21:37:19,230 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-26 21:37:19,234 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-26 21:37:19,234 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-08-26 21:37:19,234 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-08-26 21:37:19,234 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-08-26 21:37:19,235 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-26 21:37:19,235 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-08-26 21:37:19,235 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-26 21:37:19,235 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-08-26 21:37:19,235 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-08-26 21:37:19,235 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-08-26 21:37:19,235 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: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false 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-08-26 21:37:19,589 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-26 21:37:19,612 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-26 21:37:19,616 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-26 21:37:19,618 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-26 21:37:19,618 INFO L274 PluginConnector]: CDTParser initialized [2024-08-26 21:37:19,620 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-08-26 21:37:21,293 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-26 21:37:21,541 INFO L384 CDTParser]: Found 1 translation units. [2024-08-26 21:37:21,542 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-08-26 21:37:21,563 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/8c542bde7/0edce73eca184a45b08938dc32e08b62/FLAGd72e5decd [2024-08-26 21:37:21,895 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/8c542bde7/0edce73eca184a45b08938dc32e08b62 [2024-08-26 21:37:21,898 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-26 21:37:21,898 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-26 21:37:21,899 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-08-20_10-08-36.files/mutex-meet-local/36_stack_cas_p0_vs_concur.yml/witness.yml [2024-08-26 21:37:21,971 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-26 21:37:21,973 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-08-26 21:37:21,974 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-26 21:37:21,974 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-26 21:37:21,977 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-26 21:37:21,978 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.08 09:37:21" (1/2) ... [2024-08-26 21:37:21,979 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6d94edff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.08 09:37:21, skipping insertion in model container [2024-08-26 21:37:21,979 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.08 09:37:21" (1/2) ... [2024-08-26 21:37:21,980 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@7c5e840f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.08 09:37:21, skipping insertion in model container [2024-08-26 21:37:21,980 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 26.08 09:37:21" (2/2) ... [2024-08-26 21:37:21,981 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6d94edff and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:21, skipping insertion in model container [2024-08-26 21:37:21,981 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 26.08 09:37:21" (2/2) ... [2024-08-26 21:37:21,981 INFO L85 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-08-26 21:37:22,025 INFO L99 nessWitnessExtractor]: Found the following entries in the witness: [2024-08-26 21:37:22,026 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-08-26 21:37:22,026 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-08-26 21:37:22,083 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-08-26 21:37:22,479 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-26 21:37:22,503 INFO L202 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local [2024-08-26 21:37:22,622 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-26 21:37:22,683 INFO L206 MainTranslator]: Completed translation [2024-08-26 21:37:22,683 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22 WrapperNode [2024-08-26 21:37:22,684 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-26 21:37:22,685 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-08-26 21:37:22,686 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-08-26 21:37:22,686 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-08-26 21:37:22,693 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 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,719 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 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,749 INFO L138 Inliner]: procedures = 176, calls = 45, calls flagged for inlining = 7, calls inlined = 7, statements flattened = 126 [2024-08-26 21:37:22,751 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-08-26 21:37:22,752 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-26 21:37:22,752 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-26 21:37:22,753 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-26 21:37:22,761 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,762 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,770 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,771 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,783 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,787 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,790 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,792 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,796 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-26 21:37:22,797 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-08-26 21:37:22,797 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-08-26 21:37:22,797 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-08-26 21:37:22,798 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (1/1) ... [2024-08-26 21:37:22,804 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-08-26 21:37:22,814 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:22,834 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-08-26 21:37:22,838 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-08-26 21:37:22,892 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2024-08-26 21:37:22,892 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2024-08-26 21:37:22,892 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-08-26 21:37:22,893 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-26 21:37:22,894 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-26 21:37:22,895 WARN L211 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-08-26 21:37:23,069 INFO L242 CfgBuilder]: Building ICFG [2024-08-26 21:37:23,072 INFO L268 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-26 21:37:23,409 INFO L287 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-08-26 21:37:23,409 INFO L291 CfgBuilder]: Performing block encoding [2024-08-26 21:37:23,631 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-08-26 21:37:23,633 INFO L318 CfgBuilder]: Removed 3 assume(true) statements. [2024-08-26 21:37:23,635 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.08 09:37:23 BoogieIcfgContainer [2024-08-26 21:37:23,635 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-08-26 21:37:23,637 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-08-26 21:37:23,638 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-08-26 21:37:23,642 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-08-26 21:37:23,642 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 26.08 09:37:21" (1/4) ... [2024-08-26 21:37:23,643 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3e2f3199 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 26.08 09:37:23, skipping insertion in model container [2024-08-26 21:37:23,643 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 26.08 09:37:21" (2/4) ... [2024-08-26 21:37:23,643 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3e2f3199 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 26.08 09:37:23, skipping insertion in model container [2024-08-26 21:37:23,643 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 26.08 09:37:22" (3/4) ... [2024-08-26 21:37:23,644 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3e2f3199 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 26.08 09:37:23, skipping insertion in model container [2024-08-26 21:37:23,644 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.08 09:37:23" (4/4) ... [2024-08-26 21:37:23,646 INFO L112 eAbstractionObserver]: Analyzing ICFG 36_stack_cas_p0_vs_concur.i [2024-08-26 21:37:23,665 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-08-26 21:37:23,666 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-08-26 21:37:23,666 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-08-26 21:37:23,751 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-08-26 21:37:23,803 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:23,804 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-08-26 21:37:23,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:23,806 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-08-26 21:37:23,808 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-08-26 21:37:23,843 INFO L158 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-08-26 21:37:23,856 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2024-08-26 21:37:23,866 INFO L357 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, mHoare=false, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, 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;@79fcd050, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:23,866 INFO L358 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-08-26 21:37:24,017 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:24,023 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:24,023 INFO L85 PathProgramCache]: Analyzing trace with hash 262873134, now seen corresponding path program 1 times [2024-08-26 21:37:24,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:24,035 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [566236845] [2024-08-26 21:37:24,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:24,036 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-08-26 21:37:24,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:24,060 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-08-26 21:37:24,065 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-08-26 21:37:24,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:24,186 INFO L262 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 11 conjunts are in the unsatisfiable core [2024-08-26 21:37:24,193 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:24,479 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-08-26 21:37:24,480 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-08-26 21:37:24,538 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-08-26 21:37:24,619 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:24,619 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:25,092 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-08-26 21:37:26,128 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:26,129 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-26 21:37:26,129 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [566236845] [2024-08-26 21:37:26,130 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [566236845] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:26,130 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-08-26 21:37:26,130 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 6 [2024-08-26 21:37:26,133 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1568800868] [2024-08-26 21:37:26,133 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:26,138 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-08-26 21:37:26,138 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-26 21:37:26,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-08-26 21:37:26,165 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-08-26 21:37:26,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:26,168 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:26,169 INFO L496 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-08-26 21:37:26,170 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:26,705 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:26,710 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 (3)] Ended with exit code 0 [2024-08-26 21:37:26,906 WARN L477 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-08-26 21:37:26,906 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:26,907 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:26,907 INFO L85 PathProgramCache]: Analyzing trace with hash 1396566197, now seen corresponding path program 1 times [2024-08-26 21:37:26,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:26,907 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1791833820] [2024-08-26 21:37:26,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:26,908 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-08-26 21:37:26,908 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:26,911 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-08-26 21:37:26,912 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-08-26 21:37:27,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:27,031 INFO L262 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 19 conjunts are in the unsatisfiable core [2024-08-26 21:37:27,035 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:27,120 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-08-26 21:37:27,438 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-08-26 21:37:27,439 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-08-26 21:37:27,561 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:27,562 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:27,955 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-08-26 21:37:28,193 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-08-26 21:37:28,950 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:28,951 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-08-26 21:37:28,969 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:28,970 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-08-26 21:37:29,143 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-08-26 21:37:29,164 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-08-26 21:37:29,193 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-08-26 21:37:29,331 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:29,332 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-26 21:37:29,332 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1791833820] [2024-08-26 21:37:29,332 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1791833820] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:29,333 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-08-26 21:37:29,333 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 11 [2024-08-26 21:37:29,333 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1026429334] [2024-08-26 21:37:29,333 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:29,335 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-08-26 21:37:29,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-26 21:37:29,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-08-26 21:37:29,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=82, Unknown=2, NotChecked=38, Total=156 [2024-08-26 21:37:29,336 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:29,337 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:29,337 INFO L496 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-08-26 21:37:29,337 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:29,337 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:31,011 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-08-26 21:37:32,020 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-08-26 21:37:32,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:32,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2024-08-26 21:37:32,745 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 (4)] Forceful destruction successful, exit code 0 [2024-08-26 21:37:32,939 WARN L477 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-08-26 21:37:32,940 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:32,940 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:32,941 INFO L85 PathProgramCache]: Analyzing trace with hash -1358141130, now seen corresponding path program 1 times [2024-08-26 21:37:32,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:32,941 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [626347308] [2024-08-26 21:37:32,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:32,942 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-08-26 21:37:32,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:32,943 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-08-26 21:37:32,944 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-08-26 21:37:33,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:33,050 INFO L262 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 6 conjunts are in the unsatisfiable core [2024-08-26 21:37:33,054 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:33,077 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-08-26 21:37:33,087 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-08-26 21:37:33,088 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-08-26 21:37:33,095 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-08-26 21:37:33,104 WARN L214 Elim1Store]: Array PQE input equivalent to false [2024-08-26 21:37:33,126 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 18 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-08-26 21:37:33,126 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-08-26 21:37:33,126 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-26 21:37:33,127 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [626347308] [2024-08-26 21:37:33,127 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [626347308] provided 1 perfect and 0 imperfect interpolant sequences [2024-08-26 21:37:33,127 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-08-26 21:37:33,127 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-08-26 21:37:33,127 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1426116430] [2024-08-26 21:37:33,127 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-08-26 21:37:33,128 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-08-26 21:37:33,128 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-26 21:37:33,129 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-08-26 21:37:33,129 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-08-26 21:37:33,129 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:33,129 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:33,129 INFO L496 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-08-26 21:37:33,130 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:33,130 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 16 states. [2024-08-26 21:37:33,130 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:34,354 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:34,354 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2024-08-26 21:37:34,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-08-26 21:37:34,358 INFO L805 garLoopResultBuilder]: Registering result SAFE for location thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 2 remaining) [2024-08-26 21:37:34,359 INFO L805 garLoopResultBuilder]: Registering result SAFE for location thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT (0 of 2 remaining) [2024-08-26 21:37:34,371 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 (5)] Ended with exit code 0 [2024-08-26 21:37:34,559 WARN L477 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-08-26 21:37:34,565 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2024-08-26 21:37:34,569 INFO L308 ceAbstractionStarter]: Result for error location thr1Thread1of1ForFork0 was SAFE,SAFE (1/2) [2024-08-26 21:37:34,572 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:34,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-08-26 21:37:34,572 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:34,574 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-08-26 21:37:34,576 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-08-26 21:37:34,581 INFO L158 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-08-26 21:37:34,581 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-08-26 21:37:34,582 INFO L357 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, mHoare=false, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, 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;@79fcd050, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:34,582 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-08-26 21:37:34,659 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-08-26 21:37:34,659 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:34,659 INFO L85 PathProgramCache]: Analyzing trace with hash 1484070764, now seen corresponding path program 1 times [2024-08-26 21:37:34,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:34,660 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1437379761] [2024-08-26 21:37:34,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:34,660 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-08-26 21:37:34,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:34,663 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-08-26 21:37:34,664 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-08-26 21:37:34,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-26 21:37:34,728 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-08-26 21:37:34,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-26 21:37:34,809 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2024-08-26 21:37:34,809 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-08-26 21:37:34,810 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-08-26 21:37:34,816 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 (7)] Forceful destruction successful, exit code 0 [2024-08-26 21:37:35,010 WARN L477 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-08-26 21:37:35,012 INFO L445 BasicCegarLoop]: Path program histogram: [1] [2024-08-26 21:37:35,012 INFO L308 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (2/2) [2024-08-26 21:37:35,013 WARN L234 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2024-08-26 21:37:35,013 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2024-08-26 21:37:35,041 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-08-26 21:37:35,043 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:35,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-08-26 21:37:35,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:35,045 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-08-26 21:37:35,047 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-08-26 21:37:35,050 INFO L158 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-08-26 21:37:35,050 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-08-26 21:37:35,051 INFO L357 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, mHoare=false, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, 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;@79fcd050, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:35,051 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-08-26 21:37:35,278 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-08-26 21:37:35,278 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:35,278 INFO L85 PathProgramCache]: Analyzing trace with hash -1478896732, now seen corresponding path program 1 times [2024-08-26 21:37:35,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:35,279 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1914206001] [2024-08-26 21:37:35,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:35,279 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-08-26 21:37:35,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:35,282 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-08-26 21:37:35,284 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-08-26 21:37:35,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:35,392 INFO L262 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 11 conjunts are in the unsatisfiable core [2024-08-26 21:37:35,394 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:35,521 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-08-26 21:37:35,522 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-08-26 21:37:35,554 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-08-26 21:37:35,633 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:35,633 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:36,117 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-08-26 21:37:37,100 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:37,100 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-26 21:37:37,100 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1914206001] [2024-08-26 21:37:37,100 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1914206001] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:37,101 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-08-26 21:37:37,101 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2024-08-26 21:37:37,101 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821762309] [2024-08-26 21:37:37,101 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:37,101 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-08-26 21:37:37,101 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-26 21:37:37,102 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-08-26 21:37:37,102 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-08-26 21:37:37,102 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:37,102 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:37,103 INFO L496 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-08-26 21:37:37,103 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:38,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:38,277 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 (9)] Forceful destruction successful, exit code 0 [2024-08-26 21:37:38,472 WARN L477 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-08-26 21:37:38,473 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-08-26 21:37:38,473 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:38,474 INFO L85 PathProgramCache]: Analyzing trace with hash 1227724413, now seen corresponding path program 1 times [2024-08-26 21:37:38,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:38,474 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1149981046] [2024-08-26 21:37:38,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:38,474 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-08-26 21:37:38,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:38,475 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-08-26 21:37:38,477 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-08-26 21:37:38,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:38,612 INFO L262 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 18 conjunts are in the unsatisfiable core [2024-08-26 21:37:38,618 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:38,703 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-08-26 21:37:39,028 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-08-26 21:37:39,029 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-08-26 21:37:39,157 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:39,159 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:41,049 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:41,050 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-08-26 21:37:41,064 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:41,064 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-08-26 21:37:41,641 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:41,642 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-08-26 21:37:41,729 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-08-26 21:37:41,764 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-08-26 21:37:41,801 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-08-26 21:37:41,849 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-08-26 21:37:43,269 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-08-26 21:37:43,529 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:37:43,529 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-26 21:37:43,529 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1149981046] [2024-08-26 21:37:43,530 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1149981046] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:43,530 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-08-26 21:37:43,530 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 12 [2024-08-26 21:37:43,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1640178796] [2024-08-26 21:37:43,530 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:43,531 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-08-26 21:37:43,531 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-26 21:37:43,533 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-08-26 21:37:43,533 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=114, Unknown=5, NotChecked=0, Total=156 [2024-08-26 21:37:43,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:43,534 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:43,535 INFO L496 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-08-26 21:37:43,535 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:43,535 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:46,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:46,582 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-08-26 21:37:46,587 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-08-26 21:37:46,783 WARN L477 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-08-26 21:37:46,783 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-08-26 21:37:46,784 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:46,784 INFO L85 PathProgramCache]: Analyzing trace with hash 1256353564, now seen corresponding path program 1 times [2024-08-26 21:37:46,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:46,784 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1842529584] [2024-08-26 21:37:46,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:46,784 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-08-26 21:37:46,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:46,786 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-08-26 21:37:46,787 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-08-26 21:37:46,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-26 21:37:46,889 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-08-26 21:37:46,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-26 21:37:46,974 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2024-08-26 21:37:46,975 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-08-26 21:37:46,975 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-08-26 21:37:46,980 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 (11)] Ended with exit code 0 [2024-08-26 21:37:47,175 WARN L477 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-08-26 21:37:47,177 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2024-08-26 21:37:47,177 INFO L308 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (1/3) [2024-08-26 21:37:47,177 WARN L234 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2024-08-26 21:37:47,177 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2024-08-26 21:37:47,211 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-08-26 21:37:47,213 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:47,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-08-26 21:37:47,213 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-08-26 21:37:47,215 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-08-26 21:37:47,216 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-08-26 21:37:47,218 INFO L158 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-08-26 21:37:47,218 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread3of3ForFork0 ======== [2024-08-26 21:37:47,219 INFO L357 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, mHoare=false, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, 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;@79fcd050, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-26 21:37:47,219 INFO L358 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-08-26 21:37:47,662 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:47,664 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:47,664 INFO L85 PathProgramCache]: Analyzing trace with hash 2084484843, now seen corresponding path program 1 times [2024-08-26 21:37:47,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:47,664 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [108733989] [2024-08-26 21:37:47,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:47,664 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-08-26 21:37:47,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:47,666 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-08-26 21:37:47,667 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-08-26 21:37:47,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:47,834 INFO L262 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 11 conjunts are in the unsatisfiable core [2024-08-26 21:37:47,836 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:47,940 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-08-26 21:37:47,940 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-08-26 21:37:47,976 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-08-26 21:37:48,038 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-08-26 21:37:48,038 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:48,443 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-08-26 21:37:49,304 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-08-26 21:37:49,304 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-26 21:37:49,304 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [108733989] [2024-08-26 21:37:49,304 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [108733989] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:49,304 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-08-26 21:37:49,305 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2024-08-26 21:37:49,305 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1648272831] [2024-08-26 21:37:49,305 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:49,305 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-08-26 21:37:49,305 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-26 21:37:49,306 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-08-26 21:37:49,306 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-08-26 21:37:49,306 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:49,306 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:49,306 INFO L496 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-08-26 21:37:49,306 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:51,246 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:51,251 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 (13)] Forceful destruction successful, exit code 0 [2024-08-26 21:37:51,446 WARN L477 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-08-26 21:37:51,447 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:51,447 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:51,447 INFO L85 PathProgramCache]: Analyzing trace with hash 1293640210, now seen corresponding path program 1 times [2024-08-26 21:37:51,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:51,448 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1823576381] [2024-08-26 21:37:51,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:51,448 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-08-26 21:37:51,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:51,449 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-08-26 21:37:51,450 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-08-26 21:37:51,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:51,617 INFO L262 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 17 conjunts are in the unsatisfiable core [2024-08-26 21:37:51,621 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:51,685 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-08-26 21:37:51,953 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-08-26 21:37:51,954 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-08-26 21:37:52,047 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-08-26 21:37:52,047 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:37:52,433 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-08-26 21:37:52,610 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-08-26 21:37:53,112 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:53,112 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-08-26 21:37:53,121 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:53,122 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-08-26 21:37:53,667 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:37:53,668 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-08-26 21:37:53,723 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-08-26 21:37:53,747 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-08-26 21:37:53,769 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-08-26 21:37:53,796 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-08-26 21:37:54,521 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-08-26 21:37:54,624 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-08-26 21:37:54,625 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-08-26 21:37:54,625 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1823576381] [2024-08-26 21:37:54,625 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1823576381] provided 0 perfect and 2 imperfect interpolant sequences [2024-08-26 21:37:54,625 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-08-26 21:37:54,625 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 12 [2024-08-26 21:37:54,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1454643300] [2024-08-26 21:37:54,625 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-08-26 21:37:54,626 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-08-26 21:37:54,626 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-08-26 21:37:54,626 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-08-26 21:37:54,627 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=82, Unknown=2, NotChecked=38, Total=156 [2024-08-26 21:37:54,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:54,627 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-08-26 21:37:54,627 INFO L496 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-08-26 21:37:54,627 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:54,627 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-08-26 21:37:58,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-08-26 21:37:58,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2024-08-26 21:37:58,970 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-08-26 21:37:59,163 WARN L477 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-08-26 21:37:59,163 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-08-26 21:37:59,163 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-26 21:37:59,163 INFO L85 PathProgramCache]: Analyzing trace with hash -456160010, now seen corresponding path program 1 times [2024-08-26 21:37:59,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-08-26 21:37:59,164 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1010951320] [2024-08-26 21:37:59,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-26 21:37:59,164 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-08-26 21:37:59,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-08-26 21:37:59,165 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-08-26 21:37:59,166 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-08-26 21:37:59,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-26 21:37:59,487 INFO L262 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 32 conjunts are in the unsatisfiable core [2024-08-26 21:37:59,494 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-26 21:37:59,703 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-08-26 21:37:59,966 INFO L349 Elim1Store]: treesize reduction 13, result has 45.8 percent of original size [2024-08-26 21:37:59,966 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-08-26 21:38:00,362 INFO L349 Elim1Store]: treesize reduction 36, result has 61.7 percent of original size [2024-08-26 21:38:00,362 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-08-26 21:38:01,007 INFO L349 Elim1Store]: treesize reduction 93, result has 41.9 percent of original size [2024-08-26 21:38:01,007 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-08-26 21:38:01,543 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-08-26 21:38:01,543 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-08-26 21:38:01,923 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-08-26 21:38:02,016 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-08-26 21:38:07,293 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-08-26 21:38:11,391 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-08-26 21:38:13,411 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-08-26 21:38:16,981 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-08-26 21:38:24,683 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-08-26 21:38:26,769 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-08-26 21:38:33,457 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-08-26 21:38:35,492 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-08-26 21:38:59,214 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:38:59,215 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-08-26 21:38:59,305 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:38:59,305 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-08-26 21:41:28,051 WARN L293 SmtUtils]: Spent 1.96m 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-08-26 21:41:28,052 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-08-26 21:41:28,068 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-08-26 21:41:59,340 WARN L293 SmtUtils]: Spent 31.23s 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-08-26 21:41:59,595 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-08-26 21:42:07,283 WARN L293 SmtUtils]: Spent 7.68s 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-08-26 21:42:07,555 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-08-26 21:42:13,670 WARN L293 SmtUtils]: Spent 6.10s 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-08-26 21:42:13,908 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-08-26 21:42:24,088 WARN L293 SmtUtils]: Spent 10.17s 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-08-26 21:42:24,302 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-08-26 21:42:33,501 WARN L293 SmtUtils]: Spent 9.19s 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-08-26 21:42:33,714 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-08-26 21:42:42,912 WARN L293 SmtUtils]: Spent 9.19s 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-08-26 21:42:43,119 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-08-26 21:42:48,681 WARN L293 SmtUtils]: Spent 5.55s 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-08-26 21:42:48,889 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-08-26 21:42:58,263 WARN L293 SmtUtils]: Spent 9.36s 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-08-26 21:42:58,480 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-08-26 21:43:07,255 WARN L293 SmtUtils]: Spent 8.76s 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-08-26 21:43:07,485 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-08-26 21:43:13,242 WARN L293 SmtUtils]: Spent 5.75s 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-08-26 21:43:13,448 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-08-26 21:43:20,092 WARN L293 SmtUtils]: Spent 6.63s 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-08-26 21:43:20,294 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-08-26 21:43:27,452 WARN L293 SmtUtils]: Spent 7.15s 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-08-26 21:43:27,691 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-08-26 21:43:33,912 WARN L293 SmtUtils]: Spent 6.21s 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-08-26 21:43:34,123 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-08-26 21:43:41,038 WARN L293 SmtUtils]: Spent 6.90s 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-08-26 21:43:41,261 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-08-26 21:43:47,291 WARN L293 SmtUtils]: Spent 6.02s 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-08-26 21:43:47,532 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-08-26 21:43:53,713 WARN L293 SmtUtils]: Spent 6.17s 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-08-26 21:43:53,929 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-08-26 21:44:01,122 WARN L293 SmtUtils]: Spent 7.18s 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-08-26 21:44:01,356 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-08-26 21:44:07,277 WARN L293 SmtUtils]: Spent 5.91s 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-08-26 21:44:07,509 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-08-26 21:44:13,551 WARN L293 SmtUtils]: Spent 6.03s 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-08-26 21:44:13,803 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-08-26 21:44:23,227 WARN L293 SmtUtils]: Spent 9.41s 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-08-26 21:44:23,450 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-08-26 21:44:30,906 WARN L293 SmtUtils]: Spent 7.44s 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-08-26 21:44:31,137 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-08-26 21:44:37,162 WARN L293 SmtUtils]: Spent 6.01s 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-08-26 21:44:37,393 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-08-26 21:44:43,433 WARN L293 SmtUtils]: Spent 6.03s 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-08-26 21:44:43,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-08-26 21:44:54,357 WARN L293 SmtUtils]: Spent 10.65s 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-08-26 21:44:54,611 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-08-26 21:45:00,851 WARN L293 SmtUtils]: Spent 6.23s 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-08-26 21:45:01,086 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-08-26 21:45:07,160 WARN L293 SmtUtils]: Spent 6.06s 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-08-26 21:45:07,375 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-08-26 21:45:13,405 WARN L293 SmtUtils]: Spent 6.02s 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-08-26 21:45:13,640 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-08-26 21:45:23,026 WARN L293 SmtUtils]: Spent 9.37s 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-08-26 21:45:23,254 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-08-26 21:45:29,366 WARN L293 SmtUtils]: Spent 6.10s 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-08-26 21:45:29,616 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-08-26 21:45:40,300 WARN L293 SmtUtils]: Spent 10.67s 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-08-26 21:45:40,544 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-08-26 21:45:46,483 WARN L293 SmtUtils]: Spent 5.93s 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-08-26 21:45:46,733 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-08-26 21:45:54,873 WARN L293 SmtUtils]: Spent 8.13s 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-08-26 21:45:55,123 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-08-26 21:46:03,750 WARN L293 SmtUtils]: Spent 8.62s 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-08-26 21:46:03,977 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-08-26 21:46:09,952 WARN L293 SmtUtils]: Spent 5.97s 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-08-26 21:46:10,209 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-08-26 21:46:18,069 WARN L293 SmtUtils]: Spent 7.85s 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-08-26 21:46:18,280 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-08-26 21:46:25,921 WARN L293 SmtUtils]: Spent 7.63s 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-08-26 21:46:26,157 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-08-26 21:46:32,150 WARN L293 SmtUtils]: Spent 5.98s 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-08-26 21:46:32,430 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-08-26 21:46:38,378 WARN L293 SmtUtils]: Spent 5.94s 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-08-26 21:46:38,644 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-08-26 21:46:44,735 WARN L293 SmtUtils]: Spent 6.08s 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-08-26 21:46:45,020 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-08-26 21:46:51,087 WARN L293 SmtUtils]: Spent 6.06s 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-08-26 21:46:51,367 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-08-26 21:47:02,232 WARN L293 SmtUtils]: Spent 10.85s 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-08-26 21:47:02,571 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-08-26 21:47:08,632 WARN L293 SmtUtils]: Spent 6.05s 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-08-26 21:47:08,953 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-08-26 21:47:14,937 WARN L293 SmtUtils]: Spent 5.97s 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-08-26 21:47:15,203 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-08-26 21:47:21,080 WARN L293 SmtUtils]: Spent 5.87s 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-08-26 21:47:21,355 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-08-26 21:47:32,096 WARN L293 SmtUtils]: Spent 10.73s 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-08-26 21:47:32,344 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-08-26 21:47:38,191 WARN L293 SmtUtils]: Spent 5.84s 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-08-26 21:47:38,466 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-08-26 21:47:47,388 WARN L293 SmtUtils]: Spent 8.91s 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-08-26 21:47:47,670 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-08-26 21:47:56,909 WARN L293 SmtUtils]: Spent 9.23s 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-08-26 21:47:57,171 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-08-26 21:48:03,192 WARN L293 SmtUtils]: Spent 6.01s 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-08-26 21:48:03,456 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-08-26 21:48:09,413 WARN L293 SmtUtils]: Spent 5.95s 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-08-26 21:48:09,693 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-08-26 21:48:17,766 WARN L293 SmtUtils]: Spent 8.06s 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-08-26 21:48:18,032 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-08-26 21:48:27,501 WARN L293 SmtUtils]: Spent 9.46s 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-08-26 21:48:27,756 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-08-26 21:48:33,650 WARN L293 SmtUtils]: Spent 5.88s 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-08-26 21:48:33,902 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-08-26 21:48:39,612 WARN L293 SmtUtils]: Spent 5.70s 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-08-26 21:48:39,882 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-08-26 21:48:50,612 WARN L293 SmtUtils]: Spent 10.72s 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-08-26 21:48:50,864 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-08-26 21:48:56,479 WARN L293 SmtUtils]: Spent 5.60s 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-08-26 21:48:56,742 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-08-26 21:49:06,150 WARN L293 SmtUtils]: Spent 9.40s 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-08-26 21:49:06,401 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-08-26 21:49:12,165 WARN L293 SmtUtils]: Spent 5.75s 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-08-26 21:49:12,445 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-08-26 21:49:23,721 WARN L293 SmtUtils]: Spent 11.26s 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-08-26 21:49:24,004 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-08-26 21:49:35,635 WARN L293 SmtUtils]: Spent 11.62s 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-08-26 21:49:35,880 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-08-26 21:49:41,865 WARN L293 SmtUtils]: Spent 5.98s 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