./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --validate ./goblint.2024-09-02_08-21-23.files/protection-local/36_stack_cas_p0_vs_concur.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version e94c40da Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i ./goblint.2024-09-02_08-21-23.files/protection-local/36_stack_cas_p0_vs_concur.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.positions.where.we.compute.the.hoare.annotation None --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-dev-e94c40d-m [2024-09-24 12:12:22,348 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-09-24 12:12:22,426 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf [2024-09-24 12:12:22,433 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-09-24 12:12:22,433 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-09-24 12:12:22,462 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-09-24 12:12:22,464 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-09-24 12:12:22,465 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-09-24 12:12:22,466 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-09-24 12:12:22,468 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-09-24 12:12:22,469 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-09-24 12:12:22,469 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-09-24 12:12:22,469 INFO L153 SettingsManager]: * Use SBE=true [2024-09-24 12:12:22,471 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-09-24 12:12:22,472 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-09-24 12:12:22,472 INFO L153 SettingsManager]: * sizeof long=4 [2024-09-24 12:12:22,472 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-09-24 12:12:22,473 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-09-24 12:12:22,473 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-09-24 12:12:22,473 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-09-24 12:12:22,473 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-09-24 12:12:22,476 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-09-24 12:12:22,477 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-09-24 12:12:22,477 INFO L153 SettingsManager]: * sizeof long double=12 [2024-09-24 12:12:22,477 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-09-24 12:12:22,477 INFO L153 SettingsManager]: * Use constant arrays=true [2024-09-24 12:12:22,477 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-09-24 12:12:22,478 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-09-24 12:12:22,478 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-09-24 12:12:22,478 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-09-24 12:12:22,478 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-24 12:12:22,479 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-09-24 12:12:22,479 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-09-24 12:12:22,479 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-09-24 12:12:22,481 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-09-24 12:12:22,481 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-09-24 12:12:22,481 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-09-24 12:12:22,482 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-09-24 12:12:22,482 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-09-24 12:12:22,482 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-09-24 12:12:22,483 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-09-24 12:12:22,484 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Positions where we compute the Hoare Annotation -> None Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Check unreachability of reach_error function -> false [2024-09-24 12:12:22,761 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-09-24 12:12:22,789 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-09-24 12:12:22,793 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-09-24 12:12:22,795 INFO L270 PluginConnector]: Initializing CDTParser... [2024-09-24 12:12:22,795 INFO L274 PluginConnector]: CDTParser initialized [2024-09-24 12:12:22,797 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-24 12:12:24,417 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-09-24 12:12:24,711 INFO L384 CDTParser]: Found 1 translation units. [2024-09-24 12:12:24,712 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-24 12:12:24,733 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/25bbb7c54/829626c8681345fdafcfafd9195ef3d6/FLAG196dea636 [2024-09-24 12:12:24,754 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/25bbb7c54/829626c8681345fdafcfafd9195ef3d6 [2024-09-24 12:12:24,758 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-09-24 12:12:24,760 INFO L274 PluginConnector]: Witness Parser initialized [2024-09-24 12:12:24,761 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-09-02_08-21-23.files/protection-local/36_stack_cas_p0_vs_concur.yml/witness.yml [2024-09-24 12:12:24,831 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-09-24 12:12:24,832 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-09-24 12:12:24,834 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-09-24 12:12:24,834 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-09-24 12:12:24,839 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-09-24 12:12:24,840 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.09 12:12:24" (1/2) ... [2024-09-24 12:12:24,841 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@61e1800c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.09 12:12:24, skipping insertion in model container [2024-09-24 12:12:24,841 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.09 12:12:24" (1/2) ... [2024-09-24 12:12:24,843 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@7d5c3801 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.09 12:12:24, skipping insertion in model container [2024-09-24 12:12:24,843 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 24.09 12:12:24" (2/2) ... [2024-09-24 12:12:24,843 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@61e1800c and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:24, skipping insertion in model container [2024-09-24 12:12:24,844 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 24.09 12:12:24" (2/2) ... [2024-09-24 12:12:24,880 INFO L93 nessWitnessExtractor]: Found the following entries in the witness: [2024-09-24 12:12:24,881 INFO L1541 ArrayList]: Location invariant before [L732-L732] ((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 64)) && (next_alloc_idx % 2 == 1) [2024-09-24 12:12:24,881 INFO L1541 ArrayList]: Location invariant before [L721-L721] ((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 64)) && (next_alloc_idx % 2 == 1) [2024-09-24 12:12:24,924 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-09-24 12:12:25,269 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-24 12:12:25,286 INFO L200 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local [2024-09-24 12:12:25,408 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-24 12:12:25,443 INFO L204 MainTranslator]: Completed translation [2024-09-24 12:12:25,444 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25 WrapperNode [2024-09-24 12:12:25,444 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-09-24 12:12:25,445 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-09-24 12:12:25,445 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-09-24 12:12:25,445 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-09-24 12:12:25,453 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 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,467 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 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,499 INFO L138 Inliner]: procedures = 172, calls = 41, calls flagged for inlining = 7, calls inlined = 7, statements flattened = 117 [2024-09-24 12:12:25,499 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-09-24 12:12:25,500 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-09-24 12:12:25,500 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-09-24 12:12:25,500 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-09-24 12:12:25,510 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,511 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,517 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,518 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,526 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,533 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,535 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,536 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,539 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-09-24 12:12:25,540 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-09-24 12:12:25,540 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-09-24 12:12:25,540 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-09-24 12:12:25,541 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (1/1) ... [2024-09-24 12:12:25,556 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-24 12:12:25,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:25,584 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-09-24 12:12:25,587 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-09-24 12:12:25,642 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-09-24 12:12:25,642 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2024-09-24 12:12:25,642 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2024-09-24 12:12:25,643 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-09-24 12:12:25,643 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-09-24 12:12:25,643 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-09-24 12:12:25,645 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-09-24 12:12:25,645 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-09-24 12:12:25,645 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-09-24 12:12:25,645 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-09-24 12:12:25,645 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-09-24 12:12:25,646 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-09-24 12:12:25,647 WARN L211 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-09-24 12:12:25,814 INFO L242 CfgBuilder]: Building ICFG [2024-09-24 12:12:25,817 INFO L268 CfgBuilder]: Building CFG for each procedure with an implementation [2024-09-24 12:12:26,038 INFO L287 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-09-24 12:12:26,039 INFO L291 CfgBuilder]: Performing block encoding [2024-09-24 12:12:26,191 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-09-24 12:12:26,191 INFO L318 CfgBuilder]: Removed 3 assume(true) statements. [2024-09-24 12:12:26,192 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.09 12:12:26 BoogieIcfgContainer [2024-09-24 12:12:26,192 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-09-24 12:12:26,194 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-09-24 12:12:26,194 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-09-24 12:12:26,197 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-09-24 12:12:26,198 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 24.09 12:12:24" (1/4) ... [2024-09-24 12:12:26,199 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@326c6be2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 24.09 12:12:26, skipping insertion in model container [2024-09-24 12:12:26,199 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 24.09 12:12:24" (2/4) ... [2024-09-24 12:12:26,200 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@326c6be2 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 24.09 12:12:26, skipping insertion in model container [2024-09-24 12:12:26,200 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:12:25" (3/4) ... [2024-09-24 12:12:26,200 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@326c6be2 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 24.09 12:12:26, skipping insertion in model container [2024-09-24 12:12:26,200 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.09 12:12:26" (4/4) ... [2024-09-24 12:12:26,203 INFO L112 eAbstractionObserver]: Analyzing ICFG 36_stack_cas_p0_vs_concur.i [2024-09-24 12:12:26,225 INFO L209 ceAbstractionStarter]: Automizer settings: Hoare:None NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-09-24 12:12:26,225 INFO L149 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-09-24 12:12:26,225 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-09-24 12:12:26,280 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-24 12:12:26,327 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:26,327 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:12:26,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:26,329 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:12:26,330 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2024-09-24 12:12:26,363 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:12:26,376 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2024-09-24 12:12:26,383 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@7b8a6046, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:26,383 INFO L337 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-09-24 12:12:26,494 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:12:26,500 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:12:26,501 INFO L85 PathProgramCache]: Analyzing trace with hash 1297908398, now seen corresponding path program 1 times [2024-09-24 12:12:26,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-24 12:12:26,511 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2117185595] [2024-09-24 12:12:26,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:26,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-24 12:12:26,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:27,524 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:27,524 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-24 12:12:27,524 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2117185595] [2024-09-24 12:12:27,530 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2117185595] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-24 12:12:27,530 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [718440413] [2024-09-24 12:12:27,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:27,530 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:27,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:27,555 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-24 12:12:27,557 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-09-24 12:12:27,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:27,637 INFO L262 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 14 conjuncts are in the unsatisfiable core [2024-09-24 12:12:27,642 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:12:27,766 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-09-24 12:12:27,767 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-09-24 12:12:27,818 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-24 12:12:27,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-09-24 12:12:27,874 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:12:28,147 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (= (mod c_~next_alloc_idx~0 2) 1))) (and (or (and .cse0 (<= 0 (+ c_~next_alloc_idx~0 1)) (forall ((v_DerPreprocessor_2 (Array Int Int))) (<= (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_2) |c_~#top~0.base|) |c_~#top~0.offset|) 64)) (forall ((v_DerPreprocessor_2 (Array Int Int))) (<= 0 (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_2) |c_~#top~0.base|) |c_~#top~0.offset|)))) (< 64 c_~next_alloc_idx~0)) (or (< c_~next_alloc_idx~0 65) (and (forall ((v_DerPreprocessor_1 (Array Int Int))) (<= (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_1) |c_~#top~0.base|) |c_~#top~0.offset|) 64)) .cse0 (<= c_~next_alloc_idx~0 66) (forall ((v_DerPreprocessor_1 (Array Int Int))) (<= 0 (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_1) |c_~#top~0.base|) |c_~#top~0.offset|))))))) is different from false [2024-09-24 12:12:28,698 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:28,699 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [718440413] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:12:28,699 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-09-24 12:12:28,699 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2024-09-24 12:12:28,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2093622000] [2024-09-24 12:12:28,702 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-09-24 12:12:28,707 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2024-09-24 12:12:28,707 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-09-24 12:12:28,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-09-24 12:12:28,731 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=50, Unknown=1, NotChecked=14, Total=90 [2024-09-24 12:12:28,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:28,733 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:12:28,734 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 9 states have internal predecessors, (31), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:12:28,734 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:28,916 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:12:28,935 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-09-24 12:12:29,117 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2024-09-24 12:12:29,117 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:12:29,118 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:12:29,118 INFO L85 PathProgramCache]: Analyzing trace with hash 1044255861, now seen corresponding path program 1 times [2024-09-24 12:12:29,118 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-24 12:12:29,119 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1153741269] [2024-09-24 12:12:29,119 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:29,119 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-24 12:12:29,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:29,743 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:29,744 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-24 12:12:29,744 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1153741269] [2024-09-24 12:12:29,744 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1153741269] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-24 12:12:29,745 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [248789541] [2024-09-24 12:12:29,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:29,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:29,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:29,747 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-24 12:12:29,750 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-09-24 12:12:29,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:29,841 INFO L262 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 27 conjuncts are in the unsatisfiable core [2024-09-24 12:12:29,854 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:12:29,921 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:12:30,098 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-24 12:12:30,099 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-24 12:12:30,180 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:30,180 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:12:30,740 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:12:30,741 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 44 treesize of output 58 [2024-09-24 12:12:30,752 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:12:30,753 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-24 12:12:30,802 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 122 treesize of output 108 [2024-09-24 12:12:30,810 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 92 treesize of output 88 [2024-09-24 12:12:30,816 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 82 treesize of output 74 [2024-09-24 12:12:30,931 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:30,932 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [248789541] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:12:30,932 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-09-24 12:12:30,932 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 5] total 19 [2024-09-24 12:12:30,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2138786591] [2024-09-24 12:12:30,933 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-09-24 12:12:30,934 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-09-24 12:12:30,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-09-24 12:12:30,936 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-09-24 12:12:30,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=358, Unknown=0, NotChecked=0, Total=420 [2024-09-24 12:12:30,937 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:30,937 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:12:30,938 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 2.7) internal successors, (54), 20 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:12:30,938 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:12:30,938 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:32,403 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:12:32,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2024-09-24 12:12:32,409 INFO L785 garLoopResultBuilder]: Registering result SAFE for location thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 2 remaining) [2024-09-24 12:12:32,410 INFO L785 garLoopResultBuilder]: Registering result SAFE for location thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT (0 of 2 remaining) [2024-09-24 12:12:32,432 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-09-24 12:12:32,611 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:32,617 INFO L408 BasicCegarLoop]: Path program histogram: [1, 1] [2024-09-24 12:12:32,619 INFO L312 ceAbstractionStarter]: Result for error location thr1Thread1of1ForFork0 was SAFE,SAFE (1/2) [2024-09-24 12:12:32,622 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:32,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:12:32,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:32,626 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:12:32,628 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (5)] Waiting until timeout for monitored process [2024-09-24 12:12:32,630 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:12:32,631 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-09-24 12:12:32,632 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@7b8a6046, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:32,632 INFO L337 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-09-24 12:12:32,688 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:12:32,688 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:12:32,688 INFO L85 PathProgramCache]: Analyzing trace with hash -1732725716, now seen corresponding path program 1 times [2024-09-24 12:12:32,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-24 12:12:32,689 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [267706201] [2024-09-24 12:12:32,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:32,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-24 12:12:32,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:12:32,702 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-09-24 12:12:32,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:12:32,744 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-09-24 12:12:32,745 INFO L326 BasicCegarLoop]: Counterexample is feasible [2024-09-24 12:12:32,745 INFO L785 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-09-24 12:12:32,745 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-09-24 12:12:32,747 INFO L408 BasicCegarLoop]: Path program histogram: [1] [2024-09-24 12:12:32,748 INFO L312 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (2/2) [2024-09-24 12:12:32,748 WARN L239 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2024-09-24 12:12:32,749 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2024-09-24 12:12:32,776 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-24 12:12:32,779 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:32,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:12:32,780 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:32,782 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:12:32,783 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (6)] Waiting until timeout for monitored process [2024-09-24 12:12:32,786 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:12:32,786 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-09-24 12:12:32,787 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@7b8a6046, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:32,787 INFO L337 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-09-24 12:12:32,950 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:12:32,951 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:12:32,951 INFO L85 PathProgramCache]: Analyzing trace with hash 484384722, now seen corresponding path program 1 times [2024-09-24 12:12:32,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-24 12:12:32,952 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1900534714] [2024-09-24 12:12:32,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:32,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-24 12:12:32,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:33,264 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:33,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-24 12:12:33,265 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1900534714] [2024-09-24 12:12:33,265 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1900534714] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-24 12:12:33,265 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [576323187] [2024-09-24 12:12:33,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:33,266 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:33,266 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:33,268 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-24 12:12:33,269 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-09-24 12:12:33,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:33,384 INFO L262 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 14 conjuncts are in the unsatisfiable core [2024-09-24 12:12:33,386 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:12:33,444 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-09-24 12:12:33,444 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-09-24 12:12:33,472 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-24 12:12:33,527 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:33,528 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:12:33,700 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (= (mod c_~next_alloc_idx~0 2) 1))) (and (or (and (forall ((v_DerPreprocessor_5 (Array Int Int))) (<= (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_5) |c_~#top~0.base|) |c_~#top~0.offset|) 64)) .cse0 (forall ((v_DerPreprocessor_5 (Array Int Int))) (<= 0 (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_5) |c_~#top~0.base|) |c_~#top~0.offset|))) (<= c_~next_alloc_idx~0 66)) (< c_~next_alloc_idx~0 65)) (or (and .cse0 (<= 0 (+ c_~next_alloc_idx~0 1)) (forall ((v_DerPreprocessor_4 (Array Int Int))) (<= (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_4) |c_~#top~0.base|) |c_~#top~0.offset|) 64)) (forall ((v_DerPreprocessor_4 (Array Int Int))) (<= 0 (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_4) |c_~#top~0.base|) |c_~#top~0.offset|)))) (< 64 c_~next_alloc_idx~0)))) is different from false [2024-09-24 12:12:34,040 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:34,041 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [576323187] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:12:34,041 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-09-24 12:12:34,041 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 9 [2024-09-24 12:12:34,041 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1763024096] [2024-09-24 12:12:34,041 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-09-24 12:12:34,042 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2024-09-24 12:12:34,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-09-24 12:12:34,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-09-24 12:12:34,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=50, Unknown=1, NotChecked=14, Total=90 [2024-09-24 12:12:34,043 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:34,043 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:12:34,043 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:12:34,043 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:34,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:12:34,297 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2024-09-24 12:12:34,483 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,7 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:34,484 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:12:34,484 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:12:34,484 INFO L85 PathProgramCache]: Analyzing trace with hash -508874389, now seen corresponding path program 1 times [2024-09-24 12:12:34,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-24 12:12:34,484 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [216861397] [2024-09-24 12:12:34,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:34,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-24 12:12:34,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:34,983 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:34,984 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-24 12:12:34,984 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [216861397] [2024-09-24 12:12:34,984 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [216861397] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-24 12:12:34,984 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [681808515] [2024-09-24 12:12:34,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:34,985 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:34,985 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:34,987 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-24 12:12:34,988 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2024-09-24 12:12:35,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:35,093 INFO L262 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 23 conjuncts are in the unsatisfiable core [2024-09-24 12:12:35,096 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:12:35,146 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:12:35,316 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-24 12:12:35,316 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-24 12:12:35,375 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:35,375 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:12:35,930 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:12:35,931 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 44 treesize of output 58 [2024-09-24 12:12:35,939 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:12:35,940 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-24 12:12:36,041 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:12:36,042 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 1062 treesize of output 1108 [2024-09-24 12:12:36,080 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 325 treesize of output 293 [2024-09-24 12:12:36,322 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 36 treesize of output 32 [2024-09-24 12:12:36,451 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:12:36,452 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [681808515] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:12:36,452 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-09-24 12:12:36,452 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 6] total 20 [2024-09-24 12:12:36,452 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [398236284] [2024-09-24 12:12:36,452 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-09-24 12:12:36,453 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2024-09-24 12:12:36,453 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-09-24 12:12:36,453 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-09-24 12:12:36,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=354, Unknown=0, NotChecked=0, Total=420 [2024-09-24 12:12:36,454 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:36,454 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:12:36,454 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 3.0952380952380953) internal successors, (65), 20 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:12:36,454 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:12:36,454 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:12:36,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:12:36,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-09-24 12:12:37,011 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2024-09-24 12:12:37,194 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,8 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:37,195 INFO L399 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:12:37,195 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:12:37,195 INFO L85 PathProgramCache]: Analyzing trace with hash -480245238, now seen corresponding path program 1 times [2024-09-24 12:12:37,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-24 12:12:37,196 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1504200274] [2024-09-24 12:12:37,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:37,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-24 12:12:37,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:12:37,217 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-09-24 12:12:37,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:12:37,251 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-09-24 12:12:37,252 INFO L326 BasicCegarLoop]: Counterexample is feasible [2024-09-24 12:12:37,252 INFO L785 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-09-24 12:12:37,252 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2024-09-24 12:12:37,256 INFO L408 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2024-09-24 12:12:37,256 INFO L312 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (1/3) [2024-09-24 12:12:37,256 WARN L239 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2024-09-24 12:12:37,256 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2024-09-24 12:12:37,296 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-24 12:12:37,299 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:37,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:12:37,301 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:37,302 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:12:37,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (9)] Waiting until timeout for monitored process [2024-09-24 12:12:37,306 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:12:37,307 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread3of3ForFork0 ======== [2024-09-24 12:12:37,307 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@7b8a6046, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:12:37,307 INFO L337 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-09-24 12:12:37,531 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:12:37,532 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:12:37,532 INFO L85 PathProgramCache]: Analyzing trace with hash 156017963, now seen corresponding path program 1 times [2024-09-24 12:12:37,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-09-24 12:12:37,532 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1365049231] [2024-09-24 12:12:37,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:37,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-09-24 12:12:37,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:37,957 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-24 12:12:37,958 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-09-24 12:12:37,958 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1365049231] [2024-09-24 12:12:37,958 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1365049231] provided 0 perfect and 1 imperfect interpolant sequences [2024-09-24 12:12:37,958 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1340024314] [2024-09-24 12:12:37,958 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:12:37,959 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:12:37,959 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:12:37,961 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-09-24 12:12:37,962 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2024-09-24 12:12:38,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:12:38,108 INFO L262 TraceCheckSpWp]: Trace formula consists of 235 conjuncts, 35 conjuncts are in the unsatisfiable core [2024-09-24 12:12:38,111 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:12:38,181 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2024-09-24 12:12:38,182 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2024-09-24 12:12:38,213 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 19 treesize of output 18 [2024-09-24 12:12:38,346 INFO L349 Elim1Store]: treesize reduction 17, result has 22.7 percent of original size [2024-09-24 12:12:38,346 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 21 treesize of output 13 [2024-09-24 12:12:38,409 INFO L349 Elim1Store]: treesize reduction 28, result has 49.1 percent of original size [2024-09-24 12:12:38,410 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 26 treesize of output 40 [2024-09-24 12:12:38,889 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:12:38,889 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 77 treesize of output 117 [2024-09-24 12:12:44,677 INFO L349 Elim1Store]: treesize reduction 248, result has 88.4 percent of original size [2024-09-24 12:12:44,678 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 18 select indices, 18 select index equivalence classes, 0 disjoint index pairs (out of 153 index pairs), introduced 18 new quantified variables, introduced 171 case distinctions, treesize of input 301 treesize of output 2079 [2024-09-24 12:19:58,155 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 101 [2024-09-24 12:19:58,156 WARN L320 FreeRefinementEngine]: Global settings require throwing the following exception [2024-09-24 12:19:58,172 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2024-09-24 12:19:58,356 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,10 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-09-24 12:19:58,357 FATAL L? ?]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) Connection to SMT solver broken at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.convertIOException(Executor.java:337) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.input(Executor.java:177) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.assertTerm(Scriptor.java:146) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript.assertTerm(DiffWrapperScript.java:111) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.assertTerm(WrapperScript.java:158) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.simplify(SimplifyDDA2.java:604) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SmtUtils.simplify(SmtUtils.java:252) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SmtUtils.simplifyWithStatistics(SmtUtils.java:324) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify(QuantifierPusher.java:731) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:133) 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.QuantifierPusher.pushInner(QuantifierPusher.java:275) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:194) 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$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.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.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:298) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:184) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:110) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:77) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:267) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:148) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:137) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:82) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:410) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:345) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:327) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:421) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:307) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:231) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:160) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:124) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Caused by: java.io.IOException: Broken pipe at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354) at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123) at java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:233) at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:303) at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:281) at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125) at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:208) at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120) at java.base/java.io.BufferedWriter.write(BufferedWriter.java:233) at java.base/java.io.Writer.write(Writer.java:249) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.input(Executor.java:174) ... 74 more [2024-09-24 12:19:58,363 INFO L158 Benchmark]: Toolchain (without parser) took 453530.75ms. Allocated memory was 148.9MB in the beginning and 2.7GB in the end (delta: 2.6GB). Free memory was 76.3MB in the beginning and 2.6GB in the end (delta: -2.5GB). Peak memory consumption was 1.6GB. Max. memory is 16.1GB. [2024-09-24 12:19:58,363 INFO L158 Benchmark]: CDTParser took 0.96ms. Allocated memory is still 117.4MB. Free memory was 79.2MB in the beginning and 79.1MB in the end (delta: 160.8kB). There was no memory consumed. Max. memory is 16.1GB. [2024-09-24 12:19:58,363 INFO L158 Benchmark]: Witness Parser took 1.28ms. Allocated memory is still 148.9MB. Free memory was 78.6MB in the beginning and 78.4MB in the end (delta: 216.7kB). There was no memory consumed. Max. memory is 16.1GB. [2024-09-24 12:19:58,363 INFO L158 Benchmark]: CACSL2BoogieTranslator took 610.67ms. Allocated memory is still 148.9MB. Free memory was 76.1MB in the beginning and 112.4MB in the end (delta: -36.3MB). Peak memory consumption was 22.6MB. Max. memory is 16.1GB. [2024-09-24 12:19:58,364 INFO L158 Benchmark]: Boogie Procedure Inliner took 54.17ms. Allocated memory is still 148.9MB. Free memory was 112.4MB in the beginning and 110.3MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-09-24 12:19:58,364 INFO L158 Benchmark]: Boogie Preprocessor took 39.64ms. Allocated memory is still 148.9MB. Free memory was 110.3MB in the beginning and 109.0MB in the end (delta: 1.3MB). There was no memory consumed. Max. memory is 16.1GB. [2024-09-24 12:19:58,364 INFO L158 Benchmark]: RCFGBuilder took 651.89ms. Allocated memory is still 148.9MB. Free memory was 108.9MB in the beginning and 75.5MB in the end (delta: 33.4MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. [2024-09-24 12:19:58,366 INFO L158 Benchmark]: TraceAbstraction took 452168.58ms. Allocated memory was 148.9MB in the beginning and 2.7GB in the end (delta: 2.6GB). Free memory was 74.7MB in the beginning and 2.6GB in the end (delta: -2.5GB). Peak memory consumption was 1.6GB. Max. memory is 16.1GB. [2024-09-24 12:19:58,367 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.96ms. Allocated memory is still 117.4MB. Free memory was 79.2MB in the beginning and 79.1MB in the end (delta: 160.8kB). There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 1.28ms. Allocated memory is still 148.9MB. Free memory was 78.6MB in the beginning and 78.4MB in the end (delta: 216.7kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 610.67ms. Allocated memory is still 148.9MB. Free memory was 76.1MB in the beginning and 112.4MB in the end (delta: -36.3MB). Peak memory consumption was 22.6MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 54.17ms. Allocated memory is still 148.9MB. Free memory was 112.4MB in the beginning and 110.3MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 39.64ms. Allocated memory is still 148.9MB. Free memory was 110.3MB in the beginning and 109.0MB in the end (delta: 1.3MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 651.89ms. Allocated memory is still 148.9MB. Free memory was 108.9MB in the beginning and 75.5MB in the end (delta: 33.4MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. * TraceAbstraction took 452168.58ms. Allocated memory was 148.9MB in the beginning and 2.7GB in the end (delta: 2.6GB). Free memory was 74.7MB in the beginning and 2.6GB in the end (delta: -2.5GB). Peak memory consumption was 1.6GB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Partial order reduction statistics Independence relation #1 benchmarks: ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 585, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 82, dependent conditional: 69, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 516, independent: 503, independent conditional: 0, independent unconditional: 503, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 0, independent unconditional: 503, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 191, independent: 178, independent conditional: 0, independent unconditional: 178, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 191, independent: 169, independent conditional: 0, independent unconditional: 169, dependent: 22, dependent conditional: 0, dependent unconditional: 22, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 22, independent: 9, independent conditional: 0, independent unconditional: 9, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 22, independent: 9, independent conditional: 0, independent unconditional: 9, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 113, independent: 68, independent conditional: 0, independent unconditional: 68, dependent: 45, dependent conditional: 0, dependent unconditional: 45, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 516, independent: 325, independent conditional: 0, independent unconditional: 325, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 191, unknown conditional: 0, unknown unconditional: 191] , Statistics on independence cache: Total cache size (in pairs): 191, Positive cache size: 178, Positive conditional cache size: 0, Positive unconditional cache size: 178, Negative cache size: 13, Negative conditional cache size: 0, Negative unconditional cache size: 13, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 228, Maximal queried relation: 0, Independence queries for same thread: 69, Persistent sets #1 benchmarks: Persistent set computation time: 0.1s, Number of persistent set computation: 55, Number of trivial persistent sets: 53, Underlying independence relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 288, independent: 275, independent conditional: 0, independent unconditional: 275, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 585, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 82, dependent conditional: 69, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 228, independent unconditional: 275, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 516, independent: 503, independent conditional: 0, independent unconditional: 503, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 516, independent: 503, independent conditional: 0, independent unconditional: 503, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 191, independent: 178, independent conditional: 0, independent unconditional: 178, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 191, independent: 169, independent conditional: 0, independent unconditional: 169, dependent: 22, dependent conditional: 0, dependent unconditional: 22, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 22, independent: 9, independent conditional: 0, independent unconditional: 9, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 22, independent: 9, independent conditional: 0, independent unconditional: 9, dependent: 13, dependent conditional: 0, dependent unconditional: 13, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 113, independent: 68, independent conditional: 0, independent unconditional: 68, dependent: 45, dependent conditional: 0, dependent unconditional: 45, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 516, independent: 325, independent conditional: 0, independent unconditional: 325, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 191, unknown conditional: 0, unknown unconditional: 191] , Statistics on independence cache: Total cache size (in pairs): 191, Positive cache size: 178, Positive conditional cache size: 0, Positive unconditional cache size: 178, Negative cache size: 13, Negative conditional cache size: 0, Negative unconditional cache size: 13, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 228, Maximal queried relation: 0, Independence queries for same thread: 69 - StatisticsResult: Partial order reduction statistics Independence relation #1 benchmarks: ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 163, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 7, dependent conditional: 4, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 159, independent: 156, independent conditional: 0, independent unconditional: 156, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 0, independent unconditional: 156, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 101, independent: 98, independent conditional: 0, independent unconditional: 98, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 101, independent: 96, independent conditional: 0, independent unconditional: 96, dependent: 5, dependent conditional: 0, dependent unconditional: 5, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 5, independent: 2, independent conditional: 0, independent unconditional: 2, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 5, independent: 2, independent conditional: 0, independent unconditional: 2, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 46, independent: 37, independent conditional: 0, independent unconditional: 37, dependent: 10, dependent conditional: 0, dependent unconditional: 10, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 159, independent: 58, independent conditional: 0, independent unconditional: 58, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 101, unknown conditional: 0, unknown unconditional: 101] , Statistics on independence cache: Total cache size (in pairs): 101, Positive cache size: 98, Positive conditional cache size: 0, Positive unconditional cache size: 98, Negative cache size: 3, Negative conditional cache size: 0, Negative unconditional cache size: 3, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 12, Maximal queried relation: 0, Independence queries for same thread: 4, Persistent sets #1 benchmarks: Persistent set computation time: 0.1s, Number of persistent set computation: 10, Number of trivial persistent sets: 8, Underlying independence relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 147, independent: 144, independent conditional: 0, independent unconditional: 144, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 163, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 7, dependent conditional: 4, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 12, independent unconditional: 144, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 159, independent: 156, independent conditional: 0, independent unconditional: 156, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 159, independent: 156, independent conditional: 0, independent unconditional: 156, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 101, independent: 98, independent conditional: 0, independent unconditional: 98, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 101, independent: 96, independent conditional: 0, independent unconditional: 96, dependent: 5, dependent conditional: 0, dependent unconditional: 5, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 5, independent: 2, independent conditional: 0, independent unconditional: 2, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 5, independent: 2, independent conditional: 0, independent unconditional: 2, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 46, independent: 37, independent conditional: 0, independent unconditional: 37, dependent: 10, dependent conditional: 0, dependent unconditional: 10, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Protected Queries: 0 ], Cache Queries: [ total: 159, independent: 58, independent conditional: 0, independent unconditional: 58, dependent: 0, dependent conditional: 0, dependent unconditional: 0, unknown: 101, unknown conditional: 0, unknown unconditional: 101] , Statistics on independence cache: Total cache size (in pairs): 101, Positive cache size: 98, Positive conditional cache size: 0, Positive unconditional cache size: 98, Negative cache size: 3, Negative conditional cache size: 0, Negative unconditional cache size: 3, Unknown cache size: 0, Unknown conditional cache size: 0, Unknown unconditional cache size: 0, Eliminated conditions: 12, Maximal queried relation: 0, Independence queries for same thread: 4 - StatisticsResult: Partial order reduction statistics Independence relation #1 benchmarks: ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 872, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 43, dependent conditional: 22, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 852, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 23, dependent conditional: 2, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 852, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 23, dependent conditional: 2, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 854, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 25, dependent conditional: 4, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 854, independent: 827, independent conditional: 0, independent unconditional: 827, dependent: 25, dependent conditional: 1, dependent unconditional: 24, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 854, independent: 827, independent conditional: 0, independent unconditional: 827, dependent: 25, dependent conditional: 1, dependent unconditional: 24, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 503, independent: 479, independent conditional: 0, independent unconditional: 479, dependent: 22, dependent conditional: 1, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 503, independent: 462, independent conditional: 0, independent unconditional: 462, dependent: 41, dependent conditional: 0, dependent unconditional: 41, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 41, independent: 17, independent conditional: 0, independent unconditional: 17, dependent: 22, dependent conditional: 1, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 41, independent: 17, independent conditional: 0, independent unconditional: 17, dependent: 22, dependent conditional: 1, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , SemanticIndependenceRelation.Query Time [ms]: [ total: 221, independent: 101, independent conditional: 0, independent unconditional: 101, dependent: 103, dependent conditional: 6, dependent unconditional: 97, unknown: 17, unknown conditional: 0, unknown unconditional: 17] , Protected Queries: 0 ], Cache Queries: [ total: 854, independent: 348, independent conditional: 0, independent unconditional: 348, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 503, unknown conditional: 1, unknown unconditional: 502] , Statistics on independence cache: Total cache size (in pairs): 501, Positive cache size: 479, Positive conditional cache size: 0, Positive unconditional cache size: 479, Negative cache size: 22, Negative conditional cache size: 1, Negative unconditional cache size: 21, Unknown cache size: 2, Unknown conditional cache size: 0, Unknown unconditional cache size: 2, Eliminated conditions: 192, Maximal queried relation: 1, Independence queries for same thread: 20, Persistent sets #1 benchmarks: Persistent set computation time: 0.2s, Number of persistent set computation: 35, Number of trivial persistent sets: 28, Underlying independence relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 661, independent: 638, independent conditional: 0, independent unconditional: 638, dependent: 21, dependent conditional: 0, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 872, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 43, dependent conditional: 22, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 852, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 23, dependent conditional: 2, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 852, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 23, dependent conditional: 2, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 854, independent: 827, independent conditional: 189, independent unconditional: 638, dependent: 25, dependent conditional: 4, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 854, independent: 827, independent conditional: 0, independent unconditional: 827, dependent: 25, dependent conditional: 1, dependent unconditional: 24, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 854, independent: 827, independent conditional: 0, independent unconditional: 827, dependent: 25, dependent conditional: 1, dependent unconditional: 24, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 503, independent: 479, independent conditional: 0, independent unconditional: 479, dependent: 22, dependent conditional: 1, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 503, independent: 462, independent conditional: 0, independent unconditional: 462, dependent: 41, dependent conditional: 0, dependent unconditional: 41, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ProtectedIndependenceRelation.Independence Queries: [ total: 41, independent: 17, independent conditional: 0, independent unconditional: 17, dependent: 22, dependent conditional: 1, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , ProtectedIndependenceRelation.Statistics on underlying relation: SemanticIndependenceRelation.Independence Queries: [ total: 41, independent: 17, independent conditional: 0, independent unconditional: 17, dependent: 22, dependent conditional: 1, dependent unconditional: 21, unknown: 2, unknown conditional: 0, unknown unconditional: 2] , SemanticIndependenceRelation.Query Time [ms]: [ total: 221, independent: 101, independent conditional: 0, independent unconditional: 101, dependent: 103, dependent conditional: 6, dependent unconditional: 97, unknown: 17, unknown conditional: 0, unknown unconditional: 17] , Protected Queries: 0 ], Cache Queries: [ total: 854, independent: 348, independent conditional: 0, independent unconditional: 348, dependent: 3, dependent conditional: 0, dependent unconditional: 3, unknown: 503, unknown conditional: 1, unknown unconditional: 502] , Statistics on independence cache: Total cache size (in pairs): 501, Positive cache size: 479, Positive conditional cache size: 0, Positive unconditional cache size: 479, Negative cache size: 22, Negative conditional cache size: 1, Negative unconditional cache size: 21, Unknown cache size: 2, Unknown conditional cache size: 0, Unknown unconditional cache size: 2, Eliminated conditions: 192, Maximal queried relation: 1, Independence queries for same thread: 20 - ExceptionOrErrorResult: SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) Connection to SMT solver broken de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) Connection to SMT solver broken: de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.convertIOException(Executor.java:337) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2024-09-24 12:19:58,401 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (9)] Forceful destruction successful, exit code 0 [2024-09-24 12:19:58,601 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (6)] Ended with exit code 0 [2024-09-24 12:19:58,801 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (5)] Forceful destruction successful, exit code 0 [2024-09-24 12:19:59,002 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i ./goblint.2024-09-02_08-21-23.files/protection-local/36_stack_cas_p0_vs_concur.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf --cacsl2boogietranslator.entry.function main --traceabstraction.positions.where.we.compute.the.hoare.annotation None --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-dev-e94c40d-m [2024-09-24 12:20:01,747 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-09-24 12:20:01,845 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf [2024-09-24 12:20:01,853 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-09-24 12:20:01,854 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-09-24 12:20:01,890 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-09-24 12:20:01,892 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-09-24 12:20:01,893 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-09-24 12:20:01,893 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-09-24 12:20:01,894 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-09-24 12:20:01,894 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-09-24 12:20:01,894 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-09-24 12:20:01,895 INFO L153 SettingsManager]: * Use SBE=true [2024-09-24 12:20:01,895 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-09-24 12:20:01,895 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-09-24 12:20:01,896 INFO L153 SettingsManager]: * sizeof long=4 [2024-09-24 12:20:01,898 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-09-24 12:20:01,899 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-09-24 12:20:01,902 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-09-24 12:20:01,903 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-09-24 12:20:01,903 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-09-24 12:20:01,903 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-09-24 12:20:01,904 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-09-24 12:20:01,904 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-09-24 12:20:01,904 INFO L153 SettingsManager]: * sizeof long double=12 [2024-09-24 12:20:01,905 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-09-24 12:20:01,905 INFO L153 SettingsManager]: * Use constant arrays=true [2024-09-24 12:20:01,907 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-09-24 12:20:01,907 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-09-24 12:20:01,907 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-09-24 12:20:01,908 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-09-24 12:20:01,908 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-24 12:20:01,908 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-09-24 12:20:01,908 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-09-24 12:20:01,909 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-09-24 12:20:01,909 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-09-24 12:20:01,919 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-09-24 12:20:01,920 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-09-24 12:20:01,920 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-09-24 12:20:01,920 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-09-24 12:20:01,921 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-09-24 12:20:01,927 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-09-24 12:20:01,927 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-09-24 12:20:01,927 INFO L153 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Positions where we compute the Hoare Annotation -> None Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Check unreachability of reach_error function -> false [2024-09-24 12:20:02,308 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-09-24 12:20:02,335 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-09-24 12:20:02,338 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-09-24 12:20:02,340 INFO L270 PluginConnector]: Initializing CDTParser... [2024-09-24 12:20:02,341 INFO L274 PluginConnector]: CDTParser initialized [2024-09-24 12:20:02,343 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-24 12:20:03,860 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-09-24 12:20:04,196 INFO L384 CDTParser]: Found 1 translation units. [2024-09-24 12:20:04,196 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/36_stack_cas_p0_vs_concur.i [2024-09-24 12:20:04,213 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/bf50ba32c/1222c8e7cc5b449fb8f4cf090d7f44d2/FLAG72f193b2b [2024-09-24 12:20:04,236 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/bf50ba32c/1222c8e7cc5b449fb8f4cf090d7f44d2 [2024-09-24 12:20:04,239 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-09-24 12:20:04,240 INFO L274 PluginConnector]: Witness Parser initialized [2024-09-24 12:20:04,241 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-09-02_08-21-23.files/protection-local/36_stack_cas_p0_vs_concur.yml/witness.yml [2024-09-24 12:20:04,310 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-09-24 12:20:04,312 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-09-24 12:20:04,313 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-09-24 12:20:04,313 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-09-24 12:20:04,320 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-09-24 12:20:04,321 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.09 12:20:04" (1/2) ... [2024-09-24 12:20:04,322 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@42924943 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.09 12:20:04, skipping insertion in model container [2024-09-24 12:20:04,322 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.09 12:20:04" (1/2) ... [2024-09-24 12:20:04,324 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@750c430d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.09 12:20:04, skipping insertion in model container [2024-09-24 12:20:04,325 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 24.09 12:20:04" (2/2) ... [2024-09-24 12:20:04,325 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@42924943 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:04, skipping insertion in model container [2024-09-24 12:20:04,325 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 24.09 12:20:04" (2/2) ... [2024-09-24 12:20:04,361 INFO L93 nessWitnessExtractor]: Found the following entries in the witness: [2024-09-24 12:20:04,362 INFO L1541 ArrayList]: Location invariant before [L732-L732] ((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 64)) && (next_alloc_idx % 2 == 1) [2024-09-24 12:20:04,362 INFO L1541 ArrayList]: Location invariant before [L721-L721] ((((0 <= top) && (1 <= next_alloc_idx)) && (next_alloc_idx <= 66)) && (top <= 64)) && (next_alloc_idx % 2 == 1) [2024-09-24 12:20:04,412 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-09-24 12:20:04,872 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-24 12:20:04,892 INFO L200 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local [2024-09-24 12:20:04,992 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-09-24 12:20:05,049 INFO L204 MainTranslator]: Completed translation [2024-09-24 12:20:05,050 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05 WrapperNode [2024-09-24 12:20:05,050 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-09-24 12:20:05,051 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-09-24 12:20:05,051 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-09-24 12:20:05,051 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-09-24 12:20:05,060 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 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,080 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 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,120 INFO L138 Inliner]: procedures = 176, calls = 41, calls flagged for inlining = 7, calls inlined = 7, statements flattened = 118 [2024-09-24 12:20:05,124 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-09-24 12:20:05,126 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-09-24 12:20:05,126 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-09-24 12:20:05,127 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-09-24 12:20:05,137 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,138 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,142 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,144 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,157 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,161 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,164 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,165 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,169 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-09-24 12:20:05,170 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-09-24 12:20:05,170 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-09-24 12:20:05,170 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-09-24 12:20:05,171 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (1/1) ... [2024-09-24 12:20:05,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-09-24 12:20:05,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:20:05,209 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-09-24 12:20:05,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-09-24 12:20:05,268 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2024-09-24 12:20:05,269 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2024-09-24 12:20:05,269 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2024-09-24 12:20:05,269 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-09-24 12:20:05,269 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-09-24 12:20:05,269 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-09-24 12:20:05,270 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-09-24 12:20:05,271 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2024-09-24 12:20:05,272 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2024-09-24 12:20:05,272 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2024-09-24 12:20:05,272 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-09-24 12:20:05,272 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-09-24 12:20:05,272 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-09-24 12:20:05,274 WARN L211 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-09-24 12:20:05,453 INFO L242 CfgBuilder]: Building ICFG [2024-09-24 12:20:05,456 INFO L268 CfgBuilder]: Building CFG for each procedure with an implementation [2024-09-24 12:20:05,805 INFO L287 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-09-24 12:20:05,805 INFO L291 CfgBuilder]: Performing block encoding [2024-09-24 12:20:06,029 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-09-24 12:20:06,029 INFO L318 CfgBuilder]: Removed 3 assume(true) statements. [2024-09-24 12:20:06,030 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.09 12:20:06 BoogieIcfgContainer [2024-09-24 12:20:06,030 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-09-24 12:20:06,032 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-09-24 12:20:06,032 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-09-24 12:20:06,035 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-09-24 12:20:06,036 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 24.09 12:20:04" (1/4) ... [2024-09-24 12:20:06,040 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@605b1cd5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 24.09 12:20:06, skipping insertion in model container [2024-09-24 12:20:06,040 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 24.09 12:20:04" (2/4) ... [2024-09-24 12:20:06,040 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@605b1cd5 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 24.09 12:20:06, skipping insertion in model container [2024-09-24 12:20:06,040 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 24.09 12:20:05" (3/4) ... [2024-09-24 12:20:06,040 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@605b1cd5 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 24.09 12:20:06, skipping insertion in model container [2024-09-24 12:20:06,041 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.09 12:20:06" (4/4) ... [2024-09-24 12:20:06,042 INFO L112 eAbstractionObserver]: Analyzing ICFG 36_stack_cas_p0_vs_concur.i [2024-09-24 12:20:06,062 INFO L209 ceAbstractionStarter]: Automizer settings: Hoare:None NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-09-24 12:20:06,063 INFO L149 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2024-09-24 12:20:06,063 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-09-24 12:20:06,126 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-24 12:20:06,178 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:06,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:20:06,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:20:06,183 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:20:06,186 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2024-09-24 12:20:06,235 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:20:06,251 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2024-09-24 12:20:06,260 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@1786f3bb, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:06,260 INFO L337 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-09-24 12:20:06,414 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:20:06,420 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:06,420 INFO L85 PathProgramCache]: Analyzing trace with hash -725969874, now seen corresponding path program 1 times [2024-09-24 12:20:06,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:06,435 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1855717330] [2024-09-24 12:20:06,435 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:06,435 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:06,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:06,454 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:06,456 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2024-09-24 12:20:06,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:06,576 INFO L262 TraceCheckSpWp]: Trace formula consists of 62 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-09-24 12:20:06,582 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:06,893 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-09-24 12:20:06,894 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 13 [2024-09-24 12:20:06,964 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-24 12:20:07,035 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:07,035 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:20:08,192 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:08,193 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-24 12:20:08,193 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1855717330] [2024-09-24 12:20:08,194 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1855717330] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:20:08,194 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-24 12:20:08,194 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 6 [2024-09-24 12:20:08,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [186037161] [2024-09-24 12:20:08,196 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-24 12:20:08,200 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-09-24 12:20:08,200 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-24 12:20:08,226 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-09-24 12:20:08,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=36, Unknown=2, NotChecked=0, Total=56 [2024-09-24 12:20:08,228 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:08,230 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:20:08,231 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 7 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:20:08,231 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:08,597 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:08,604 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-09-24 12:20:08,798 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:08,799 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:20:08,800 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:08,800 INFO L85 PathProgramCache]: Analyzing trace with hash 128964277, now seen corresponding path program 1 times [2024-09-24 12:20:08,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:08,800 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [51954898] [2024-09-24 12:20:08,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:08,802 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:08,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:08,805 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:08,806 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2024-09-24 12:20:08,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:08,899 INFO L262 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 15 conjuncts are in the unsatisfiable core [2024-09-24 12:20:08,902 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:09,000 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:20:09,289 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-24 12:20:09,290 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-24 12:20:09,422 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:09,423 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:20:10,316 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:10,317 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-24 12:20:10,329 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:10,330 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-24 12:20:10,430 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 130 treesize of output 116 [2024-09-24 12:20:10,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 5 treesize of output 3 [2024-09-24 12:20:10,469 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 40 [2024-09-24 12:20:10,614 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:10,615 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-24 12:20:10,615 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [51954898] [2024-09-24 12:20:10,615 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [51954898] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:20:10,616 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-24 12:20:10,616 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 11 [2024-09-24 12:20:10,616 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1736225435] [2024-09-24 12:20:10,616 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-24 12:20:10,617 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-09-24 12:20:10,618 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-24 12:20:10,618 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-09-24 12:20:10,619 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=116, Unknown=3, NotChecked=0, Total=156 [2024-09-24 12:20:10,619 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:10,619 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:20:10,620 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:20:10,620 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:10,620 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:13,263 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:13,265 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2024-09-24 12:20:13,268 INFO L785 garLoopResultBuilder]: Registering result SAFE for location thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 2 remaining) [2024-09-24 12:20:13,268 INFO L785 garLoopResultBuilder]: Registering result SAFE for location thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT (0 of 2 remaining) [2024-09-24 12:20:13,274 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Ended with exit code 0 [2024-09-24 12:20:13,469 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:13,475 INFO L408 BasicCegarLoop]: Path program histogram: [1, 1] [2024-09-24 12:20:13,477 INFO L312 ceAbstractionStarter]: Result for error location thr1Thread1of1ForFork0 was SAFE,SAFE (1/2) [2024-09-24 12:20:13,481 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:13,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:20:13,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:20:13,483 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:20:13,485 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (5)] Waiting until timeout for monitored process [2024-09-24 12:20:13,490 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:20:13,491 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-09-24 12:20:13,491 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@1786f3bb, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:13,492 INFO L337 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-09-24 12:20:13,557 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:20:13,558 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:13,558 INFO L85 PathProgramCache]: Analyzing trace with hash -420866708, now seen corresponding path program 1 times [2024-09-24 12:20:13,558 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:13,558 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [984476574] [2024-09-24 12:20:13,559 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:13,559 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:13,559 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:13,562 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:13,564 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 (6)] Waiting until timeout for monitored process [2024-09-24 12:20:13,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:20:13,631 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-09-24 12:20:13,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:20:13,687 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2024-09-24 12:20:13,687 INFO L326 BasicCegarLoop]: Counterexample is feasible [2024-09-24 12:20:13,687 INFO L785 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-09-24 12:20:13,698 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 (6)] Ended with exit code 0 [2024-09-24 12:20:13,891 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:13,893 INFO L408 BasicCegarLoop]: Path program histogram: [1] [2024-09-24 12:20:13,893 INFO L312 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (2/2) [2024-09-24 12:20:13,894 WARN L239 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2024-09-24 12:20:13,894 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2024-09-24 12:20:13,931 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-24 12:20:13,935 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:13,935 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:20:13,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:20:13,937 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:20:13,939 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (7)] Waiting until timeout for monitored process [2024-09-24 12:20:13,941 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:20:13,942 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2024-09-24 12:20:13,943 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@1786f3bb, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:13,944 INFO L337 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2024-09-24 12:20:14,195 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:20:14,196 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:14,196 INFO L85 PathProgramCache]: Analyzing trace with hash -2119850604, now seen corresponding path program 1 times [2024-09-24 12:20:14,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:14,197 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1898751794] [2024-09-24 12:20:14,197 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:14,197 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:14,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:14,200 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:14,201 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 (8)] Waiting until timeout for monitored process [2024-09-24 12:20:14,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:14,311 INFO L262 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-09-24 12:20:14,313 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:14,400 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-09-24 12:20:14,401 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 13 [2024-09-24 12:20:14,433 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-24 12:20:14,501 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:14,501 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:20:14,725 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (not .cse0) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_4) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))) (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_4) |c_~#top~0.base|) |c_~#top~0.offset|))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))))) (or (and (forall ((v_DerPreprocessor_5 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_5) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))) (forall ((v_DerPreprocessor_5 (Array (_ BitVec 32) (_ BitVec 32)))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_5) |c_~#top~0.base|) |c_~#top~0.offset|))) (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32))) .cse0))) is different from false [2024-09-24 12:20:15,213 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:15,213 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-24 12:20:15,214 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1898751794] [2024-09-24 12:20:15,214 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1898751794] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:20:15,214 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-24 12:20:15,214 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2024-09-24 12:20:15,214 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385435709] [2024-09-24 12:20:15,214 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-24 12:20:15,215 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-09-24 12:20:15,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-24 12:20:15,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-09-24 12:20:15,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-09-24 12:20:15,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:15,216 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:20:15,216 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:20:15,216 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:15,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:15,979 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 (8)] Forceful destruction successful, exit code 0 [2024-09-24 12:20:16,172 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:16,172 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:20:16,173 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:16,173 INFO L85 PathProgramCache]: Analyzing trace with hash -793137555, now seen corresponding path program 1 times [2024-09-24 12:20:16,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:16,174 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [727515205] [2024-09-24 12:20:16,174 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:16,174 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:16,174 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:16,180 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:16,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (9)] Waiting until timeout for monitored process [2024-09-24 12:20:16,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:16,305 INFO L262 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 15 conjuncts are in the unsatisfiable core [2024-09-24 12:20:16,307 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:16,381 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:20:16,623 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-24 12:20:16,624 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-24 12:20:16,738 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:16,738 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:20:17,059 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse0 (= |c_thr1Thread1of2ForFork0_push_~oldTop~0#1| (select .cse3 |c_~#top~0.offset|)))) (let ((.cse1 (store |c_#memory_int| |c_~#top~0.base| (store .cse3 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of2ForFork0_push_~#newTop~0#1.offset|)))) (.cse2 (not .cse0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (or (forall ((v_DerPreprocessor_8 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of2ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store |c_#memory_int| |thr1Thread1of2ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_8) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))) .cse0) (or (forall ((v_DerPreprocessor_6 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of2ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store |c_#memory_int| |thr1Thread1of2ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_6) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse0) (or (forall ((|thr1Thread1of2ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse1 |thr1Thread1of2ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of2ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of2ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))) .cse2) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (or (forall ((|thr1Thread1of2ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (_ bv0 32) (select (select (store .cse1 |thr1Thread1of2ForFork0_push_~#ret~0#1.base| (store (select .cse1 |thr1Thread1of2ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of2ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse2))))) is different from false [2024-09-24 12:20:17,326 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:17,326 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-24 12:20:17,337 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:17,337 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-24 12:20:17,410 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 130 treesize of output 116 [2024-09-24 12:20:17,449 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2024-09-24 12:20:17,456 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 40 [2024-09-24 12:20:17,566 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:17,566 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-24 12:20:17,566 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [727515205] [2024-09-24 12:20:17,567 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [727515205] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:20:17,567 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-24 12:20:17,567 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 12 [2024-09-24 12:20:17,567 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1795503714] [2024-09-24 12:20:17,567 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-24 12:20:17,568 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-09-24 12:20:17,568 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-24 12:20:17,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-09-24 12:20:17,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=100, Unknown=1, NotChecked=20, Total=156 [2024-09-24 12:20:17,570 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:17,571 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:20:17,571 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 3.4615384615384617) internal successors, (45), 12 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:20:17,571 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:17,571 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:18,464 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:18,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-09-24 12:20:18,472 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-09-24 12:20:18,666 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:18,667 INFO L399 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-09-24 12:20:18,667 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:18,667 INFO L85 PathProgramCache]: Analyzing trace with hash -764508404, now seen corresponding path program 1 times [2024-09-24 12:20:18,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:18,668 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1950097137] [2024-09-24 12:20:18,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:18,668 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:18,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:18,669 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:18,671 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2024-09-24 12:20:18,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:20:18,774 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-09-24 12:20:18,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-09-24 12:20:18,919 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2024-09-24 12:20:18,920 INFO L326 BasicCegarLoop]: Counterexample is feasible [2024-09-24 12:20:18,920 INFO L785 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2024-09-24 12:20:18,931 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 (10)] Ended with exit code 0 [2024-09-24 12:20:19,120 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:19,122 INFO L408 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2024-09-24 12:20:19,122 INFO L312 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (1/3) [2024-09-24 12:20:19,122 WARN L239 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2024-09-24 12:20:19,122 INFO L484 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2024-09-24 12:20:19,157 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2024-09-24 12:20:19,160 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:19,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-09-24 12:20:19,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-09-24 12:20:19,162 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2024-09-24 12:20:19,165 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (11)] Waiting until timeout for monitored process [2024-09-24 12:20:19,167 INFO L157 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-09-24 12:20:19,168 INFO L335 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread3of3ForFork0 ======== [2024-09-24 12:20:19,169 INFO L336 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@1786f3bb, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-09-24 12:20:19,169 INFO L337 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2024-09-24 12:20:19,530 INFO L399 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:20:19,531 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:19,531 INFO L85 PathProgramCache]: Analyzing trace with hash -1538582293, now seen corresponding path program 1 times [2024-09-24 12:20:19,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:19,532 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [6807367] [2024-09-24 12:20:19,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:19,532 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:19,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:19,534 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:19,536 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 (12)] Waiting until timeout for monitored process [2024-09-24 12:20:19,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:19,681 INFO L262 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-09-24 12:20:19,684 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:19,745 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2024-09-24 12:20:19,746 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 13 [2024-09-24 12:20:19,785 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2024-09-24 12:20:19,828 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-24 12:20:19,828 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:20:19,971 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (and (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)))) (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|) (_ bv64 32))) (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32))) .cse0) (or (not .cse0) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (= (_ 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)))) (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|) (_ bv64 32))))))) is different from false [2024-09-24 12:20:20,413 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-24 12:20:20,414 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-24 12:20:20,414 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [6807367] [2024-09-24 12:20:20,414 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [6807367] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:20:20,414 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-24 12:20:20,414 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2024-09-24 12:20:20,414 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [798525028] [2024-09-24 12:20:20,414 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-24 12:20:20,415 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2024-09-24 12:20:20,415 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-24 12:20:20,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-09-24 12:20:20,416 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=28, Unknown=1, NotChecked=10, Total=56 [2024-09-24 12:20:20,416 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:20,416 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:20:20,416 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.375) internal successors, (43), 7 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:20:20,416 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:22,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:22,029 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 (12)] Forceful destruction successful, exit code 0 [2024-09-24 12:20:22,224 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:22,225 INFO L399 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:20:22,225 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:22,225 INFO L85 PathProgramCache]: Analyzing trace with hash 1117765138, now seen corresponding path program 1 times [2024-09-24 12:20:22,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:22,226 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1465989336] [2024-09-24 12:20:22,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:22,226 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:22,226 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:22,228 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:22,229 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2024-09-24 12:20:22,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:22,376 INFO L262 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 16 conjuncts are in the unsatisfiable core [2024-09-24 12:20:22,391 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:22,446 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:20:22,619 INFO L349 Elim1Store]: treesize reduction 70, result has 17.6 percent of original size [2024-09-24 12:20:22,620 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 35 treesize of output 25 [2024-09-24 12:20:22,709 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-24 12:20:22,709 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:20:22,893 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse0 (= |c_thr1Thread1of3ForFork0_push_~oldTop~0#1| (select .cse3 |c_~#top~0.offset|)))) (let ((.cse1 (store |c_#memory_int| |c_~#top~0.base| (store .cse3 |c_~#top~0.offset| |c_thr1Thread1of3ForFork0_push_#t~mem10#1|))) (.cse2 (not .cse0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (or .cse0 (forall ((v_DerPreprocessor_13 (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_13) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)))) (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|) (_ bv64 32))) .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) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))))))) is different from false [2024-09-24 12:20:22,950 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (select |c_#memory_int| |c_~#top~0.base|))) (let ((.cse0 (= |c_thr1Thread1of3ForFork0_push_~oldTop~0#1| (select .cse3 |c_~#top~0.offset|)))) (let ((.cse2 (store |c_#memory_int| |c_~#top~0.base| (store .cse3 |c_~#top~0.offset| (select (select |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|)))) (.cse1 (not .cse0))) (and (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (or .cse0 (forall ((v_DerPreprocessor_13 (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_13) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)))) (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 .cse1 (forall ((|thr1Thread1of3ForFork0_push_~#ret~0#1.base| (_ BitVec 32))) (bvsle (select (select (store .cse2 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 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 .cse2 |thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse2 |thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32))) |c_~#top~0.base|) |c_~#top~0.offset|))) .cse1))))) is different from false [2024-09-24 12:20:23,159 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:23,160 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-24 12:20:23,169 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:23,169 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-24 12:20:23,360 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:23,361 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 1065 treesize of output 1083 [2024-09-24 12:20:23,392 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 330 treesize of output 314 [2024-09-24 12:20:23,409 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 306 treesize of output 290 [2024-09-24 12:20:23,572 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 22 [2024-09-24 12:20:23,664 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-09-24 12:20:23,664 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-24 12:20:23,665 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1465989336] [2024-09-24 12:20:23,665 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1465989336] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:20:23,665 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-24 12:20:23,665 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 12 [2024-09-24 12:20:23,665 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1773622541] [2024-09-24 12:20:23,665 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-24 12:20:23,666 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-09-24 12:20:23,667 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-24 12:20:23,667 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-09-24 12:20:23,668 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=82, Unknown=2, NotChecked=38, Total=156 [2024-09-24 12:20:23,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:23,668 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:20:23,668 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 12 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:20:23,668 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:23,668 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:25,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:25,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2024-09-24 12:20:25,616 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (13)] Ended with exit code 0 [2024-09-24 12:20:25,808 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:25,809 INFO L399 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:20:25,809 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:25,809 INFO L85 PathProgramCache]: Analyzing trace with hash 744717030, now seen corresponding path program 1 times [2024-09-24 12:20:25,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:25,810 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1802041597] [2024-09-24 12:20:25,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:25,810 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:25,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:25,811 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:25,812 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2024-09-24 12:20:26,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:26,021 INFO L262 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 22 conjuncts are in the unsatisfiable core [2024-09-24 12:20:26,024 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:26,224 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:20:26,440 INFO L349 Elim1Store]: treesize reduction 13, result has 45.8 percent of original size [2024-09-24 12:20:26,441 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 19 treesize of output 22 [2024-09-24 12:20:26,891 INFO L349 Elim1Store]: treesize reduction 36, result has 61.7 percent of original size [2024-09-24 12:20:26,892 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 6 case distinctions, treesize of input 42 treesize of output 83 [2024-09-24 12:20:27,283 INFO L349 Elim1Store]: treesize reduction 93, result has 41.9 percent of original size [2024-09-24 12:20:27,283 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 6 case distinctions, treesize of input 74 treesize of output 100 [2024-09-24 12:20:28,215 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:28,215 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:20:37,566 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:37,566 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 43 treesize of output 57 [2024-09-24 12:20:37,583 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:37,583 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 8 [2024-09-24 12:20:41,739 INFO L349 Elim1Store]: treesize reduction 60, result has 49.2 percent of original size [2024-09-24 12:20:41,740 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 9 case distinctions, treesize of input 1780 treesize of output 1724 [2024-09-24 12:20:41,785 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 858 treesize of output 842 [2024-09-24 12:20:41,836 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 826 treesize of output 810 [2024-09-24 12:20:42,922 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:42,923 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 1753 treesize of output 1679 [2024-09-24 12:20:42,988 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 663 treesize of output 647 [2024-09-24 12:20:43,024 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 631 treesize of output 615 [2024-09-24 12:20:43,682 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 36 treesize of output 32 [2024-09-24 12:20:44,801 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:20:44,801 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 38 treesize of output 54 [2024-09-24 12:20:45,073 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 8 proven. 4 refuted. 8 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:20:45,073 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2024-09-24 12:20:45,073 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1802041597] [2024-09-24 12:20:45,073 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1802041597] provided 0 perfect and 2 imperfect interpolant sequences [2024-09-24 12:20:45,073 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-09-24 12:20:45,073 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 18 [2024-09-24 12:20:45,074 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1656936115] [2024-09-24 12:20:45,074 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-09-24 12:20:45,074 INFO L551 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2024-09-24 12:20:45,074 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2024-09-24 12:20:45,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2024-09-24 12:20:45,075 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=256, Unknown=14, NotChecked=0, Total=342 [2024-09-24 12:20:45,075 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:45,075 INFO L474 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-09-24 12:20:45,075 INFO L475 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 4.473684210526316) internal successors, (85), 18 states have internal predecessors, (85), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-09-24 12:20:45,075 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:45,075 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 12 states. [2024-09-24 12:20:45,076 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-09-24 12:20:58,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-09-24 12:20:58,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2024-09-24 12:20:58,626 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2024-09-24 12:20:58,632 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 (14)] Forceful destruction successful, exit code 0 [2024-09-24 12:20:58,826 WARN L456 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:58,827 INFO L399 AbstractCegarLoop]: === Iteration 4 === Targeting thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT === [thr1Err0ASSERT_VIOLATIONWITNESS_INVARIANT, thr1Err1ASSERT_VIOLATIONWITNESS_INVARIANT] === [2024-09-24 12:20:58,827 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-09-24 12:20:58,827 INFO L85 PathProgramCache]: Analyzing trace with hash -949830871, now seen corresponding path program 1 times [2024-09-24 12:20:58,827 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2024-09-24 12:20:58,828 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [241792575] [2024-09-24 12:20:58,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-09-24 12:20:58,828 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2024-09-24 12:20:58,828 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2024-09-24 12:20:58,829 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2024-09-24 12:20:58,830 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2024-09-24 12:20:59,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-09-24 12:20:59,113 INFO L262 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 32 conjuncts are in the unsatisfiable core [2024-09-24 12:20:59,119 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-09-24 12:20:59,274 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:20:59,293 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 0 case distinctions, treesize of input 6 treesize of output 7 [2024-09-24 12:20:59,343 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 8 treesize of output 1 [2024-09-24 12:20:59,466 INFO L349 Elim1Store]: treesize reduction 22, result has 29.0 percent of original size [2024-09-24 12:20:59,467 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 22 treesize of output 24 [2024-09-24 12:20:59,542 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-09-24 12:20:59,807 INFO L349 Elim1Store]: treesize reduction 13, result has 45.8 percent of original size [2024-09-24 12:20:59,808 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 24 treesize of output 30 [2024-09-24 12:20:59,815 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 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 20 treesize of output 15 [2024-09-24 12:21:00,067 INFO L349 Elim1Store]: treesize reduction 13, result has 45.8 percent of original size [2024-09-24 12:21:00,068 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 1 case distinctions, treesize of input 23 treesize of output 26 [2024-09-24 12:21:00,734 INFO L349 Elim1Store]: treesize reduction 60, result has 49.2 percent of original size [2024-09-24 12:21:00,734 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 9 case distinctions, treesize of input 64 treesize of output 97 [2024-09-24 12:21:01,225 INFO L349 Elim1Store]: treesize reduction 124, result has 52.5 percent of original size [2024-09-24 12:21:01,225 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 5 select indices, 5 select index equivalence classes, 1 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 14 case distinctions, treesize of input 115 treesize of output 195 [2024-09-24 12:21:10,595 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 3 proven. 26 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-09-24 12:21:10,595 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-09-24 12:21:12,056 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 ((.cse1 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse10 (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse10 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse10))))))) (and (or (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) .cse1) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse4 (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20))) (let ((.cse5 (select .cse4 |c_~#top~0.base|))) (let ((.cse2 (select .cse5 |c_~#top~0.offset|))) (or (not (bvsle .cse2 (_ bv64 32))) (bvsle (select (select (let ((.cse3 (store .cse4 |c_~#top~0.base| (store .cse5 |c_~#top~0.offset| (select (select .cse4 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse3 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse3 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle (_ bv0 32) .cse2))))))) (or (bvsle c_~next_alloc_idx~0 (_ bv66 32)) .cse1) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse8 (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20))) (let ((.cse9 (select .cse8 |c_~#top~0.base|))) (let ((.cse6 (select .cse9 |c_~#top~0.offset|))) (or (not (bvsle .cse6 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse7 (store .cse8 |c_~#top~0.base| (store .cse9 |c_~#top~0.offset| (select (select .cse8 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse7 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse7 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle (_ bv0 32) .cse6)))))))))) (or .cse0 (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse13 (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)))) (let ((.cse14 (select .cse13 |c_~#top~0.base|))) (let ((.cse11 (select .cse14 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse11)) (bvsle (_ bv0 32) (select (select (let ((.cse12 (store .cse13 |c_~#top~0.base| (store .cse14 |c_~#top~0.offset| (select (select .cse13 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse12 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse12 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse11 (_ bv64 32)))))))) (or (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse15 (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|))) (or (not (bvsle (_ bv0 32) .cse15)) (not (bvsle .cse15 (_ bv64 32)))))) (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse17 (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)))) (let ((.cse18 (select .cse17 |c_~#top~0.base|))) (let ((.cse19 (select .cse18 |c_~#top~0.offset|))) (or (bvsle (select (select (let ((.cse16 (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| (select (select .cse17 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse16 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse16 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle (_ bv0 32) .cse19)) (not (bvsle .cse19 (_ bv64 32)))))))))))) is different from false [2024-09-24 12:21:12,550 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 ((.cse1 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse10 (select (select (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse10 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse10))))))) (and (or (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) .cse1) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse4 (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20))) (let ((.cse5 (select .cse4 |c_~#top~0.base|))) (let ((.cse2 (select .cse5 |c_~#top~0.offset|))) (or (not (bvsle .cse2 (_ bv64 32))) (bvsle (select (select (let ((.cse3 (store .cse4 |c_~#top~0.base| (store .cse5 |c_~#top~0.offset| (select (select .cse4 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse3 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse3 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle (_ bv0 32) .cse2))))))) (or (bvsle c_~next_alloc_idx~0 (_ bv66 32)) .cse1) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse8 (store |c_#memory_int| |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20))) (let ((.cse9 (select .cse8 |c_~#top~0.base|))) (let ((.cse6 (select .cse9 |c_~#top~0.offset|))) (or (not (bvsle .cse6 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse7 (store .cse8 |c_~#top~0.base| (store .cse9 |c_~#top~0.offset| (select (select .cse8 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse7 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse7 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle (_ bv0 32) .cse6)))))))))) (or (and (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse13 (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)))) (let ((.cse14 (select .cse13 |c_~#top~0.base|))) (let ((.cse11 (select .cse14 |c_~#top~0.offset|))) (or (not (bvsle .cse11 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse12 (store .cse13 |c_~#top~0.base| (store .cse14 |c_~#top~0.offset| (select (select .cse13 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse12 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse12 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle (_ bv0 32) .cse11))))))) (or (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32)) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse15 (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|))) (or (not (bvsle .cse15 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse15)))))) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32))) (let ((.cse18 (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)))) (let ((.cse19 (select .cse18 |c_~#top~0.base|))) (let ((.cse16 (select .cse19 |c_~#top~0.offset|))) (or (not (bvsle .cse16 (_ bv64 32))) (bvsle (select (select (let ((.cse17 (store .cse18 |c_~#top~0.base| (store .cse19 |c_~#top~0.offset| (select (select .cse18 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse17 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse17 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle (_ bv0 32) .cse16)))))))) .cse0))) is different from false [2024-09-24 12:21:15,028 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse32 (select |c_#memory_int| |c_~#top~0.base|)) (.cse27 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (let ((.cse4 (bvsle c_~next_alloc_idx~0 (_ bv66 32))) (.cse3 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse1 (not .cse27)) (.cse21 (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32))) (.cse0 (= |c_thr1Thread2of3ForFork0_push_~oldTop~0#1| (select .cse32 |c_~#top~0.offset|)))) (and (or .cse0 (and (or .cse1 (and (or (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_98 (_ BitVec 32)) (v_prenex_99 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse2 (select (select (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) v_prenex_98 v_prenex_99) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse2 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse2))))) .cse3) (or .cse4 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (select (select (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse5)) (not (bvsle .cse5 (_ bv64 32))))))) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_103 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_102 (_ BitVec 32))) (let ((.cse7 (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) v_prenex_102 v_prenex_103))) (let ((.cse8 (select .cse7 |c_~#top~0.base|))) (let ((.cse9 (select .cse8 |c_~#top~0.offset|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse6 (store .cse7 |c_~#top~0.base| (store .cse8 |c_~#top~0.offset| (select (select .cse7 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse6 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse6 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse9 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse9))))))) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_101 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_100 (_ BitVec 32))) (let ((.cse11 (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) v_prenex_100 v_prenex_101))) (let ((.cse12 (select .cse11 |c_~#top~0.base|))) (let ((.cse13 (select .cse12 |c_~#top~0.offset|))) (or (bvsle (select (select (let ((.cse10 (store .cse11 |c_~#top~0.base| (store .cse12 |c_~#top~0.offset| (select (select .cse11 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse10 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle .cse13 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse13))))))))) (or (and (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_105 (_ BitVec 32))) (let ((.cse16 (let ((.cse18 (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (store .cse18 v_prenex_105 (store (select .cse18 v_prenex_105) (_ bv0 32) c_~next_alloc_idx~0))))) (let ((.cse17 (select .cse16 |c_~#top~0.base|))) (let ((.cse14 (select .cse17 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse14)) (bvsle (_ bv0 32) (select (select (let ((.cse15 (store .cse16 |c_~#top~0.base| (store .cse17 |c_~#top~0.offset| (select (select .cse16 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse15 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse15 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse14 (_ bv64 32)))))))) (or (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_104 (_ BitVec 32))) (let ((.cse19 (select (select (let ((.cse20 (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (store .cse20 v_prenex_104 (store (select .cse20 v_prenex_104) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse19)) (not (bvsle .cse19 (_ bv64 32)))))) .cse21) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_106 (_ BitVec 32))) (let ((.cse24 (let ((.cse26 (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (store .cse26 v_prenex_106 (store (select .cse26 v_prenex_106) (_ bv0 32) c_~next_alloc_idx~0))))) (let ((.cse25 (select .cse24 |c_~#top~0.base|))) (let ((.cse22 (select .cse25 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse22)) (not (bvsle .cse22 (_ bv64 32))) (bvsle (select (select (let ((.cse23 (store .cse24 |c_~#top~0.base| (store .cse25 |c_~#top~0.offset| (select (select .cse24 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse23 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse23 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)))))))) .cse27))) (or (and (or (and (forall ((v_prenex_93 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse31 (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94))) (let ((.cse30 (select .cse31 |c_~#top~0.base|))) (let ((.cse28 (select .cse30 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse28)) (not (bvsle .cse28 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse29 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse30 |c_~#top~0.offset| (select (select .cse31 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|))))))) (or .cse4 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse33 (select (select (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse33 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse33)))))) (or .cse3 (forall ((v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse34 (select (select (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse34)) (not (bvsle .cse34 (_ bv64 32))))))) (forall ((v_prenex_91 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse38 (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92))) (let ((.cse37 (select .cse38 |c_~#top~0.base|))) (let ((.cse35 (select .cse37 |c_~#top~0.offset|))) (or (not (bvsle .cse35 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse35)) (bvsle (select (select (let ((.cse36 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse37 |c_~#top~0.offset| (select (select .cse38 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse36 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse36 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)))))))) .cse1) (or (and (forall ((v_prenex_96 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse44 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse40 (store (select .cse44 v_prenex_96) (_ bv0 32) c_~next_alloc_idx~0))) (let ((.cse42 (store .cse44 v_prenex_96 .cse40))) (let ((.cse41 (select .cse42 |c_~#top~0.base|))) (let ((.cse43 (select .cse41 |c_~#top~0.offset|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse39 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_96 .cse40) |c_~#top~0.base| (store .cse41 |c_~#top~0.offset| (select (select .cse42 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse39 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse39 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse43 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse43))))))))) (forall ((v_prenex_97 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse50 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse47 (store (select .cse50 v_prenex_97) (_ bv0 32) c_~next_alloc_idx~0))) (let ((.cse49 (store .cse50 v_prenex_97 .cse47))) (let ((.cse48 (select .cse49 |c_~#top~0.base|))) (let ((.cse45 (select .cse48 |c_~#top~0.offset|))) (or (not (bvsle .cse45 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse45)) (bvsle (select (select (let ((.cse46 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_97 .cse47) |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| (select (select .cse49 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse46 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse46 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))))))))) (or (forall ((v_prenex_95 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse51 (select (select (let ((.cse52 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (store .cse52 v_prenex_95 (store (select .cse52 v_prenex_95) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse51)) (not (bvsle .cse51 (_ bv64 32)))))) .cse21)) .cse27)) (not .cse0))))) is different from false [2024-09-24 12:21:17,048 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse32 (select |c_#memory_int| |c_~#top~0.base|)) (.cse27 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (let ((.cse4 (bvsle c_~next_alloc_idx~0 (_ bv66 32))) (.cse3 (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))) (.cse1 (not .cse27)) (.cse21 (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32))) (.cse0 (= |c_thr1Thread2of3ForFork0_push_~oldTop~0#1| (select .cse32 |c_~#top~0.offset|)))) (and (or .cse0 (and (or .cse1 (and (or (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_98 (_ BitVec 32)) (v_prenex_99 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse2 (select (select (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) v_prenex_98 v_prenex_99) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse2 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse2))))) .cse3) (or .cse4 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (select (select (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse5)) (not (bvsle .cse5 (_ bv64 32))))))) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_103 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_102 (_ BitVec 32))) (let ((.cse7 (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) v_prenex_102 v_prenex_103))) (let ((.cse8 (select .cse7 |c_~#top~0.base|))) (let ((.cse9 (select .cse8 |c_~#top~0.offset|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse6 (store .cse7 |c_~#top~0.base| (store .cse8 |c_~#top~0.offset| (select (select .cse7 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse6 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse6 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse9 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse9))))))) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_101 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_100 (_ BitVec 32))) (let ((.cse11 (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22) v_prenex_100 v_prenex_101))) (let ((.cse12 (select .cse11 |c_~#top~0.base|))) (let ((.cse13 (select .cse12 |c_~#top~0.offset|))) (or (bvsle (select (select (let ((.cse10 (store .cse11 |c_~#top~0.base| (store .cse12 |c_~#top~0.offset| (select (select .cse11 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse10 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse10 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle .cse13 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse13))))))))) (or (and (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_105 (_ BitVec 32))) (let ((.cse16 (let ((.cse18 (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (store .cse18 v_prenex_105 (store (select .cse18 v_prenex_105) (_ bv0 32) c_~next_alloc_idx~0))))) (let ((.cse17 (select .cse16 |c_~#top~0.base|))) (let ((.cse14 (select .cse17 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse14)) (bvsle (_ bv0 32) (select (select (let ((.cse15 (store .cse16 |c_~#top~0.base| (store .cse17 |c_~#top~0.offset| (select (select .cse16 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse15 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse15 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse14 (_ bv64 32)))))))) (or (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_104 (_ BitVec 32))) (let ((.cse19 (select (select (let ((.cse20 (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (store .cse20 v_prenex_104 (store (select .cse20 v_prenex_104) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse19)) (not (bvsle .cse19 (_ bv64 32)))))) .cse21) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_106 (_ BitVec 32))) (let ((.cse24 (let ((.cse26 (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_22))) (store .cse26 v_prenex_106 (store (select .cse26 v_prenex_106) (_ bv0 32) c_~next_alloc_idx~0))))) (let ((.cse25 (select .cse24 |c_~#top~0.base|))) (let ((.cse22 (select .cse25 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse22)) (not (bvsle .cse22 (_ bv64 32))) (bvsle (select (select (let ((.cse23 (store .cse24 |c_~#top~0.base| (store .cse25 |c_~#top~0.offset| (select (select .cse24 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse23 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse23 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)))))))) .cse27))) (or (and (or (and (forall ((v_prenex_93 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse31 (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94))) (let ((.cse30 (select .cse31 |c_~#top~0.base|))) (let ((.cse28 (select .cse30 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse28)) (not (bvsle .cse28 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse29 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse30 |c_~#top~0.offset| (select (select .cse31 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|))))))) (or .cse4 (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse33 (select (select (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse33 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse33)))))) (or .cse3 (forall ((v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse34 (select (select (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse34)) (not (bvsle .cse34 (_ bv64 32))))))) (forall ((v_prenex_91 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse38 (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92))) (let ((.cse37 (select .cse38 |c_~#top~0.base|))) (let ((.cse35 (select .cse37 |c_~#top~0.offset|))) (or (not (bvsle .cse35 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse35)) (bvsle (select (select (let ((.cse36 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse37 |c_~#top~0.offset| (select (select .cse38 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse36 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse36 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)))))))) .cse1) (or (and (forall ((v_prenex_96 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse44 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse40 (store (select .cse44 v_prenex_96) (_ bv0 32) c_~next_alloc_idx~0))) (let ((.cse42 (store .cse44 v_prenex_96 .cse40))) (let ((.cse41 (select .cse42 |c_~#top~0.base|))) (let ((.cse43 (select .cse41 |c_~#top~0.offset|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse39 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_96 .cse40) |c_~#top~0.base| (store .cse41 |c_~#top~0.offset| (select (select .cse42 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse39 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse39 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse43 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse43))))))))) (forall ((v_prenex_97 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse50 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse47 (store (select .cse50 v_prenex_97) (_ bv0 32) c_~next_alloc_idx~0))) (let ((.cse49 (store .cse50 v_prenex_97 .cse47))) (let ((.cse48 (select .cse49 |c_~#top~0.base|))) (let ((.cse45 (select .cse48 |c_~#top~0.offset|))) (or (not (bvsle .cse45 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse45)) (bvsle (select (select (let ((.cse46 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_97 .cse47) |c_~#top~0.base| (store .cse48 |c_~#top~0.offset| (select (select .cse49 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse46 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse46 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))))))))) (or (forall ((v_prenex_95 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse51 (select (select (let ((.cse52 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse32 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (store .cse52 v_prenex_95 (store (select .cse52 v_prenex_95) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse51)) (not (bvsle .cse51 (_ bv64 32)))))) .cse21)) .cse27)) (not .cse0))))) is different from true [2024-09-24 12:21:18,666 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse4 (select |c_#memory_int| |c_~#top~0.base|)) (.cse11 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (and (forall ((v_prenex_93 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse3 (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94))) (let ((.cse2 (select .cse3 |c_~#top~0.base|))) (let ((.cse0 (select .cse2 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse0)) (not (bvsle .cse0 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse1 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse2 |c_~#top~0.offset| (select (select .cse3 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse1 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|))))))) (or (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (select (select (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse5 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse5)))))) (or (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (forall ((v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (select (select (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse6)) (not (bvsle .cse6 (_ bv64 32))))))) (forall ((v_prenex_91 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse10 (store (store (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92))) (let ((.cse9 (select .cse10 |c_~#top~0.base|))) (let ((.cse7 (select .cse9 |c_~#top~0.offset|))) (or (not (bvsle .cse7 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse7)) (bvsle (select (select (let ((.cse8 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse9 |c_~#top~0.offset| (select (select .cse10 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse8 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse8 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)))))))) (not .cse11)) (or (and (forall ((v_prenex_96 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse13 (store (select .cse17 v_prenex_96) (_ bv0 32) c_~next_alloc_idx~0))) (let ((.cse15 (store .cse17 v_prenex_96 .cse13))) (let ((.cse14 (select .cse15 |c_~#top~0.base|))) (let ((.cse16 (select .cse14 |c_~#top~0.offset|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse12 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_96 .cse13) |c_~#top~0.base| (store .cse14 |c_~#top~0.offset| (select (select .cse15 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse12 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse12 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse16 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse16))))))))) (forall ((v_prenex_97 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse20 (store (select .cse23 v_prenex_97) (_ bv0 32) c_~next_alloc_idx~0))) (let ((.cse22 (store .cse23 v_prenex_97 .cse20))) (let ((.cse21 (select .cse22 |c_~#top~0.base|))) (let ((.cse18 (select .cse21 |c_~#top~0.offset|))) (or (not (bvsle .cse18 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse18)) (bvsle (select (select (let ((.cse19 (store (store (store |c_#memory_int| |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_97 .cse20) |c_~#top~0.base| (store .cse21 |c_~#top~0.offset| (select (select .cse22 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse19 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse19 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))))))))) (or (forall ((v_prenex_95 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse24 (select (select (let ((.cse25 (store (store |c_#memory_int| |c_~#top~0.base| (store .cse4 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (store .cse25 v_prenex_95 (store (select .cse25 v_prenex_95) (_ bv0 32) c_~next_alloc_idx~0))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse24)) (not (bvsle .cse24 (_ bv64 32)))))) (= (bvsrem (bvadd (_ bv2 32) c_~next_alloc_idx~0) (_ bv2 32)) (_ bv1 32)))) .cse11))) is different from false [2024-09-24 12:21:21,894 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (not .cse0) (and (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_131 (_ BitVec 32)) (v_prenex_132 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_91 (_ BitVec 32)) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse2 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (let ((.cse4 (store (store (store .cse2 |c_~#top~0.base| (store (select .cse2 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_131)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_132) v_prenex_91 v_prenex_92))) (let ((.cse3 (select .cse4 |c_~#top~0.base|))) (let ((.cse5 (select .cse3 |c_~#top~0.offset|))) (or (bvsle (select (select (let ((.cse1 (store (store (store .cse2 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_132) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse3 |c_~#top~0.offset| (select (select .cse4 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse1 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle (_ bv0 32) .cse5)) (not (bvsle .cse5 (_ bv64 32))))))))) (or (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_134 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_133 (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (select (select (store (store (let ((.cse7 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (store .cse7 |c_~#top~0.base| (store (select .cse7 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_133))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_134) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse6)) (not (bvsle .cse6 (_ bv64 32))))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_136 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_93 (_ BitVec 32)) (v_prenex_135 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse10 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (let ((.cse12 (store (store (store .cse10 |c_~#top~0.base| (store (select .cse10 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_135)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_136) v_prenex_93 v_prenex_94))) (let ((.cse11 (select .cse12 |c_~#top~0.base|))) (let ((.cse8 (select .cse11 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse8)) (bvsle (_ bv0 32) (select (select (let ((.cse9 (store (store (store .cse10 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_136) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse11 |c_~#top~0.offset| (select (select .cse12 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse9 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse9 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse8 (_ bv64 32))))))))) (or (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse13 (select (select (store (store (let ((.cse14 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (store .cse14 |c_~#top~0.base| (store (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse13)) (not (bvsle .cse13 (_ bv64 32)))))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))))) (or (let ((.cse17 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse27 (bvsgt (bvadd (_ bv3 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse15 (bvadd (_ bv2 32) c_~next_alloc_idx~0)) (.cse18 (select .cse17 |c_~#top~0.base|))) (and (or (and (or (= (bvsrem .cse15 (_ bv2 32)) (_ bv1 32)) (forall ((v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse16 (select (select (store (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse16 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse16)))))) (forall ((v_prenex_91 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse22 (store (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92))) (let ((.cse21 (select .cse22 |c_~#top~0.base|))) (let ((.cse19 (select .cse21 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse19)) (bvsle (select (select (let ((.cse20 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse21 |c_~#top~0.offset| (select (select .cse22 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse20 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse20 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle .cse19 (_ bv64 32)))))))) (forall ((v_prenex_93 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse26 (store (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94))) (let ((.cse25 (select .cse26 |c_~#top~0.base|))) (let ((.cse23 (select .cse25 |c_~#top~0.offset|))) (or (not (bvsle .cse23 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse23)) (bvsle (_ bv0 32) (select (select (let ((.cse24 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse25 |c_~#top~0.offset| (select (select .cse26 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse24 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse24 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (not .cse27)) (or .cse27 (and (forall ((v_prenex_96 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse33 (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse30 (store (select .cse33 v_prenex_96) (_ bv0 32) .cse15))) (let ((.cse32 (store .cse33 v_prenex_96 .cse30))) (let ((.cse31 (select .cse32 |c_~#top~0.base|))) (let ((.cse28 (select .cse31 |c_~#top~0.offset|))) (or (not (bvsle .cse28 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse29 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_96 .cse30) |c_~#top~0.base| (store .cse31 |c_~#top~0.offset| (select (select .cse32 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle (_ bv0 32) .cse28))))))))) (forall ((v_prenex_97 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse39 (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse36 (store (select .cse39 v_prenex_97) (_ bv0 32) .cse15))) (let ((.cse38 (store .cse39 v_prenex_97 .cse36))) (let ((.cse37 (select .cse38 |c_~#top~0.base|))) (let ((.cse34 (select .cse37 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse34)) (not (bvsle .cse34 (_ bv64 32))) (bvsle (select (select (let ((.cse35 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_97 .cse36) |c_~#top~0.base| (store .cse37 |c_~#top~0.offset| (select (select .cse38 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse35 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse35 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))))))))) (or (= (_ bv1 32) (bvsrem (bvadd (_ bv4 32) c_~next_alloc_idx~0) (_ bv2 32))) (forall ((v_prenex_95 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse40 (select (select (let ((.cse41 (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (store .cse41 v_prenex_95 (store (select .cse41 v_prenex_95) (_ bv0 32) .cse15))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse40 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse40))))))))))) .cse0))) is different from false [2024-09-24 12:21:23,909 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse0 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (not .cse0) (and (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_131 (_ BitVec 32)) (v_prenex_132 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_91 (_ BitVec 32)) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse2 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (let ((.cse4 (store (store (store .cse2 |c_~#top~0.base| (store (select .cse2 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_131)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_132) v_prenex_91 v_prenex_92))) (let ((.cse3 (select .cse4 |c_~#top~0.base|))) (let ((.cse5 (select .cse3 |c_~#top~0.offset|))) (or (bvsle (select (select (let ((.cse1 (store (store (store .cse2 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_132) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse3 |c_~#top~0.offset| (select (select .cse4 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse1 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse1 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle (_ bv0 32) .cse5)) (not (bvsle .cse5 (_ bv64 32))))))))) (or (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_134 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_133 (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (select (select (store (store (let ((.cse7 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (store .cse7 |c_~#top~0.base| (store (select .cse7 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_133))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_134) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse6)) (not (bvsle .cse6 (_ bv64 32))))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_136 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_93 (_ BitVec 32)) (v_prenex_135 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse10 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (let ((.cse12 (store (store (store .cse10 |c_~#top~0.base| (store (select .cse10 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_135)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_136) v_prenex_93 v_prenex_94))) (let ((.cse11 (select .cse12 |c_~#top~0.base|))) (let ((.cse8 (select .cse11 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse8)) (bvsle (_ bv0 32) (select (select (let ((.cse9 (store (store (store .cse10 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_136) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse11 |c_~#top~0.offset| (select (select .cse12 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse9 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse9 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse8 (_ bv64 32))))))))) (or (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse13 (select (select (store (store (let ((.cse14 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_23))) (store .cse14 |c_~#top~0.base| (store (select .cse14 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse13)) (not (bvsle .cse13 (_ bv64 32)))))) (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32)))))) (or (let ((.cse17 (store |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base| (store (select |c_#memory_int| |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset| c_~next_alloc_idx~0)))) (let ((.cse27 (bvsgt (bvadd (_ bv3 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse15 (bvadd (_ bv2 32) c_~next_alloc_idx~0)) (.cse18 (select .cse17 |c_~#top~0.base|))) (and (or (and (or (= (bvsrem .cse15 (_ bv2 32)) (_ bv1 32)) (forall ((v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse16 (select (select (store (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse16 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse16)))))) (forall ((v_prenex_91 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse22 (store (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92))) (let ((.cse21 (select .cse22 |c_~#top~0.base|))) (let ((.cse19 (select .cse21 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse19)) (bvsle (select (select (let ((.cse20 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse21 |c_~#top~0.offset| (select (select .cse22 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse20 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse20 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle .cse19 (_ bv64 32)))))))) (forall ((v_prenex_93 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse26 (store (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94))) (let ((.cse25 (select .cse26 |c_~#top~0.base|))) (let ((.cse23 (select .cse25 |c_~#top~0.offset|))) (or (not (bvsle .cse23 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse23)) (bvsle (_ bv0 32) (select (select (let ((.cse24 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse25 |c_~#top~0.offset| (select (select .cse26 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse24 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse24 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))))) (not .cse27)) (or .cse27 (and (forall ((v_prenex_96 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse33 (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse30 (store (select .cse33 v_prenex_96) (_ bv0 32) .cse15))) (let ((.cse32 (store .cse33 v_prenex_96 .cse30))) (let ((.cse31 (select .cse32 |c_~#top~0.base|))) (let ((.cse28 (select .cse31 |c_~#top~0.offset|))) (or (not (bvsle .cse28 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse29 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_96 .cse30) |c_~#top~0.base| (store .cse31 |c_~#top~0.offset| (select (select .cse32 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse29 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle (_ bv0 32) .cse28))))))))) (forall ((v_prenex_97 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse39 (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse36 (store (select .cse39 v_prenex_97) (_ bv0 32) .cse15))) (let ((.cse38 (store .cse39 v_prenex_97 .cse36))) (let ((.cse37 (select .cse38 |c_~#top~0.base|))) (let ((.cse34 (select .cse37 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse34)) (not (bvsle .cse34 (_ bv64 32))) (bvsle (select (select (let ((.cse35 (store (store (store .cse17 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_97 .cse36) |c_~#top~0.base| (store .cse37 |c_~#top~0.offset| (select (select .cse38 |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#newTop~0#1.offset|))))) (store .cse35 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base| (store (select .cse35 |c_thr1Thread1of3ForFork0_push_~#ret~0#1.base|) |c_thr1Thread1of3ForFork0_push_~#ret~0#1.offset| (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32))))))))) (or (= (_ bv1 32) (bvsrem (bvadd (_ bv4 32) c_~next_alloc_idx~0) (_ bv2 32))) (forall ((v_prenex_95 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse40 (select (select (let ((.cse41 (store (store .cse17 |c_~#top~0.base| (store .cse18 |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (store .cse41 v_prenex_95 (store (select .cse41 v_prenex_95) (_ bv0 32) .cse15))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse40 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse40))))))))))) .cse0))) is different from true [2024-09-24 12:21:28,833 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse31 (bvsgt (bvadd (_ bv1 32) c_~next_alloc_idx~0) (_ bv65 32)))) (and (or (let ((.cse18 (bvsgt (bvadd (_ bv3 32) c_~next_alloc_idx~0) (_ bv65 32))) (.cse7 (bvadd (_ bv2 32) c_~next_alloc_idx~0))) (and (or (and (forall ((|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (forall ((|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (forall ((v_prenex_96 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse1 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (store (select |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse6 (store (store .cse1 |c_~#top~0.base| (store (select .cse1 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse2 (store (select .cse6 v_prenex_96) (_ bv0 32) .cse7))) (let ((.cse4 (store .cse6 v_prenex_96 .cse2))) (let ((.cse3 (select .cse4 |c_~#top~0.base|))) (let ((.cse5 (select .cse3 |c_~#top~0.offset|))) (or (bvsle (_ bv0 32) (select (select (let ((.cse0 (store (store (store .cse1 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_96 .cse2) |c_~#top~0.base| (store .cse3 |c_~#top~0.offset| (select (select .cse4 |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32)))))) (store .cse0 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (store (select .cse0 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|) (_ bv0 32) (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)) (not (bvsle .cse5 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse5)))))))))))))) (forall ((|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (forall ((|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (forall ((v_prenex_97 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse9 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (store (select |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse14 (store (store .cse9 |c_~#top~0.base| (store (select .cse9 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (let ((.cse10 (store (select .cse14 v_prenex_97) (_ bv0 32) .cse7))) (let ((.cse12 (store .cse14 v_prenex_97 .cse10))) (let ((.cse11 (select .cse12 |c_~#top~0.base|))) (let ((.cse13 (select .cse11 |c_~#top~0.offset|))) (or (bvsle (select (select (let ((.cse8 (store (store (store .cse9 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_97 .cse10) |c_~#top~0.base| (store .cse11 |c_~#top~0.offset| (select (select .cse12 |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32)))))) (store .cse8 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (store (select .cse8 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|) (_ bv0 32) (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle (_ bv0 32) .cse13)) (not (bvsle .cse13 (_ bv64 32))))))))))))))) (or (= (_ bv1 32) (bvsrem (bvadd (_ bv4 32) c_~next_alloc_idx~0) (_ bv2 32))) (forall ((v_prenex_95 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32)) (|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse15 (select (select (let ((.cse16 (store (let ((.cse17 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (store (select |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse17 |c_~#top~0.base| (store (select .cse17 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21))) (store .cse16 v_prenex_95 (store (select .cse16 v_prenex_95) (_ bv0 32) .cse7))) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (bvsle .cse15 (_ bv64 32))) (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (not (bvsle (_ bv0 32) .cse15))))))) .cse18) (or (not .cse18) (and (or (forall ((v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse19 (select (select (store (store (let ((.cse20 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (store (select |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32) c_~next_alloc_idx~0)))) (store .cse20 |c_~#top~0.base| (store (select .cse20 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (not (bvsle (_ bv0 32) .cse19)) (not (bvsle .cse19 (_ bv64 32)))))) (= (bvsrem .cse7 (_ bv2 32)) (_ bv1 32))) (forall ((|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (forall ((|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (forall ((v_prenex_93 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (store (select |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse25 (store (store (store .cse23 |c_~#top~0.base| (store (select .cse23 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94))) (let ((.cse24 (select .cse25 |c_~#top~0.base|))) (let ((.cse21 (select .cse24 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse21)) (not (bvsle .cse21 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse22 (store (store (store .cse23 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse24 |c_~#top~0.offset| (select (select .cse25 |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32)))))) (store .cse22 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (store (select .cse22 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|) (_ bv0 32) (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))))))))) (forall ((|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (forall ((|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (forall ((v_prenex_91 (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse27 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (store (select |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32) c_~next_alloc_idx~0)))) (let ((.cse29 (store (store (store .cse27 |c_~#top~0.base| (store (select .cse27 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92))) (let ((.cse28 (select .cse29 |c_~#top~0.base|))) (let ((.cse30 (select .cse28 |c_~#top~0.offset|))) (or (bvsle (select (select (let ((.cse26 (store (store (store .cse27 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse28 |c_~#top~0.offset| (select (select .cse29 |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32)))))) (store .cse26 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (store (select .cse26 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|) (_ bv0 32) (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle .cse30 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse30)))))))))))))))) .cse31) (or (not .cse31) (and (or (= (_ bv1 32) (bvsrem c_~next_alloc_idx~0 (_ bv2 32))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_90 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32)) (v_ArrVal_346 (_ BitVec 32)) (|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32)) (v_prenex_89 (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse32 (select (select (store (store (let ((.cse33 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| v_DerPreprocessor_23))) (store .cse33 |c_~#top~0.base| (store (select .cse33 |c_~#top~0.base|) |c_~#top~0.offset| v_ArrVal_346))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_DerPreprocessor_21) v_prenex_89 v_prenex_90) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (not (bvsle (_ bv0 32) .cse32)) (not (bvsle .cse32 (_ bv64 32))) (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))))))) (or (bvsle c_~next_alloc_idx~0 (_ bv66 32)) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_push_~#newTop~0#1.base| (_ BitVec 32)) (v_prenex_134 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32)) (|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32)) (v_prenex_133 (_ BitVec 32)) (v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse34 (select (select (store (store (let ((.cse35 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| v_DerPreprocessor_23))) (store .cse35 |c_~#top~0.base| (store (select .cse35 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_133))) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_134) |thr1Thread3of3ForFork0_push_~#newTop~0#1.base| v_DerPreprocessor_20) |c_~#top~0.base|) |c_~#top~0.offset|))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (not (bvsle .cse34 (_ bv64 32))) (not (bvsle (_ bv0 32) .cse34)))))) (forall ((|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32))) (or (forall ((|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_136 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_93 (_ BitVec 32)) (v_prenex_135 (_ BitVec 32)) (v_prenex_94 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse38 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| v_DerPreprocessor_23))) (let ((.cse40 (store (store (store .cse38 |c_~#top~0.base| (store (select .cse38 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_135)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_136) v_prenex_93 v_prenex_94))) (let ((.cse39 (select .cse40 |c_~#top~0.base|))) (let ((.cse36 (select .cse39 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse36)) (not (bvsle .cse36 (_ bv64 32))) (bvsle (_ bv0 32) (select (select (let ((.cse37 (store (store (store .cse38 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_136) v_prenex_93 v_prenex_94) |c_~#top~0.base| (store .cse39 |c_~#top~0.offset| (select (select .cse40 |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32)))))) (store .cse37 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (store (select .cse37 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|) (_ bv0 32) (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|)))))))))) (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))))) (forall ((|v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ BitVec 32))) (or (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|))) (forall ((|v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (_ BitVec 32))) (or (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| (_ bv1 1)) |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_131 (_ BitVec 32)) (v_prenex_132 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_91 (_ BitVec 32)) (v_prenex_92 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse43 (store |c_#memory_int| |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27| v_DerPreprocessor_23))) (let ((.cse45 (store (store (store .cse43 |c_~#top~0.base| (store (select .cse43 |c_~#top~0.base|) |c_~#top~0.offset| v_prenex_131)) |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_132) v_prenex_91 v_prenex_92))) (let ((.cse44 (select .cse45 |c_~#top~0.base|))) (let ((.cse41 (select .cse44 |c_~#top~0.offset|))) (or (not (bvsle (_ bv0 32) .cse41)) (bvsle (select (select (let ((.cse42 (store (store (store .cse43 |c_thr1Thread2of3ForFork0_push_~#ret~0#1.base| v_prenex_132) v_prenex_91 v_prenex_92) |c_~#top~0.base| (store .cse44 |c_~#top~0.offset| (select (select .cse45 |v_thr1Thread1of3ForFork0_push_~#newTop~0#1.base_27|) (_ bv0 32)))))) (store .cse42 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25| (store (select .cse42 |v_thr1Thread1of3ForFork0_push_~#ret~0#1.base_25|) (_ bv0 32) (_ bv1 32)))) |c_~#top~0.base|) |c_~#top~0.offset|) (_ bv64 32)) (not (bvsle .cse41 (_ bv64 32))))))))))))))))) is different from true [2024-09-24 12:21:36,173 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-09-24 12:21:36,174 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 38 treesize of output 54 Killed by 15