/root/.sdkman/candidates/java/current/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf --traceabstraction.dfs.order.used.in.por LOOP_LOCKSTEP --traceabstraction.additional.conditional.commutativity.checking DFS --traceabstraction.criterion.for.conditional.commutativity.checking RANDOM --traceabstraction.probability.for.random.criterion 20 --traceabstraction.seed.for.random.criterion 213 --traceabstraction.use.limited.checks.recommended.for.dfs true --traceabstraction.limit.for.limited.checks 10 -tc ../benchexec/../../../trunk/examples/toolchains/AutomizerCInline.xml -i ../../../trunk/examples/svcomp/weaver/loop-tiling-eq.wvr.c -------------------------------------------------------------------------------- This is Ultimate 0.2.4-wip.dk.conditional-comm-3774817-m [2024-04-05 20:25:41,733 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-04-05 20:25:41,806 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../benchexec/../../../trunk/examples/settings/gemcutter/NewStatesSleep.epf [2024-04-05 20:25:41,810 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-04-05 20:25:41,810 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-04-05 20:25:41,840 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-04-05 20:25:41,841 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-04-05 20:25:41,842 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-04-05 20:25:41,843 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-04-05 20:25:41,847 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-04-05 20:25:41,847 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-04-05 20:25:41,847 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-04-05 20:25:41,847 INFO L153 SettingsManager]: * Use SBE=true [2024-04-05 20:25:41,849 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-04-05 20:25:41,849 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-04-05 20:25:41,850 INFO L153 SettingsManager]: * sizeof long=4 [2024-04-05 20:25:41,850 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-04-05 20:25:41,850 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-04-05 20:25:41,850 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-04-05 20:25:41,851 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-04-05 20:25:41,851 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-04-05 20:25:41,851 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-04-05 20:25:41,852 INFO L153 SettingsManager]: * sizeof long double=12 [2024-04-05 20:25:41,853 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-04-05 20:25:41,853 INFO L153 SettingsManager]: * Use constant arrays=true [2024-04-05 20:25:41,853 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-04-05 20:25:41,853 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-04-05 20:25:41,853 INFO L153 SettingsManager]: * To the following directory=./dump/ [2024-04-05 20:25:41,854 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-04-05 20:25:41,854 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-04-05 20:25:41,855 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-04-05 20:25:41,855 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-04-05 20:25:41,856 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-04-05 20:25:41,856 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-04-05 20:25:41,856 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=SLEEP_NEW_STATES [2024-04-05 20:25:41,856 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-04-05 20:25:41,856 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-04-05 20:25:41,856 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-04-05 20:25:41,857 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-04-05 20:25:41,857 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.traceabstraction: DFS Order used in POR -> LOOP_LOCKSTEP Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Additional conditional commutativity checking -> DFS Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Criterion for conditional commutativity checking -> RANDOM Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: probability for random criterion as percentage -> 20 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: seed for random criterion -> 213 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: use limited checks (recommended for DFS) -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Limit for limited checks -> 10 [2024-04-05 20:25:42,134 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-04-05 20:25:42,160 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-04-05 20:25:42,162 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-04-05 20:25:42,163 INFO L270 PluginConnector]: Initializing CDTParser... [2024-04-05 20:25:42,164 INFO L274 PluginConnector]: CDTParser initialized [2024-04-05 20:25:42,165 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/weaver/loop-tiling-eq.wvr.c [2024-04-05 20:25:43,373 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-04-05 20:25:43,561 INFO L384 CDTParser]: Found 1 translation units. [2024-04-05 20:25:43,562 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/loop-tiling-eq.wvr.c [2024-04-05 20:25:43,569 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/040c63831/61b8aa6b9c5c40c599fd31db61d6f244/FLAGb482373f7 [2024-04-05 20:25:43,581 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/040c63831/61b8aa6b9c5c40c599fd31db61d6f244 [2024-04-05 20:25:43,584 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-04-05 20:25:43,585 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-04-05 20:25:43,586 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-04-05 20:25:43,586 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-04-05 20:25:43,594 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-04-05 20:25:43,595 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,595 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4367fd05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43, skipping insertion in model container [2024-04-05 20:25:43,596 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,616 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-04-05 20:25:43,776 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/loop-tiling-eq.wvr.c[2618,2631] [2024-04-05 20:25:43,782 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-04-05 20:25:43,791 INFO L202 MainTranslator]: Completed pre-run [2024-04-05 20:25:43,812 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/loop-tiling-eq.wvr.c[2618,2631] [2024-04-05 20:25:43,819 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-04-05 20:25:43,845 INFO L206 MainTranslator]: Completed translation [2024-04-05 20:25:43,845 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43 WrapperNode [2024-04-05 20:25:43,845 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-04-05 20:25:43,846 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-04-05 20:25:43,846 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-04-05 20:25:43,846 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-04-05 20:25:43,857 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,864 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,891 INFO L138 Inliner]: procedures = 25, calls = 41, calls flagged for inlining = 13, calls inlined = 17, statements flattened = 196 [2024-04-05 20:25:43,892 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-04-05 20:25:43,893 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-04-05 20:25:43,893 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-04-05 20:25:43,893 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-04-05 20:25:43,901 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,902 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,905 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,905 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,913 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,924 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,926 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,927 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,930 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-04-05 20:25:43,933 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-04-05 20:25:43,933 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-04-05 20:25:43,933 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-04-05 20:25:43,934 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (1/1) ... [2024-04-05 20:25:43,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-04-05 20:25:43,954 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:43,974 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-04-05 20:25:43,976 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-04-05 20:25:44,011 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-04-05 20:25:44,011 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2024-04-05 20:25:44,012 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-04-05 20:25:44,012 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-04-05 20:25:44,012 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-04-05 20:25:44,012 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2024-04-05 20:25:44,012 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-04-05 20:25:44,012 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-04-05 20:25:44,012 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-04-05 20:25:44,012 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-04-05 20:25:44,012 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-04-05 20:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-04-05 20:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-04-05 20:25:44,013 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-04-05 20:25:44,013 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-04-05 20:25:44,014 WARN L213 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-04-05 20:25:44,126 INFO L241 CfgBuilder]: Building ICFG [2024-04-05 20:25:44,127 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2024-04-05 20:25:44,445 INFO L282 CfgBuilder]: Performing block encoding [2024-04-05 20:25:44,467 INFO L304 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-04-05 20:25:44,467 INFO L309 CfgBuilder]: Removed 7 assume(true) statements. [2024-04-05 20:25:44,469 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 05.04 08:25:44 BoogieIcfgContainer [2024-04-05 20:25:44,469 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-04-05 20:25:44,471 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-04-05 20:25:44,471 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-04-05 20:25:44,474 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-04-05 20:25:44,475 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 05.04 08:25:43" (1/3) ... [2024-04-05 20:25:44,476 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f4051 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 05.04 08:25:44, skipping insertion in model container [2024-04-05 20:25:44,476 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.04 08:25:43" (2/3) ... [2024-04-05 20:25:44,476 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f4051 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 05.04 08:25:44, skipping insertion in model container [2024-04-05 20:25:44,476 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 05.04 08:25:44" (3/3) ... [2024-04-05 20:25:44,477 INFO L112 eAbstractionObserver]: Analyzing ICFG loop-tiling-eq.wvr.c [2024-04-05 20:25:44,505 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2024-04-05 20:25:44,514 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-04-05 20:25:44,514 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-04-05 20:25:44,515 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-04-05 20:25:44,642 INFO L144 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2024-04-05 20:25:44,702 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-04-05 20:25:44,702 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2024-04-05 20:25:44,702 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:44,708 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-04-05 20:25:44,716 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-04-05 20:25:44,757 INFO L184 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2024-04-05 20:25:44,773 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:44,779 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-04-05 20:25:44,788 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@b22b366, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms], mConComChecker=DFS, mConComCheckerCriterion=RANDOM, mConComCheckerLimitedChecksCriterion=true, mConComCheckerCriterionLimit=10, mConComCheckerRandomProb=20, mConComCheckerRandomSeed=213 [2024-04-05 20:25:44,789 INFO L358 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2024-04-05 20:25:46,612 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 1802 treesize of output 1706 [2024-04-05 20:25:49,386 INFO L85 PathProgramCache]: Analyzing trace with hash 288742404, now seen corresponding path program 1 times [2024-04-05 20:25:49,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:49,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:49,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:49,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:49,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:49,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:49,714 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:25:49,715 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:49,715 INFO L85 PathProgramCache]: Analyzing trace with hash -1610377654, now seen corresponding path program 1 times [2024-04-05 20:25:49,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:25:49,720 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2054235486] [2024-04-05 20:25:49,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:49,720 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:49,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:49,760 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:25:49,761 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2054235486] [2024-04-05 20:25:49,761 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unsupported non-linear arithmetic [2024-04-05 20:25:49,761 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1573301896] [2024-04-05 20:25:49,762 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:49,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:49,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:49,798 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-04-05 20:25:49,800 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-04-05 20:25:49,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:49,960 INFO L262 TraceCheckSpWp]: Trace formula consists of 487 conjuncts, 1 conjunts are in the unsatisfiable core [2024-04-05 20:25:49,971 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:25:49,994 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2024-04-05 20:25:49,994 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-04-05 20:25:49,995 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1573301896] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-05 20:25:49,995 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-05 20:25:49,995 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-04-05 20:25:49,998 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [653927035] [2024-04-05 20:25:49,998 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-05 20:25:50,005 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-04-05 20:25:50,005 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-05 20:25:50,031 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-04-05 20:25:50,032 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-04-05 20:25:50,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:50,034 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-05 20:25:50,035 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 100.5) internal successors, (201), 2 states have internal predecessors, (201), 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-04-05 20:25:50,035 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:50,102 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:50,112 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-04-05 20:25:50,308 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2024-04-05 20:25:50,309 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:25:50,309 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:50,310 INFO L85 PathProgramCache]: Analyzing trace with hash 1426262776, now seen corresponding path program 1 times [2024-04-05 20:25:50,310 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:25:50,310 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1125232456] [2024-04-05 20:25:50,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:50,310 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:50,339 ERROR L246 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2024-04-05 20:25:50,340 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [240482565] [2024-04-05 20:25:50,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:50,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:50,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:50,341 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-04-05 20:25:50,359 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-04-05 20:25:50,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:50,498 INFO L262 TraceCheckSpWp]: Trace formula consists of 467 conjuncts, 6 conjunts are in the unsatisfiable core [2024-04-05 20:25:50,509 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:25:50,663 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2024-04-05 20:25:50,663 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-04-05 20:25:50,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:25:50,664 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1125232456] [2024-04-05 20:25:50,664 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-04-05 20:25:50,664 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [240482565] [2024-04-05 20:25:50,664 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [240482565] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-05 20:25:50,664 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-05 20:25:50,664 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2024-04-05 20:25:50,665 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [916415009] [2024-04-05 20:25:50,665 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-05 20:25:50,667 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2024-04-05 20:25:50,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-05 20:25:50,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2024-04-05 20:25:50,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2024-04-05 20:25:50,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:50,672 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-05 20:25:50,672 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 27.428571428571427) internal successors, (192), 7 states have internal predecessors, (192), 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-04-05 20:25:50,672 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:50,672 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:50,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:50,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:50,859 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-04-05 20:25:51,058 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:51,059 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:25:51,060 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:51,060 INFO L85 PathProgramCache]: Analyzing trace with hash -590941296, now seen corresponding path program 1 times [2024-04-05 20:25:51,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:25:51,060 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1448451548] [2024-04-05 20:25:51,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:51,061 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:51,120 ERROR L246 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2024-04-05 20:25:51,120 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [623679820] [2024-04-05 20:25:51,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:51,121 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:51,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:51,122 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-04-05 20:25:51,147 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-04-05 20:25:51,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:51,290 INFO L262 TraceCheckSpWp]: Trace formula consists of 511 conjuncts, 4 conjunts are in the unsatisfiable core [2024-04-05 20:25:51,296 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:25:51,366 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-04-05 20:25:51,367 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-04-05 20:25:51,367 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:25:51,370 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1448451548] [2024-04-05 20:25:51,370 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-04-05 20:25:51,370 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [623679820] [2024-04-05 20:25:51,370 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [623679820] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-05 20:25:51,371 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-05 20:25:51,371 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-04-05 20:25:51,371 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281610239] [2024-04-05 20:25:51,371 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-05 20:25:51,377 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-04-05 20:25:51,377 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-05 20:25:51,378 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-04-05 20:25:51,378 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-04-05 20:25:51,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:51,378 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-05 20:25:51,378 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 42.8) internal successors, (214), 5 states have internal predecessors, (214), 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-04-05 20:25:51,379 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:51,379 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:51,379 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:51,714 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 1802 treesize of output 1706 [2024-04-05 20:25:54,850 INFO L85 PathProgramCache]: Analyzing trace with hash -398516472, now seen corresponding path program 1 times [2024-04-05 20:25:54,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:54,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:54,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:54,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:54,905 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:54,913 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-04-05 20:25:55,112 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:55,113 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:25:55,113 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:55,113 INFO L85 PathProgramCache]: Analyzing trace with hash -65961908, now seen corresponding path program 1 times [2024-04-05 20:25:55,114 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:25:55,114 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1900446334] [2024-04-05 20:25:55,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:55,114 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:55,144 ERROR L246 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2024-04-05 20:25:55,144 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1958199603] [2024-04-05 20:25:55,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:55,145 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:55,145 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:55,146 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-04-05 20:25:55,162 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-04-05 20:25:55,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:55,335 INFO L262 TraceCheckSpWp]: Trace formula consists of 583 conjuncts, 10 conjunts are in the unsatisfiable core [2024-04-05 20:25:55,339 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:25:55,643 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 18 proven. 1 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2024-04-05 20:25:55,643 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-05 20:25:55,982 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 18 proven. 1 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2024-04-05 20:25:55,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:25:55,982 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1900446334] [2024-04-05 20:25:55,982 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-04-05 20:25:55,983 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1958199603] [2024-04-05 20:25:55,983 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1958199603] provided 0 perfect and 2 imperfect interpolant sequences [2024-04-05 20:25:55,983 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-04-05 20:25:55,984 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2024-04-05 20:25:55,984 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1712188500] [2024-04-05 20:25:55,984 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-04-05 20:25:55,985 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2024-04-05 20:25:55,985 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-05 20:25:55,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2024-04-05 20:25:55,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=264, Unknown=0, NotChecked=0, Total=342 [2024-04-05 20:25:55,987 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:55,987 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-05 20:25:55,987 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 15.631578947368421) internal successors, (297), 19 states have internal predecessors, (297), 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-04-05 20:25:55,988 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:55,988 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:55,988 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:55,988 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:56,426 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:56,426 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:56,426 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:56,426 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2024-04-05 20:25:56,436 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2024-04-05 20:25:56,633 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2024-04-05 20:25:56,634 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:25:56,634 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:56,634 INFO L85 PathProgramCache]: Analyzing trace with hash -1840211228, now seen corresponding path program 2 times [2024-04-05 20:25:56,635 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:25:56,635 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [950180039] [2024-04-05 20:25:56,635 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:56,635 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:56,667 ERROR L246 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2024-04-05 20:25:56,668 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1096922362] [2024-04-05 20:25:56,668 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-04-05 20:25:56,668 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:56,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:56,669 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-04-05 20:25:56,673 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-04-05 20:25:56,906 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-04-05 20:25:56,907 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-04-05 20:25:56,911 INFO L262 TraceCheckSpWp]: Trace formula consists of 627 conjuncts, 6 conjunts are in the unsatisfiable core [2024-04-05 20:25:56,914 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:25:57,046 INFO L134 CoverageAnalysis]: Checked inductivity of 47 backedges. 26 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2024-04-05 20:25:57,046 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-04-05 20:25:57,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:25:57,047 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [950180039] [2024-04-05 20:25:57,047 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-04-05 20:25:57,047 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1096922362] [2024-04-05 20:25:57,047 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1096922362] provided 1 perfect and 0 imperfect interpolant sequences [2024-04-05 20:25:57,047 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-04-05 20:25:57,047 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2024-04-05 20:25:57,048 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1077759822] [2024-04-05 20:25:57,048 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-04-05 20:25:57,051 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2024-04-05 20:25:57,052 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-05 20:25:57,052 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2024-04-05 20:25:57,053 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2024-04-05 20:25:57,053 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:57,053 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-05 20:25:57,053 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 36.142857142857146) internal successors, (253), 7 states have internal predecessors, (253), 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-04-05 20:25:57,053 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:57,053 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:57,054 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:57,054 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 14 states. [2024-04-05 20:25:57,054 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:57,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:57,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:57,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:57,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2024-04-05 20:25:57,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-04-05 20:25:57,330 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2024-04-05 20:25:57,525 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:57,526 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:25:57,526 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:57,526 INFO L85 PathProgramCache]: Analyzing trace with hash 173938187, now seen corresponding path program 1 times [2024-04-05 20:25:57,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:25:57,527 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [52707784] [2024-04-05 20:25:57,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:57,527 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:57,550 ERROR L246 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2024-04-05 20:25:57,550 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1832978383] [2024-04-05 20:25:57,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:57,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:57,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:57,552 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-04-05 20:25:57,572 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-04-05 20:25:57,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:57,749 INFO L262 TraceCheckSpWp]: Trace formula consists of 653 conjuncts, 8 conjunts are in the unsatisfiable core [2024-04-05 20:25:57,753 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:25:57,872 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 14 proven. 22 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2024-04-05 20:25:57,872 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-05 20:25:58,034 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 15 proven. 21 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2024-04-05 20:25:58,034 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:25:58,034 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [52707784] [2024-04-05 20:25:58,034 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-04-05 20:25:58,034 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1832978383] [2024-04-05 20:25:58,035 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1832978383] provided 0 perfect and 2 imperfect interpolant sequences [2024-04-05 20:25:58,035 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-04-05 20:25:58,035 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2024-04-05 20:25:58,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1605743819] [2024-04-05 20:25:58,035 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-04-05 20:25:58,036 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2024-04-05 20:25:58,036 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-05 20:25:58,036 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2024-04-05 20:25:58,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2024-04-05 20:25:58,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:58,037 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-05 20:25:58,037 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 22.53846153846154) internal successors, (293), 13 states have internal predecessors, (293), 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-04-05 20:25:58,037 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:58,037 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:58,037 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:58,037 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 14 states. [2024-04-05 20:25:58,037 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 10 states. [2024-04-05 20:25:58,037 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:58,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:58,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:58,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:58,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2024-04-05 20:25:58,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-04-05 20:25:58,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2024-04-05 20:25:58,478 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-04-05 20:25:58,668 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2024-04-05 20:25:58,668 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:25:58,669 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:25:58,669 INFO L85 PathProgramCache]: Analyzing trace with hash -771055893, now seen corresponding path program 1 times [2024-04-05 20:25:58,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:25:58,669 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1170960828] [2024-04-05 20:25:58,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:58,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:25:58,693 ERROR L246 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2024-04-05 20:25:58,693 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [266716902] [2024-04-05 20:25:58,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:25:58,693 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:25:58,693 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:25:58,695 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-04-05 20:25:58,715 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2024-04-05 20:25:58,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-04-05 20:25:58,904 INFO L262 TraceCheckSpWp]: Trace formula consists of 649 conjuncts, 14 conjunts are in the unsatisfiable core [2024-04-05 20:25:58,908 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:25:59,279 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-04-05 20:25:59,279 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-05 20:25:59,733 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-04-05 20:25:59,733 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:25:59,734 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1170960828] [2024-04-05 20:25:59,734 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-04-05 20:25:59,734 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [266716902] [2024-04-05 20:25:59,734 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [266716902] provided 0 perfect and 2 imperfect interpolant sequences [2024-04-05 20:25:59,734 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2024-04-05 20:25:59,734 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 27 [2024-04-05 20:25:59,734 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [981684858] [2024-04-05 20:25:59,734 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2024-04-05 20:25:59,735 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2024-04-05 20:25:59,735 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-04-05 20:25:59,736 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2024-04-05 20:25:59,736 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=144, Invalid=558, Unknown=0, NotChecked=0, Total=702 [2024-04-05 20:25:59,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:59,737 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2024-04-05 20:25:59,737 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 12.481481481481481) internal successors, (337), 27 states have internal predecessors, (337), 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-04-05 20:25:59,737 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:25:59,737 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:25:59,737 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:25:59,737 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 14 states. [2024-04-05 20:25:59,737 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 10 states. [2024-04-05 20:25:59,737 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 18 states. [2024-04-05 20:25:59,737 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:26:00,462 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 441 treesize of output 417 [2024-04-05 20:26:03,386 INFO L85 PathProgramCache]: Analyzing trace with hash -1061625025, now seen corresponding path program 1 times [2024-04-05 20:26:03,387 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:26:03,387 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:26:03,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-04-05 20:26:03,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-04-05 20:26:03,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-04-05 20:26:03,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2024-04-05 20:26:03,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-04-05 20:26:03,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2024-04-05 20:26:03,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2024-04-05 20:26:03,437 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2024-04-05 20:26:03,628 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,SelfDestructingSolverStorable9,9 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:26:03,628 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2024-04-05 20:26:03,629 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-04-05 20:26:03,629 INFO L85 PathProgramCache]: Analyzing trace with hash 2134717315, now seen corresponding path program 2 times [2024-04-05 20:26:03,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-04-05 20:26:03,629 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [684029409] [2024-04-05 20:26:03,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-04-05 20:26:03,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-04-05 20:26:03,651 ERROR L246 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2024-04-05 20:26:03,651 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2056441026] [2024-04-05 20:26:03,651 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-04-05 20:26:03,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:26:03,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-04-05 20:26:03,653 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-04-05 20:26:03,681 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-04-05 20:26:04,264 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-04-05 20:26:04,265 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-04-05 20:26:04,270 INFO L262 TraceCheckSpWp]: Trace formula consists of 693 conjuncts, 128 conjunts are in the unsatisfiable core [2024-04-05 20:26:04,285 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-04-05 20:26:04,445 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 5 [2024-04-05 20:26:04,786 INFO L349 Elim1Store]: treesize reduction 20, result has 33.3 percent of original size [2024-04-05 20:26:04,786 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 19 treesize of output 16 [2024-04-05 20:26:05,303 INFO L349 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2024-04-05 20:26:05,304 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 17 treesize of output 21 [2024-04-05 20:26:05,814 INFO L349 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2024-04-05 20:26:05,815 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 18 [2024-04-05 20:26:06,244 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 1 [2024-04-05 20:26:06,401 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-04-05 20:26:06,402 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 18 [2024-04-05 20:26:06,594 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-04-05 20:26:06,595 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 18 [2024-04-05 20:26:06,818 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 18 [2024-04-05 20:26:06,824 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 15 treesize of output 15 [2024-04-05 20:26:07,141 INFO L349 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2024-04-05 20:26:07,142 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 35 treesize of output 18 [2024-04-05 20:26:07,155 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 18 [2024-04-05 20:26:07,629 INFO L349 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2024-04-05 20:26:07,630 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 42 treesize of output 21 [2024-04-05 20:26:07,643 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-04-05 20:26:07,655 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 32 treesize of output 23 [2024-04-05 20:26:08,038 INFO L349 Elim1Store]: treesize reduction 19, result has 20.8 percent of original size [2024-04-05 20:26:08,038 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 76 treesize of output 67 [2024-04-05 20:26:08,053 INFO L349 Elim1Store]: treesize reduction 41, result has 14.6 percent of original size [2024-04-05 20:26:08,053 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 39 treesize of output 33 [2024-04-05 20:26:08,062 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 55 treesize of output 40 [2024-04-05 20:26:09,689 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 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 62 treesize of output 42 [2024-04-05 20:26:09,693 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 26 [2024-04-05 20:26:09,789 INFO L349 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2024-04-05 20:26:09,789 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 13 [2024-04-05 20:26:09,920 INFO L134 CoverageAnalysis]: Checked inductivity of 82 backedges. 2 proven. 25 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2024-04-05 20:26:09,920 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-04-05 20:26:16,062 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-04-05 20:26:16,063 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 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 1706 treesize of output 1570 [2024-04-05 20:26:16,085 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 381 treesize of output 375 [2024-04-05 20:26:16,096 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 386 treesize of output 374 [2024-04-05 20:26:20,098 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse5 (select (select |c_#memory_$Pointer$.base| c_~B~0.base) (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset)))) (let ((.cse33 (= c_~B~0.base c_~A~0.base)) (.cse15 (= .cse5 c_~B~0.base))) (let ((.cse24 (not .cse15)) (.cse14 (not .cse33)) (.cse0 (+ c_thread2Thread1of1ForFork1_~j~0 1)) (.cse8 (select |c_#memory_int| c_~F~0.base)) (.cse7 (* c_thread2Thread1of1ForFork1_~j~0 4)) (.cse9 (select |c_#memory_int| c_~A~0.base)) (.cse10 (+ c_~A~0.offset (* c_thread1Thread1of1ForFork0_~i~0 4)))) (and (or (and (forall ((~M~0 Int)) (or (< .cse0 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse4 (let ((.cse6 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse6 .cse5 (store (select .cse6 .cse5) (+ .cse7 v_arrayElimCell_31) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse3 (* ~b~0 4))) (let ((.cse1 (select (select .cse4 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse3))) (.cse2 (select .cse4 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_33))) (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_32))))))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (< ~M~0 (+ ~b~0 1)))))) (or (forall ((~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (or (< ~b~0 0) (< ~a~0 0) (< .cse0 ~M~0) (let ((.cse11 (let ((.cse13 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse13 .cse5 (store (select .cse13 .cse5) (+ .cse7 v_arrayElimCell_31) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse12 (* ~b~0 4))) (= (select (select .cse11 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse12)) (select (select .cse11 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse12 v_arrayElimCell_33)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) .cse14)) .cse15) (or .cse14 (forall ((~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse19 (let ((.cse20 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse20 .cse5 (store (select .cse20 .cse5) (+ .cse7 v_arrayElimCell_32) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse18 (* ~b~0 4))) (let ((.cse16 (select (select .cse19 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse18))) (.cse17 (select .cse19 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< ~a~0 0) (< .cse0 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse16 (select .cse17 (+ .cse18 v_arrayElimCell_34))) (< ~M~0 (+ ~b~0 1)) (= .cse16 (select .cse17 (+ .cse18 v_arrayElimCell_33)))))))) (or (forall ((~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (let ((.cse21 (let ((.cse23 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse23 .cse5 (store (select .cse23 .cse5) (+ .cse7 v_arrayElimCell_31) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse22 (* ~b~0 4))) (= (select (select .cse21 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse22 v_arrayElimCell_34)) (select (select .cse21 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse22)))) (< ~a~0 0) (< .cse0 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) .cse24) (or (and (or (forall ((v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int)) (or (< ~b~0 0) (< ~a~0 0) (< .cse0 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (let ((.cse25 (let ((.cse27 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse27 .cse5 (store (select .cse27 .cse5) (+ .cse7 v_arrayElimCell_32) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse26 (* ~b~0 4))) (= (select (select .cse25 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse26)) (select (select .cse25 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse26 v_arrayElimCell_32)))))) .cse15) (forall ((~M~0 Int)) (or (< .cse0 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int)) (let ((.cse31 (let ((.cse32 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse32 .cse5 (store (select .cse32 .cse5) (+ .cse7 v_arrayElimCell_32) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse30 (* ~b~0 4))) (let ((.cse28 (select (select .cse31 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse30))) (.cse29 (select .cse31 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (forall ((v_arrayElimCell_34 Int)) (= .cse28 (select .cse29 (+ .cse30 v_arrayElimCell_34)))) (= .cse28 (select .cse29 (+ .cse30 v_arrayElimCell_32))))))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (< ~M~0 (+ ~b~0 1))))))) .cse33) (or (and (or (forall ((v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (or (< ~b~0 0) (< ~a~0 0) (< .cse0 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (let ((.cse34 (let ((.cse36 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse36 .cse5 (store (select .cse36 .cse5) (+ .cse7 v_arrayElimCell_31) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse35 (* ~b~0 4))) (= (select (select .cse34 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse35)) (select (select .cse34 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse35 v_arrayElimCell_32)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) .cse15) (forall ((~M~0 Int)) (or (< .cse0 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (< ~M~0 (+ ~b~0 1)) (forall ((~a~0 Int)) (or (< ~a~0 0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (let ((.cse39 (* ~b~0 4)) (.cse40 (let ((.cse41 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse41 .cse5 (store (select .cse41 .cse5) (+ .cse7 v_arrayElimCell_31) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (let ((.cse38 (select .cse40 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse37 (select (select .cse40 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse39)))) (or (= .cse37 (select .cse38 (+ .cse39 v_arrayElimCell_32))) (forall ((v_arrayElimCell_34 Int)) (= (select .cse38 (+ .cse39 v_arrayElimCell_34)) .cse37)))))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0)))))))) .cse33) (or (and (forall ((~M~0 Int)) (or (< .cse0 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (< ~M~0 (+ ~b~0 1)) (forall ((~a~0 Int)) (or (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse45 (let ((.cse46 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse46 .cse5 (store (select .cse46 .cse5) (+ .cse7 v_arrayElimCell_32) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse44 (* ~b~0 4))) (let ((.cse42 (select (select .cse45 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse44))) (.cse43 (select .cse45 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= .cse42 (select .cse43 (+ .cse44 v_arrayElimCell_32))) (= .cse42 (select .cse43 (+ .cse44 v_arrayElimCell_33))))))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0))))))) (or .cse14 (forall ((~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (or (< ~b~0 0) (< ~a~0 0) (< .cse0 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (let ((.cse47 (let ((.cse49 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse49 .cse5 (store (select .cse49 .cse5) (+ .cse7 v_arrayElimCell_32) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse48 (* ~b~0 4))) (= (select (select .cse47 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse48)) (select (select .cse47 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse48 v_arrayElimCell_33)))))))) .cse15) (forall ((~M~0 Int)) (or (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse53 (let ((.cse54 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse54 .cse5 (store (select .cse54 .cse5) (+ .cse7 v_arrayElimCell_31) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse51 (* ~b~0 4))) (let ((.cse52 (select (select .cse53 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse51))) (.cse50 (select .cse53 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= (select .cse50 (+ .cse51 v_arrayElimCell_34)) .cse52) (= .cse52 (select .cse50 (+ .cse51 v_arrayElimCell_33))) (= .cse52 (select .cse50 (+ .cse51 v_arrayElimCell_32))))))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (< ~M~0 (+ ~b~0 1)))) (< .cse0 ~M~0))) (or .cse24 (forall ((~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< ~a~0 0) (< .cse0 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse55 (let ((.cse57 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse57 .cse5 (store (select .cse57 .cse5) (+ .cse7 v_arrayElimCell_32) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse56 (* ~b~0 4))) (= (select (select .cse55 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse56)) (select (select .cse55 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse56 v_arrayElimCell_34)))) (< ~M~0 (+ ~b~0 1))))) (or (forall ((~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse61 (let ((.cse62 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse62 .cse5 (store (select .cse62 .cse5) (+ .cse7 v_arrayElimCell_31) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse59 (* ~b~0 4))) (let ((.cse60 (select (select .cse61 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse59))) (.cse58 (select .cse61 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= (select .cse58 (+ .cse59 v_arrayElimCell_34)) .cse60) (< ~a~0 0) (< .cse0 ~M~0) (= .cse60 (select .cse58 (+ .cse59 v_arrayElimCell_33))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))))) .cse14) (forall ((~M~0 Int)) (or (< .cse0 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (< ~M~0 (+ ~b~0 1)) (forall ((~a~0 Int)) (or (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse66 (let ((.cse67 (store |c_#memory_int| c_~A~0.base (store .cse9 .cse10 |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse67 .cse5 (store (select .cse67 .cse5) (+ .cse7 v_arrayElimCell_32) (select .cse8 (+ .cse7 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse65 (* ~b~0 4))) (let ((.cse63 (select (select .cse66 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse65))) (.cse64 (select .cse66 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_34))) (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_32))) (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_33))))))))))))))))) is different from true [2024-04-05 20:26:24,429 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse6 (select (select |c_#memory_$Pointer$.base| c_~B~0.base) (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset)))) (let ((.cse12 (= c_~B~0.base c_~A~0.base)) (.cse16 (= .cse6 c_~B~0.base))) (let ((.cse38 (not .cse16)) (.cse11 (not .cse12)) (.cse3 (+ |c_thread1Thread1of1ForFork0_#t~post1| 1)) (.cse9 (select |c_#memory_int| c_~F~0.base)) (.cse8 (* c_thread2Thread1of1ForFork1_~j~0 4)) (.cse10 (select |c_#memory_int| c_~A~0.base)) (.cse4 (+ c_thread2Thread1of1ForFork1_~j~0 1))) (and (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse5 (let ((.cse7 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse7 .cse6 (store (select .cse7 .cse6) (+ .cse8 v_arrayElimCell_32) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse2 (* ~b~0 4))) (let ((.cse0 (select (select .cse5 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse2))) (.cse1 (select .cse5 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= .cse0 (select .cse1 (+ .cse2 v_arrayElimCell_34))) (= .cse0 (select .cse1 (+ .cse2 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)))))) .cse11) (or .cse12 (and (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int)) (or (< ~b~0 0) (let ((.cse13 (let ((.cse15 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse15 .cse6 (store (select .cse15 .cse6) (+ .cse8 v_arrayElimCell_32) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse14 (* ~b~0 4))) (= (select (select .cse13 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse14)) (select (select .cse13 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse14 v_arrayElimCell_32)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)))) .cse16) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int)) (or (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (forall ((~M~0 Int)) (or (< .cse4 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int)) (let ((.cse20 (let ((.cse21 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse21 .cse6 (store (select .cse21 .cse6) (+ .cse8 v_arrayElimCell_32) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse19 (* ~b~0 4))) (let ((.cse17 (select (select .cse20 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse19))) (.cse18 (select .cse20 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= .cse17 (select .cse18 (+ .cse19 v_arrayElimCell_32))) (forall ((v_arrayElimCell_34 Int)) (= .cse17 (select .cse18 (+ .cse19 v_arrayElimCell_34)))))))))) (< ~M~0 (+ ~b~0 1)))))))))) (or (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int)) (or (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (forall ((~M~0 Int)) (or (< .cse4 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse25 (let ((.cse26 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse26 .cse6 (store (select .cse26 .cse6) (+ .cse8 v_arrayElimCell_32) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse24 (* ~b~0 4))) (let ((.cse22 (select (select .cse25 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse24))) (.cse23 (select .cse25 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= .cse22 (select .cse23 (+ .cse24 v_arrayElimCell_32))) (= .cse22 (select .cse23 (+ .cse24 v_arrayElimCell_33))))))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (< ~M~0 (+ ~b~0 1)))))))) (or .cse11 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (or (< ~b~0 0) (let ((.cse27 (let ((.cse29 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse29 .cse6 (store (select .cse29 .cse6) (+ .cse8 v_arrayElimCell_32) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse28 (* ~b~0 4))) (= (select (select .cse27 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse28)) (select (select .cse27 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse28 v_arrayElimCell_33)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)))))) .cse16) (or .cse11 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse32 (* ~b~0 4)) (.cse33 (let ((.cse34 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse34 .cse6 (store (select .cse34 .cse6) (+ .cse8 v_arrayElimCell_31) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (let ((.cse31 (select .cse33 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse30 (select (select .cse33 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse32)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse30 (select .cse31 (+ .cse32 v_arrayElimCell_34))) (= (select .cse31 (+ .cse32 v_arrayElimCell_33)) .cse30) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0)))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (let ((.cse35 (let ((.cse37 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse37 .cse6 (store (select .cse37 .cse6) (+ .cse8 v_arrayElimCell_32) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse36 (* ~b~0 4))) (= (select (select .cse35 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse36)) (select (select .cse35 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse36 v_arrayElimCell_34)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)))) .cse38) (or (and (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (let ((.cse39 (let ((.cse41 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse41 .cse6 (store (select .cse41 .cse6) (+ .cse8 v_arrayElimCell_31) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse40 (* ~b~0 4))) (= (select (select .cse39 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse40)) (select (select .cse39 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse40 v_arrayElimCell_32)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) .cse16) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int)) (or (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (forall ((~M~0 Int)) (or (< .cse4 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (let ((.cse45 (let ((.cse46 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse46 .cse6 (store (select .cse46 .cse6) (+ .cse8 v_arrayElimCell_31) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse44 (* ~b~0 4))) (let ((.cse42 (select (select .cse45 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse44))) (.cse43 (select .cse45 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= .cse42 (select .cse43 (+ .cse44 v_arrayElimCell_32))) (forall ((v_arrayElimCell_34 Int)) (= .cse42 (select .cse43 (+ .cse44 v_arrayElimCell_34)))))))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (< ~M~0 (+ ~b~0 1))))))))) .cse12) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse47 (let ((.cse49 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse49 .cse6 (store (select .cse49 .cse6) (+ .cse8 v_arrayElimCell_31) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse48 (* ~b~0 4))) (= (select (select .cse47 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse48)) (select (select .cse47 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse48 v_arrayElimCell_34)))) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) .cse38) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int)) (or (forall ((~M~0 Int)) (or (< .cse4 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (< ~M~0 (+ ~b~0 1)) (forall ((~a~0 Int)) (or (< ~a~0 0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse53 (let ((.cse54 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse54 .cse6 (store (select .cse54 .cse6) (+ .cse8 v_arrayElimCell_32) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse52 (* ~b~0 4))) (let ((.cse50 (select (select .cse53 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse52))) (.cse51 (select .cse53 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (= .cse50 (select .cse51 (+ .cse52 v_arrayElimCell_32))) (= .cse50 (select .cse51 (+ .cse52 v_arrayElimCell_34))) (= .cse50 (select .cse51 (+ .cse52 v_arrayElimCell_33))))))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0))))))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3))) (or (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int)) (or (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (forall ((~M~0 Int)) (or (< .cse4 ~M~0) (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse57 (* ~b~0 4)) (.cse58 (let ((.cse59 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse59 .cse6 (store (select .cse59 .cse6) (+ .cse8 v_arrayElimCell_31) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (let ((.cse56 (select .cse58 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse55 (select (select .cse58 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse57)))) (or (= .cse55 (select .cse56 (+ .cse57 v_arrayElimCell_32))) (= (select .cse56 (+ .cse57 v_arrayElimCell_33)) .cse55))))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (< ~M~0 (+ ~b~0 1)))))))) (or .cse11 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (< ~a~0 0) (< .cse4 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse60 (let ((.cse62 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse62 .cse6 (store (select .cse62 .cse6) (+ .cse8 v_arrayElimCell_31) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))) (.cse61 (* ~b~0 4))) (= (select (select .cse60 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse61 v_arrayElimCell_33)) (select (select .cse60 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse61)))) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))))) .cse16) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int)) (or (< v_thread1Thread1of1ForFork0_~i~0_86 .cse3) (forall ((~M~0 Int)) (or (forall ((~b~0 Int)) (or (< ~b~0 0) (forall ((~a~0 Int)) (or (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (forall ((v_ArrVal_1317 (Array Int Int)) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse65 (* ~b~0 4)) (.cse66 (let ((.cse67 (store |c_#memory_int| c_~A~0.base (store .cse10 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) |thread1Thread1of1ForFork0_#t~mem2|)))) (store .cse67 .cse6 (store (select .cse67 .cse6) (+ .cse8 v_arrayElimCell_31) (select .cse9 (+ .cse8 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (let ((.cse64 (select .cse66 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse6 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse63 (select (select .cse66 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse65)))) (or (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_32))) (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_34))) (= (select .cse64 (+ .cse65 v_arrayElimCell_33)) .cse63))))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (< ~M~0 (+ ~b~0 1)))) (< .cse4 ~M~0))))))))) is different from true [2024-04-05 20:28:16,670 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse11 (= c_~B~0.base c_~A~0.base))) (let ((.cse1 (+ c_thread1Thread1of1ForFork0_~i~0 1)) (.cse2 (+ c_thread2Thread1of1ForFork1_~j~0 1)) (.cse6 (* c_thread2Thread1of1ForFork1_~j~0 4)) (.cse8 (select |c_#memory_int| c_~A~0.base)) (.cse9 (+ c_~A~0.offset (* c_thread1Thread1of1ForFork0_~i~0 4))) (.cse10 (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset)) (.cse29 (not .cse11))) (and (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse0 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (not (= .cse0 c_~B~0.base)) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_12 Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (let ((.cse3 (let ((.cse7 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse5 (store |c_#memory_int| c_~A~0.base (store .cse7 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_12)))) (store .cse5 .cse0 (store (select .cse5 .cse0) (+ .cse6 v_arrayElimCell_31) (select (select (store |c_#memory_int| c_~A~0.base .cse7) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse4 (* ~b~0 4))) (= (select (select .cse3 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse0 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse4 v_arrayElimCell_34)) (select (select .cse3 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse4)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0)))))) (or .cse11 (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_ArrVal_1312 (Array Int Int)) (v_arrayElimCell_32 Int) (v_subst_10 Int) (v_arrayElimCell_34 Int)) (let ((.cse16 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse15 (let ((.cse18 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse17 (store |c_#memory_int| c_~A~0.base (store .cse18 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_10)))) (store .cse17 .cse16 (store (select .cse17 .cse16) (+ .cse6 v_arrayElimCell_32) (select (select (store |c_#memory_int| c_~A~0.base .cse18) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse14 (* ~b~0 4))) (let ((.cse12 (select (select .cse15 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse14))) (.cse13 (select .cse15 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse16 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse12 (select .cse13 (+ .cse14 v_arrayElimCell_32))) (< ~M~0 (+ ~b~0 1)) (= .cse12 (select .cse13 (+ .cse14 v_arrayElimCell_34)))))))) (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse21 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_9 Int) (~M~0 Int) (v_arrayElimCell_32 Int)) (or (< ~b~0 0) (let ((.cse19 (let ((.cse23 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse22 (store |c_#memory_int| c_~A~0.base (store .cse23 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_9)))) (store .cse22 .cse21 (store (select .cse22 .cse21) (+ .cse6 v_arrayElimCell_32) (select (select (store |c_#memory_int| c_~A~0.base .cse23) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse20 (* ~b~0 4))) (= (select (select .cse19 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse20)) (select (select .cse19 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse21 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse20 v_arrayElimCell_32)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)))) (= .cse21 c_~B~0.base)))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_3 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse26 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (< ~b~0 0) (let ((.cse24 (let ((.cse28 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse27 (store |c_#memory_int| c_~A~0.base (store .cse28 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_3)))) (store .cse27 .cse26 (store (select .cse27 .cse26) (+ .cse6 v_arrayElimCell_32) (select (select (store |c_#memory_int| c_~A~0.base .cse28) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse25 (* ~b~0 4))) (= (select (select .cse24 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse25)) (select (select .cse24 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse26 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse25 v_arrayElimCell_33)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= .cse26 c_~B~0.base)))) .cse29) (or .cse29 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_2 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse32 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (let ((.cse30 (let ((.cse34 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse33 (store |c_#memory_int| c_~A~0.base (store .cse34 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_2)))) (store .cse33 .cse32 (store (select .cse33 .cse32) (+ .cse6 v_arrayElimCell_31) (select (select (store |c_#memory_int| c_~A~0.base .cse34) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse31 (* ~b~0 4))) (= (select (select .cse30 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse31)) (select (select .cse30 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse32 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse31 v_arrayElimCell_33)))) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= .cse32 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_11 Int) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse39 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse38 (let ((.cse41 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse40 (store |c_#memory_int| c_~A~0.base (store .cse41 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_11)))) (store .cse40 .cse39 (store (select .cse40 .cse39) (+ .cse6 v_arrayElimCell_31) (select (select (store |c_#memory_int| c_~A~0.base .cse41) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse37 (* ~b~0 4))) (let ((.cse35 (select (select .cse38 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse37))) (.cse36 (select .cse38 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse39 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse35 (select .cse36 (+ .cse37 v_arrayElimCell_33))) (< ~M~0 (+ ~b~0 1)) (= .cse35 (select .cse36 (+ .cse37 v_arrayElimCell_34))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0)))))) .cse29) (or (and (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse44 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_6 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (let ((.cse42 (let ((.cse46 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse45 (store |c_#memory_int| c_~A~0.base (store .cse46 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_6)))) (store .cse45 .cse44 (store (select .cse45 .cse44) (+ .cse6 v_arrayElimCell_31) (select (select (store |c_#memory_int| c_~A~0.base .cse46) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse43 (* ~b~0 4))) (= (select (select .cse42 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse43)) (select (select .cse42 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse44 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse43 v_arrayElimCell_32)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))) (= .cse44 c_~B~0.base)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_5 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse51 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse50 (let ((.cse53 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse52 (store |c_#memory_int| c_~A~0.base (store .cse53 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_5)))) (store .cse52 .cse51 (store (select .cse52 .cse51) (+ .cse6 v_arrayElimCell_31) (select (select (store |c_#memory_int| c_~A~0.base .cse53) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse49 (* ~b~0 4))) (let ((.cse47 (select (select .cse50 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse49))) (.cse48 (select .cse50 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse51 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse47 (select .cse48 (+ .cse49 v_arrayElimCell_34))) (< ~M~0 (+ ~b~0 1)) (= .cse47 (select .cse48 (+ .cse49 v_arrayElimCell_32))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))))))) .cse11) (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse58 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_subst_1 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse55 (* ~b~0 4)) (.cse57 (let ((.cse60 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse59 (store |c_#memory_int| c_~A~0.base (store .cse60 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_1)))) (store .cse59 .cse58 (store (select .cse59 .cse58) (+ .cse6 v_arrayElimCell_31) (select (select (store |c_#memory_int| c_~A~0.base .cse60) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse54 (select .cse57 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse58 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse56 (select (select .cse57 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse55)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse54 (+ .cse55 v_arrayElimCell_33)) .cse56) (< ~M~0 (+ ~b~0 1)) (= (select .cse54 (+ .cse55 v_arrayElimCell_32)) .cse56) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0))))) (= .cse58 c_~B~0.base)))) (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse65 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_4 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse62 (* ~b~0 4)) (.cse64 (let ((.cse67 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse66 (store |c_#memory_int| c_~A~0.base (store .cse67 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_4)))) (store .cse66 .cse65 (store (select .cse66 .cse65) (+ .cse6 v_arrayElimCell_32) (select (select (store |c_#memory_int| c_~A~0.base .cse67) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse61 (select .cse64 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse65 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse63 (select (select .cse64 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse62)))) (or (= (select .cse61 (+ .cse62 v_arrayElimCell_32)) .cse63) (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse61 (+ .cse62 v_arrayElimCell_33)) .cse63) (< ~M~0 (+ ~b~0 1)))))) (= .cse65 c_~B~0.base)))) (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse69 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_7 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (let ((.cse68 (let ((.cse72 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse71 (store |c_#memory_int| c_~A~0.base (store .cse72 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_7)))) (store .cse71 .cse69 (store (select .cse71 .cse69) (+ .cse6 v_arrayElimCell_32) (select (select (store |c_#memory_int| c_~A~0.base .cse72) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse70 (* ~b~0 4))) (= (select (select .cse68 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse69 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse70 v_arrayElimCell_34)) (select (select .cse68 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse70)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)))) (not (= .cse69 c_~B~0.base))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_13 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse77 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse75 (* ~b~0 4)) (.cse76 (let ((.cse79 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse78 (store |c_#memory_int| c_~A~0.base (store .cse79 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_13)))) (store .cse78 .cse77 (store (select .cse78 .cse77) (+ .cse6 v_arrayElimCell_31) (select (select (store |c_#memory_int| c_~A~0.base .cse79) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse74 (select .cse76 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse77 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse73 (select (select .cse76 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse75)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (= .cse73 (select .cse74 (+ .cse75 v_arrayElimCell_33))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse73 (select .cse74 (+ .cse75 v_arrayElimCell_32))) (= (select .cse74 (+ .cse75 v_arrayElimCell_34)) .cse73) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_8 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse84 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse83 (let ((.cse86 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse85 (store |c_#memory_int| c_~A~0.base (store .cse86 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_8)))) (store .cse85 .cse84 (store (select .cse85 .cse84) (+ .cse6 v_arrayElimCell_32) (select (select (store |c_#memory_int| c_~A~0.base .cse86) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse81 (* ~b~0 4))) (let ((.cse82 (select (select .cse83 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse81))) (.cse80 (select .cse83 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse84 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= (select .cse80 (+ .cse81 v_arrayElimCell_33)) .cse82) (= .cse82 (select .cse80 (+ .cse81 v_arrayElimCell_32))) (= .cse82 (select .cse80 (+ .cse81 v_arrayElimCell_34)))))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_subst_14 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse91 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse90 (let ((.cse93 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse92 (store |c_#memory_int| c_~A~0.base (store .cse93 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_14)))) (store .cse92 .cse91 (store (select .cse92 .cse91) (+ .cse6 v_arrayElimCell_32) (select (select (store |c_#memory_int| c_~A~0.base .cse93) c_~F~0.base) (+ .cse6 c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse89 (* ~b~0 4))) (let ((.cse87 (select (select .cse90 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse89))) (.cse88 (select .cse90 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse91 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< .cse2 ~M~0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= .cse87 (select .cse88 (+ .cse89 v_arrayElimCell_33))) (= .cse87 (select .cse88 (+ .cse89 v_arrayElimCell_34)))))))) .cse29)))) is different from true [2024-04-05 20:28:20,798 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse45 (= c_~B~0.base c_~A~0.base))) (let ((.cse18 (not .cse45)) (.cse1 (+ c_thread1Thread1of1ForFork0_~i~0 1)) (.cse8 (select |c_#memory_int| c_~A~0.base)) (.cse9 (+ c_~A~0.offset (* c_thread1Thread1of1ForFork0_~i~0 4))) (.cse10 (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset))) (and (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse0 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (= .cse0 c_~B~0.base) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_subst_1 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse5 (let ((.cse7 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse6 (store |c_#memory_int| c_~A~0.base (store .cse7 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_1)))) (store .cse6 .cse0 (store (select .cse6 .cse0) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse7) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse3 (* ~b~0 4))) (let ((.cse4 (select (select .cse5 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse3))) (.cse2 (select .cse5 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse0 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (= (select .cse2 (+ .cse3 v_arrayElimCell_32)) .cse4) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (= .cse4 (select .cse2 (+ .cse3 v_arrayElimCell_33)))))))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_13 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse15 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse12 (* ~b~0 4)) (.cse14 (let ((.cse17 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse16 (store |c_#memory_int| c_~A~0.base (store .cse17 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_13)))) (store .cse16 .cse15 (store (select .cse16 .cse15) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse17) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse11 (select .cse14 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse15 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse13 (select (select .cse14 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse12)))) (or (< ~b~0 0) (= (select .cse11 (+ .cse12 v_arrayElimCell_34)) .cse13) (= (select .cse11 (+ .cse12 v_arrayElimCell_33)) .cse13) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (= (select .cse11 (+ .cse12 v_arrayElimCell_32)) .cse13)))))) (or .cse18 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_2 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse21 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse19 (let ((.cse23 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse22 (store |c_#memory_int| c_~A~0.base (store .cse23 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_2)))) (store .cse22 .cse21 (store (select .cse22 .cse21) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse23) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse20 (* ~b~0 4))) (= (select (select .cse19 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse20)) (select (select .cse19 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse21 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse20 v_arrayElimCell_33)))) (< ~M~0 (+ ~b~0 1)) (= .cse21 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))) (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse28 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_4 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse26 (* ~b~0 4)) (.cse27 (let ((.cse30 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse29 (store |c_#memory_int| c_~A~0.base (store .cse30 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_4)))) (store .cse29 .cse28 (store (select .cse29 .cse28) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse30) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse25 (select .cse27 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse28 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse24 (select (select .cse27 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse26)))) (or (< ~b~0 0) (= .cse24 (select .cse25 (+ .cse26 v_arrayElimCell_33))) (= (select .cse25 (+ .cse26 v_arrayElimCell_32)) .cse24) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0))))) (= .cse28 c_~B~0.base)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_8 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse35 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse33 (* ~b~0 4)) (.cse34 (let ((.cse37 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse36 (store |c_#memory_int| c_~A~0.base (store .cse37 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_8)))) (store .cse36 .cse35 (store (select .cse36 .cse35) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse37) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse32 (select .cse34 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse35 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse31 (select (select .cse34 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse33)))) (or (< ~b~0 0) (= .cse31 (select .cse32 (+ .cse33 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (= (select .cse32 (+ .cse33 v_arrayElimCell_34)) .cse31) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0) (= (select .cse32 (+ .cse33 v_arrayElimCell_32)) .cse31)))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_subst_14 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse42 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse39 (* ~b~0 4)) (.cse41 (let ((.cse44 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse43 (store |c_#memory_int| c_~A~0.base (store .cse44 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_14)))) (store .cse43 .cse42 (store (select .cse43 .cse42) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse44) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse38 (select .cse41 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse42 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse40 (select (select .cse41 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse39)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= (select .cse38 (+ .cse39 v_arrayElimCell_33)) .cse40) (= (select .cse38 (+ .cse39 v_arrayElimCell_34)) .cse40) (< 1 ~M~0)))))) .cse18) (or .cse45 (and (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse47 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_6 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (or (< ~b~0 0) (let ((.cse46 (let ((.cse50 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse49 (store |c_#memory_int| c_~A~0.base (store .cse50 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_6)))) (store .cse49 .cse47 (store (select .cse49 .cse47) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse50) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse48 (* ~b~0 4))) (= (select (select .cse46 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse47 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse48 v_arrayElimCell_32)) (select (select .cse46 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse48)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))) (= .cse47 c_~B~0.base)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_5 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse55 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse52 (* ~b~0 4)) (.cse54 (let ((.cse57 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse56 (store |c_#memory_int| c_~A~0.base (store .cse57 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_5)))) (store .cse56 .cse55 (store (select .cse56 .cse55) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse57) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse51 (select .cse54 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse55 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse53 (select (select .cse54 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse52)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= (select .cse51 (+ .cse52 v_arrayElimCell_34)) .cse53) (= (select .cse51 (+ .cse52 v_arrayElimCell_32)) .cse53) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))))) (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse59 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_12 Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (let ((.cse58 (let ((.cse62 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse61 (store |c_#memory_int| c_~A~0.base (store .cse62 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_12)))) (store .cse61 .cse59 (store (select .cse61 .cse59) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse62) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse60 (* ~b~0 4))) (= (select (select .cse58 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse59 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse60 v_arrayElimCell_34)) (select (select .cse58 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse60)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))) (not (= .cse59 c_~B~0.base))))) (or .cse18 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_11 Int) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse67 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse66 (let ((.cse69 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse68 (store |c_#memory_int| c_~A~0.base (store .cse69 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_11)))) (store .cse68 .cse67 (store (select .cse68 .cse67) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse69) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse65 (* ~b~0 4))) (let ((.cse63 (select (select .cse66 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse65))) (.cse64 (select .cse66 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse67 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_33))) (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_34))) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))))) (or .cse45 (and (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse70 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (= .cse70 c_~B~0.base) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_9 Int) (~M~0 Int) (v_arrayElimCell_32 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (let ((.cse71 (let ((.cse74 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse73 (store |c_#memory_int| c_~A~0.base (store .cse74 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_9)))) (store .cse73 .cse70 (store (select .cse73 .cse70) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse74) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse72 (* ~b~0 4))) (= (select (select .cse71 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse72)) (select (select .cse71 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse70 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse72 v_arrayElimCell_32)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_ArrVal_1312 (Array Int Int)) (v_arrayElimCell_32 Int) (v_subst_10 Int) (v_arrayElimCell_34 Int)) (let ((.cse79 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse78 (let ((.cse81 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse80 (store |c_#memory_int| c_~A~0.base (store .cse81 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_10)))) (store .cse80 .cse79 (store (select .cse80 .cse79) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse81) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse76 (* ~b~0 4))) (let ((.cse77 (select (select .cse78 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse76))) (.cse75 (select .cse78 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse79 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= (select .cse75 (+ .cse76 v_arrayElimCell_32)) .cse77) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= .cse77 (select .cse75 (+ .cse76 v_arrayElimCell_34))) (< 1 ~M~0)))))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_3 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse84 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (let ((.cse82 (let ((.cse86 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse85 (store |c_#memory_int| c_~A~0.base (store .cse86 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_3)))) (store .cse85 .cse84 (store (select .cse85 .cse84) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse86) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse83 (* ~b~0 4))) (= (select (select .cse82 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse83)) (select (select .cse82 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse84 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse83 v_arrayElimCell_33)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= .cse84 c_~B~0.base) (< 1 ~M~0)))) .cse18) (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse89 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_7 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse87 (let ((.cse91 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse90 (store |c_#memory_int| c_~A~0.base (store .cse91 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_7)))) (store .cse90 .cse89 (store (select .cse90 .cse89) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse91) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse88 (* ~b~0 4))) (= (select (select .cse87 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse88)) (select (select .cse87 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse89 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse88 v_arrayElimCell_34)))) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0))) (not (= .cse89 c_~B~0.base)))))))) is different from false [2024-04-05 20:28:22,828 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse45 (= c_~B~0.base c_~A~0.base))) (let ((.cse18 (not .cse45)) (.cse1 (+ c_thread1Thread1of1ForFork0_~i~0 1)) (.cse8 (select |c_#memory_int| c_~A~0.base)) (.cse9 (+ c_~A~0.offset (* c_thread1Thread1of1ForFork0_~i~0 4))) (.cse10 (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset))) (and (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse0 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (= .cse0 c_~B~0.base) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_subst_1 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse5 (let ((.cse7 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse6 (store |c_#memory_int| c_~A~0.base (store .cse7 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_1)))) (store .cse6 .cse0 (store (select .cse6 .cse0) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse7) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse3 (* ~b~0 4))) (let ((.cse4 (select (select .cse5 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse3))) (.cse2 (select .cse5 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse0 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (= (select .cse2 (+ .cse3 v_arrayElimCell_32)) .cse4) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (= .cse4 (select .cse2 (+ .cse3 v_arrayElimCell_33)))))))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_13 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse15 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse12 (* ~b~0 4)) (.cse14 (let ((.cse17 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse16 (store |c_#memory_int| c_~A~0.base (store .cse17 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_13)))) (store .cse16 .cse15 (store (select .cse16 .cse15) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse17) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse11 (select .cse14 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse15 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse13 (select (select .cse14 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse12)))) (or (< ~b~0 0) (= (select .cse11 (+ .cse12 v_arrayElimCell_34)) .cse13) (= (select .cse11 (+ .cse12 v_arrayElimCell_33)) .cse13) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (= (select .cse11 (+ .cse12 v_arrayElimCell_32)) .cse13)))))) (or .cse18 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_2 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse21 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse19 (let ((.cse23 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse22 (store |c_#memory_int| c_~A~0.base (store .cse23 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_2)))) (store .cse22 .cse21 (store (select .cse22 .cse21) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse23) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse20 (* ~b~0 4))) (= (select (select .cse19 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse20)) (select (select .cse19 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse21 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse20 v_arrayElimCell_33)))) (< ~M~0 (+ ~b~0 1)) (= .cse21 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))) (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse28 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_4 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse26 (* ~b~0 4)) (.cse27 (let ((.cse30 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse29 (store |c_#memory_int| c_~A~0.base (store .cse30 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_4)))) (store .cse29 .cse28 (store (select .cse29 .cse28) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse30) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse25 (select .cse27 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse28 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse24 (select (select .cse27 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse26)))) (or (< ~b~0 0) (= .cse24 (select .cse25 (+ .cse26 v_arrayElimCell_33))) (= (select .cse25 (+ .cse26 v_arrayElimCell_32)) .cse24) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0))))) (= .cse28 c_~B~0.base)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_8 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse35 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse33 (* ~b~0 4)) (.cse34 (let ((.cse37 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse36 (store |c_#memory_int| c_~A~0.base (store .cse37 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_8)))) (store .cse36 .cse35 (store (select .cse36 .cse35) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse37) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse32 (select .cse34 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse35 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse31 (select (select .cse34 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse33)))) (or (< ~b~0 0) (= .cse31 (select .cse32 (+ .cse33 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (= (select .cse32 (+ .cse33 v_arrayElimCell_34)) .cse31) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0) (= (select .cse32 (+ .cse33 v_arrayElimCell_32)) .cse31)))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_subst_14 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse42 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse39 (* ~b~0 4)) (.cse41 (let ((.cse44 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse43 (store |c_#memory_int| c_~A~0.base (store .cse44 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_14)))) (store .cse43 .cse42 (store (select .cse43 .cse42) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse44) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse38 (select .cse41 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse42 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse40 (select (select .cse41 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse39)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= (select .cse38 (+ .cse39 v_arrayElimCell_33)) .cse40) (= (select .cse38 (+ .cse39 v_arrayElimCell_34)) .cse40) (< 1 ~M~0)))))) .cse18) (or .cse45 (and (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse47 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_6 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (or (< ~b~0 0) (let ((.cse46 (let ((.cse50 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse49 (store |c_#memory_int| c_~A~0.base (store .cse50 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_6)))) (store .cse49 .cse47 (store (select .cse49 .cse47) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse50) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse48 (* ~b~0 4))) (= (select (select .cse46 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse47 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse48 v_arrayElimCell_32)) (select (select .cse46 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse48)))) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))) (= .cse47 c_~B~0.base)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_5 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse55 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse52 (* ~b~0 4)) (.cse54 (let ((.cse57 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse56 (store |c_#memory_int| c_~A~0.base (store .cse57 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_5)))) (store .cse56 .cse55 (store (select .cse56 .cse55) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse57) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse51 (select .cse54 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse55 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse53 (select (select .cse54 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse52)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= (select .cse51 (+ .cse52 v_arrayElimCell_34)) .cse53) (= (select .cse51 (+ .cse52 v_arrayElimCell_32)) .cse53) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))))) (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse59 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_12 Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (let ((.cse58 (let ((.cse62 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse61 (store |c_#memory_int| c_~A~0.base (store .cse62 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_12)))) (store .cse61 .cse59 (store (select .cse61 .cse59) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse62) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse60 (* ~b~0 4))) (= (select (select .cse58 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse59 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse60 v_arrayElimCell_34)) (select (select .cse58 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse60)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))) (not (= .cse59 c_~B~0.base))))) (or .cse18 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_11 Int) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse67 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse66 (let ((.cse69 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse68 (store |c_#memory_int| c_~A~0.base (store .cse69 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_11)))) (store .cse68 .cse67 (store (select .cse68 .cse67) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse69) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse65 (* ~b~0 4))) (let ((.cse63 (select (select .cse66 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse65))) (.cse64 (select .cse66 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse67 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_33))) (= .cse63 (select .cse64 (+ .cse65 v_arrayElimCell_34))) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))))) (or .cse45 (and (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse70 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (= .cse70 c_~B~0.base) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_9 Int) (~M~0 Int) (v_arrayElimCell_32 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (let ((.cse71 (let ((.cse74 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse73 (store |c_#memory_int| c_~A~0.base (store .cse74 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_9)))) (store .cse73 .cse70 (store (select .cse73 .cse70) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse74) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse72 (* ~b~0 4))) (= (select (select .cse71 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse72)) (select (select .cse71 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse70 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse72 v_arrayElimCell_32)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_ArrVal_1312 (Array Int Int)) (v_arrayElimCell_32 Int) (v_subst_10 Int) (v_arrayElimCell_34 Int)) (let ((.cse79 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (let ((.cse78 (let ((.cse81 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse80 (store |c_#memory_int| c_~A~0.base (store .cse81 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_10)))) (store .cse80 .cse79 (store (select .cse80 .cse79) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse81) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse76 (* ~b~0 4))) (let ((.cse77 (select (select .cse78 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse76))) (.cse75 (select .cse78 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse79 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= (select .cse75 (+ .cse76 v_arrayElimCell_32)) .cse77) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= .cse77 (select .cse75 (+ .cse76 v_arrayElimCell_34))) (< 1 ~M~0)))))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_3 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse84 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (let ((.cse82 (let ((.cse86 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse85 (store |c_#memory_int| c_~A~0.base (store .cse86 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_3)))) (store .cse85 .cse84 (store (select .cse85 .cse84) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse86) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse83 (* ~b~0 4))) (= (select (select .cse82 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse83)) (select (select .cse82 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse84 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse83 v_arrayElimCell_33)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< ~M~0 (+ ~b~0 1)) (= .cse84 c_~B~0.base) (< 1 ~M~0)))) .cse18) (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse89 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_7 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_86 .cse1) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse87 (let ((.cse91 (store .cse8 .cse9 |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse90 (store |c_#memory_int| c_~A~0.base (store .cse91 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_7)))) (store .cse90 .cse89 (store (select .cse90 .cse89) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse91) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse88 (* ~b~0 4))) (= (select (select .cse87 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse88)) (select (select .cse87 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse89 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse88 v_arrayElimCell_34)))) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0))) (not (= .cse89 c_~B~0.base)))))))) is different from true [2024-04-05 20:28:28,618 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse0 (= c_~B~0.base c_~A~0.base))) (let ((.cse21 (not .cse0)) (.cse8 (select |c_#memory_int| c_~A~0.base)) (.cse9 (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset)) (.cse10 (+ |c_thread1Thread1of1ForFork0_#t~post1| 1))) (and (or .cse0 (and (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_5 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse5 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse4 (let ((.cse7 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse6 (store |c_#memory_int| c_~A~0.base (store .cse7 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_5)))) (store .cse6 .cse5 (store (select .cse6 .cse5) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse7) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse3 (* ~b~0 4))) (let ((.cse1 (select (select .cse4 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse3))) (.cse2 (select .cse4 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_34))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_32))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse12 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_6 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (or (< ~b~0 0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (let ((.cse11 (let ((.cse15 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse14 (store |c_#memory_int| c_~A~0.base (store .cse15 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_6)))) (store .cse14 .cse12 (store (select .cse14 .cse12) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse15) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse13 (* ~b~0 4))) (= (select (select .cse11 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse12 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse13 v_arrayElimCell_32)) (select (select .cse11 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse13)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))) (= .cse12 c_~B~0.base)))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_3 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse18 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (let ((.cse16 (let ((.cse20 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse19 (store |c_#memory_int| c_~A~0.base (store .cse20 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_3)))) (store .cse19 .cse18 (store (select .cse19 .cse18) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse20) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse17 (* ~b~0 4))) (= (select (select .cse16 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse17)) (select (select .cse16 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse18 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse17 v_arrayElimCell_33)))) (< ~M~0 (+ ~b~0 1)) (= .cse18 c_~B~0.base) (< 1 ~M~0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10)))) .cse21) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_subst_14 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse26 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse23 (* ~b~0 4)) (.cse25 (let ((.cse28 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse27 (store |c_#memory_int| c_~A~0.base (store .cse28 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_14)))) (store .cse27 .cse26 (store (select .cse27 .cse26) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse28) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse22 (select .cse25 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse26 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse24 (select (select .cse25 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse23)))) (or (< ~b~0 0) (< ~a~0 0) (= (select .cse22 (+ .cse23 v_arrayElimCell_33)) .cse24) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= (select .cse22 (+ .cse23 v_arrayElimCell_34)) .cse24) (< 1 ~M~0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10)))))) .cse21) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse33 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_4 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse32 (let ((.cse35 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse34 (store |c_#memory_int| c_~A~0.base (store .cse35 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_4)))) (store .cse34 .cse33 (store (select .cse34 .cse33) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse35) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse31 (* ~b~0 4))) (let ((.cse29 (select (select .cse32 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse31))) (.cse30 (select .cse32 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse33 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse29 (select .cse30 (+ .cse31 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse29 (select .cse30 (+ .cse31 v_arrayElimCell_32))) (< 1 ~M~0))))) (= .cse33 c_~B~0.base)))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_11 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse40 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse39 (let ((.cse42 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse41 (store |c_#memory_int| c_~A~0.base (store .cse42 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_11)))) (store .cse41 .cse40 (store (select .cse41 .cse40) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse42) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse37 (* ~b~0 4))) (let ((.cse38 (select (select .cse39 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse37))) (.cse36 (select .cse39 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse40 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< ~a~0 0) (= (select .cse36 (+ .cse37 v_arrayElimCell_33)) .cse38) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse38 (select .cse36 (+ .cse37 v_arrayElimCell_34))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10)))))) .cse21) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse45 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_12 Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (< ~a~0 0) (let ((.cse43 (let ((.cse47 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse46 (store |c_#memory_int| c_~A~0.base (store .cse47 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_12)))) (store .cse46 .cse45 (store (select .cse46 .cse45) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse47) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse44 (* ~b~0 4))) (= (select (select .cse43 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse44)) (select (select .cse43 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse45 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse44 v_arrayElimCell_34)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))) (not (= .cse45 c_~B~0.base))))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))) (or .cse0 (and (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_ArrVal_1312 (Array Int Int)) (v_arrayElimCell_32 Int) (v_subst_10 Int) (v_arrayElimCell_34 Int)) (let ((.cse52 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse49 (* ~b~0 4)) (.cse51 (let ((.cse54 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse53 (store |c_#memory_int| c_~A~0.base (store .cse54 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_10)))) (store .cse53 .cse52 (store (select .cse53 .cse52) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse54) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse48 (select .cse51 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse52 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse50 (select (select .cse51 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse49)))) (or (< ~b~0 0) (= (select .cse48 (+ .cse49 v_arrayElimCell_32)) .cse50) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse48 (+ .cse49 v_arrayElimCell_34)) .cse50) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0)))))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse55 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (= .cse55 c_~B~0.base) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_9 Int) (~M~0 Int) (v_arrayElimCell_32 Int)) (or (< ~b~0 0) (< ~a~0 0) (let ((.cse56 (let ((.cse59 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse58 (store |c_#memory_int| c_~A~0.base (store .cse59 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_9)))) (store .cse58 .cse55 (store (select .cse58 .cse55) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse59) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse57 (* ~b~0 4))) (= (select (select .cse56 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse55 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse57 v_arrayElimCell_32)) (select (select .cse56 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse57)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0)))))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((v_ArrVal_1312 (Array Int Int))) (let ((.cse64 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_subst_1 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse63 (let ((.cse66 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse65 (store |c_#memory_int| c_~A~0.base (store .cse66 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_1)))) (store .cse65 .cse64 (store (select .cse65 .cse64) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse66) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse62 (* ~b~0 4))) (let ((.cse60 (select (select .cse63 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse62))) (.cse61 (select .cse63 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse64 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< ~a~0 0) (= .cse60 (select .cse61 (+ .cse62 v_arrayElimCell_33))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse60 (select .cse61 (+ .cse62 v_arrayElimCell_32))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))) (= .cse64 c_~B~0.base)))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (~a~0 Int) (v_ArrVal_1317 (Array Int Int)) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_2 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse69 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse67 (let ((.cse71 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse70 (store |c_#memory_int| c_~A~0.base (store .cse71 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_2)))) (store .cse70 .cse69 (store (select .cse70 .cse69) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse71) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse68 (* ~b~0 4))) (= (select (select .cse67 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse68)) (select (select .cse67 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse69 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse68 v_arrayElimCell_33)))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse69 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10)))) .cse21) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_13 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse76 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse75 (let ((.cse78 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse77 (store |c_#memory_int| c_~A~0.base (store .cse78 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_13)))) (store .cse77 .cse76 (store (select .cse77 .cse76) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse78) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse74 (* ~b~0 4))) (let ((.cse72 (select (select .cse75 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse74))) (.cse73 (select .cse75 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse76 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= .cse72 (select .cse73 (+ .cse74 v_arrayElimCell_33))) (= (select .cse73 (+ .cse74 v_arrayElimCell_32)) .cse72) (= .cse72 (select .cse73 (+ .cse74 v_arrayElimCell_34))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((|thread1Thread1of1ForFork0_#t~mem2| Int) (v_ArrVal_1312 (Array Int Int))) (let ((.cse81 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (~M~0 Int) (v_subst_7 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (or (< ~b~0 0) (let ((.cse79 (let ((.cse83 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse82 (store |c_#memory_int| c_~A~0.base (store .cse83 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_7)))) (store .cse82 .cse81 (store (select .cse82 .cse81) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse83) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse80 (* ~b~0 4))) (= (select (select .cse79 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse80)) (select (select .cse79 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse81 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse80 v_arrayElimCell_34)))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0))) (not (= .cse81 c_~B~0.base))))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10))) (forall ((v_thread1Thread1of1ForFork0_~i~0_87 Int)) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_8 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse88 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse87 (let ((.cse90 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse89 (store |c_#memory_int| c_~A~0.base (store .cse90 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_8)))) (store .cse89 .cse88 (store (select .cse89 .cse88) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse90) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse86 (* ~b~0 4))) (let ((.cse84 (select (select .cse87 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse86))) (.cse85 (select .cse87 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse88 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_32))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse85 (+ .cse86 v_arrayElimCell_33)) .cse84) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_34))) (< 1 ~M~0)))))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse10)))))) is different from true [2024-04-05 20:28:30,639 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse27 (= c_~B~0.base c_~A~0.base))) (let ((.cse33 (not .cse27)) (.cse0 (+ c_thread1Thread1of1ForFork0_~i~0 1)) (.cse8 (select |c_#memory_int| c_~A~0.base)) (.cse9 (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset))) (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_8 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse5 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse4 (let ((.cse7 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse6 (store |c_#memory_int| c_~A~0.base (store .cse7 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_8)))) (store .cse6 .cse5 (store (select .cse6 .cse5) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse7) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse3 (* ~b~0 4))) (let ((.cse1 (select (select .cse4 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse3))) (.cse2 (select .cse4 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_32))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse2 (+ .cse3 v_arrayElimCell_33)) .cse1) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_34))) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_7 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (let ((.cse12 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (let ((.cse10 (let ((.cse14 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse13 (store |c_#memory_int| c_~A~0.base (store .cse14 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_7)))) (store .cse13 .cse12 (store (select .cse13 .cse12) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse14) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse11 (* ~b~0 4))) (= (select (select .cse10 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse11)) (select (select .cse10 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse12 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse11 v_arrayElimCell_34)))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0) (not (= .cse12 c_~B~0.base))))) (or (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_5 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse19 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse18 (let ((.cse21 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse20 (store |c_#memory_int| c_~A~0.base (store .cse21 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_5)))) (store .cse20 .cse19 (store (select .cse20 .cse19) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse21) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse17 (* ~b~0 4))) (let ((.cse15 (select (select .cse18 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse17))) (.cse16 (select .cse18 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse19 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse15 (select .cse16 (+ .cse17 v_arrayElimCell_34))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse15 (select .cse16 (+ .cse17 v_arrayElimCell_32))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_6 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (let ((.cse22 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse22 c_~B~0.base) (let ((.cse23 (let ((.cse26 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse25 (store |c_#memory_int| c_~A~0.base (store .cse26 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_6)))) (store .cse25 .cse22 (store (select .cse25 .cse22) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse26) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse24 (* ~b~0 4))) (= (select (select .cse23 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse22 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse24 v_arrayElimCell_32)) (select (select .cse23 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse24)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))) .cse27) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_3 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse30 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (let ((.cse28 (let ((.cse32 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse31 (store |c_#memory_int| c_~A~0.base (store .cse32 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_3)))) (store .cse31 .cse30 (store (select .cse31 .cse30) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse32) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse29 (* ~b~0 4))) (= (select (select .cse28 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse29)) (select (select .cse28 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse30 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse29 v_arrayElimCell_33)))) (< ~M~0 (+ ~b~0 1)) (= .cse30 c_~B~0.base) (< 1 ~M~0)))) .cse33) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_4 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse37 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse38 (let ((.cse40 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse39 (store |c_#memory_int| c_~A~0.base (store .cse40 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_4)))) (store .cse39 .cse37 (store (select .cse39 .cse37) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse40) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse36 (* ~b~0 4))) (let ((.cse34 (select (select .cse38 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse36))) (.cse35 (select .cse38 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse37 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse34 (select .cse35 (+ .cse36 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse37 c_~B~0.base) (= .cse34 (select .cse35 (+ .cse36 v_arrayElimCell_32))) (< 1 ~M~0)))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_2 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse43 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse41 (let ((.cse45 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse44 (store |c_#memory_int| c_~A~0.base (store .cse45 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_2)))) (store .cse44 .cse43 (store (select .cse44 .cse43) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse45) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse42 (* ~b~0 4))) (= (select (select .cse41 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse42)) (select (select .cse41 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse43 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse42 v_arrayElimCell_33)))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse43 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))) .cse33) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_11 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse50 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse49 (let ((.cse52 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse51 (store |c_#memory_int| c_~A~0.base (store .cse52 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_11)))) (store .cse51 .cse50 (store (select .cse51 .cse50) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse52) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse47 (* ~b~0 4))) (let ((.cse48 (select (select .cse49 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse47))) (.cse46 (select .cse49 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse50 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (= (select .cse46 (+ .cse47 v_arrayElimCell_33)) .cse48) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse48 (select .cse46 (+ .cse47 v_arrayElimCell_34))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) .cse33) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_subst_14 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse57 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse54 (* ~b~0 4)) (.cse56 (let ((.cse59 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse58 (store |c_#memory_int| c_~A~0.base (store .cse59 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_14)))) (store .cse58 .cse57 (store (select .cse58 .cse57) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse59) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse53 (select .cse56 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse57 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse55 (select (select .cse56 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse54)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (= (select .cse53 (+ .cse54 v_arrayElimCell_33)) .cse55) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= (select .cse53 (+ .cse54 v_arrayElimCell_34)) .cse55) (< 1 ~M~0)))))) .cse33) (or .cse27 (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_subst_9 Int) (~M~0 Int) (v_ArrVal_1312 (Array Int Int)) (v_arrayElimCell_32 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int)) (let ((.cse61 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (let ((.cse60 (let ((.cse64 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse63 (store |c_#memory_int| c_~A~0.base (store .cse64 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_9)))) (store .cse63 .cse61 (store (select .cse63 .cse61) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse64) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse62 (* ~b~0 4))) (= (select (select .cse60 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse61 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse62 v_arrayElimCell_32)) (select (select .cse60 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse62)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse61 c_~B~0.base) (< 1 ~M~0)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_10 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (let ((.cse69 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse66 (* ~b~0 4)) (.cse68 (let ((.cse71 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse70 (store |c_#memory_int| c_~A~0.base (store .cse71 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_10)))) (store .cse70 .cse69 (store (select .cse70 .cse69) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse71) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse65 (select .cse68 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse69 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse67 (select (select .cse68 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse66)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= (select .cse65 (+ .cse66 v_arrayElimCell_32)) .cse67) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse65 (+ .cse66 v_arrayElimCell_34)) .cse67) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0)))))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_1 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse75 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse76 (let ((.cse78 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse77 (store |c_#memory_int| c_~A~0.base (store .cse78 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_1)))) (store .cse77 .cse75 (store (select .cse77 .cse75) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse78) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse74 (* ~b~0 4))) (let ((.cse72 (select (select .cse76 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse74))) (.cse73 (select .cse76 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse75 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (= .cse72 (select .cse73 (+ .cse74 v_arrayElimCell_33))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse72 (select .cse73 (+ .cse74 v_arrayElimCell_32))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse75 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_12 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse81 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (let ((.cse79 (let ((.cse83 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse82 (store |c_#memory_int| c_~A~0.base (store .cse83 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_12)))) (store .cse82 .cse81 (store (select .cse82 .cse81) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse83) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse80 (* ~b~0 4))) (= (select (select .cse79 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse80)) (select (select .cse79 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse81 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse80 v_arrayElimCell_34)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (not (= .cse81 c_~B~0.base))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (v_subst_13 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse88 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse87 (let ((.cse90 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse89 (store |c_#memory_int| c_~A~0.base (store .cse90 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_13)))) (store .cse89 .cse88 (store (select .cse89 .cse88) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse90) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse86 (* ~b~0 4))) (let ((.cse84 (select (select .cse87 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse86))) (.cse85 (select .cse87 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse88 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= (select .cse85 (+ .cse86 v_arrayElimCell_32)) .cse84) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_34))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))))))) is different from false [2024-04-05 20:28:32,659 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse27 (= c_~B~0.base c_~A~0.base))) (let ((.cse33 (not .cse27)) (.cse0 (+ c_thread1Thread1of1ForFork0_~i~0 1)) (.cse8 (select |c_#memory_int| c_~A~0.base)) (.cse9 (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset))) (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_8 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse5 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse4 (let ((.cse7 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse6 (store |c_#memory_int| c_~A~0.base (store .cse7 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_8)))) (store .cse6 .cse5 (store (select .cse6 .cse5) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse7) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse3 (* ~b~0 4))) (let ((.cse1 (select (select .cse4 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse3))) (.cse2 (select .cse4 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse5 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_32))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse2 (+ .cse3 v_arrayElimCell_33)) .cse1) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse1 (select .cse2 (+ .cse3 v_arrayElimCell_34))) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_subst_7 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (let ((.cse12 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (let ((.cse10 (let ((.cse14 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse13 (store |c_#memory_int| c_~A~0.base (store .cse14 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_7)))) (store .cse13 .cse12 (store (select .cse13 .cse12) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse14) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse11 (* ~b~0 4))) (= (select (select .cse10 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse11)) (select (select .cse10 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse12 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse11 v_arrayElimCell_34)))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0) (not (= .cse12 c_~B~0.base))))) (or (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_5 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse19 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse18 (let ((.cse21 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse20 (store |c_#memory_int| c_~A~0.base (store .cse21 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_5)))) (store .cse20 .cse19 (store (select .cse20 .cse19) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse21) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse17 (* ~b~0 4))) (let ((.cse15 (select (select .cse18 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse17))) (.cse16 (select .cse18 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse19 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse15 (select .cse16 (+ .cse17 v_arrayElimCell_34))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse15 (select .cse16 (+ .cse17 v_arrayElimCell_32))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_6 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (let ((.cse22 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse22 c_~B~0.base) (let ((.cse23 (let ((.cse26 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse25 (store |c_#memory_int| c_~A~0.base (store .cse26 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_6)))) (store .cse25 .cse22 (store (select .cse25 .cse22) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse26) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse24 (* ~b~0 4))) (= (select (select .cse23 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse22 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse24 v_arrayElimCell_32)) (select (select .cse23 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse24)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))) .cse27) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_3 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse30 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (let ((.cse28 (let ((.cse32 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse31 (store |c_#memory_int| c_~A~0.base (store .cse32 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_3)))) (store .cse31 .cse30 (store (select .cse31 .cse30) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse32) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse29 (* ~b~0 4))) (= (select (select .cse28 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse29)) (select (select .cse28 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse30 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse29 v_arrayElimCell_33)))) (< ~M~0 (+ ~b~0 1)) (= .cse30 c_~B~0.base) (< 1 ~M~0)))) .cse33) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_4 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse37 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse38 (let ((.cse40 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse39 (store |c_#memory_int| c_~A~0.base (store .cse40 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_4)))) (store .cse39 .cse37 (store (select .cse39 .cse37) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse40) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse36 (* ~b~0 4))) (let ((.cse34 (select (select .cse38 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse36))) (.cse35 (select .cse38 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse37 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse34 (select .cse35 (+ .cse36 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse37 c_~B~0.base) (= .cse34 (select .cse35 (+ .cse36 v_arrayElimCell_32))) (< 1 ~M~0)))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_2 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse43 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse41 (let ((.cse45 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse44 (store |c_#memory_int| c_~A~0.base (store .cse45 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_2)))) (store .cse44 .cse43 (store (select .cse44 .cse43) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse45) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse42 (* ~b~0 4))) (= (select (select .cse41 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse42)) (select (select .cse41 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse43 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse42 v_arrayElimCell_33)))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse43 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))) .cse33) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_11 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse50 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse49 (let ((.cse52 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse51 (store |c_#memory_int| c_~A~0.base (store .cse52 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_11)))) (store .cse51 .cse50 (store (select .cse51 .cse50) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse52) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse47 (* ~b~0 4))) (let ((.cse48 (select (select .cse49 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse47))) (.cse46 (select .cse49 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse50 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (= (select .cse46 (+ .cse47 v_arrayElimCell_33)) .cse48) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse48 (select .cse46 (+ .cse47 v_arrayElimCell_34))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) .cse33) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_subst_14 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse57 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse54 (* ~b~0 4)) (.cse56 (let ((.cse59 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse58 (store |c_#memory_int| c_~A~0.base (store .cse59 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_14)))) (store .cse58 .cse57 (store (select .cse58 .cse57) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse59) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse53 (select .cse56 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse57 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse55 (select (select .cse56 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse54)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (= (select .cse53 (+ .cse54 v_arrayElimCell_33)) .cse55) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= (select .cse53 (+ .cse54 v_arrayElimCell_34)) .cse55) (< 1 ~M~0)))))) .cse33) (or .cse27 (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (|thread1Thread1of1ForFork0_#t~mem2| Int) (v_subst_9 Int) (~M~0 Int) (v_ArrVal_1312 (Array Int Int)) (v_arrayElimCell_32 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int)) (let ((.cse61 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (let ((.cse60 (let ((.cse64 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse63 (store |c_#memory_int| c_~A~0.base (store .cse64 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_9)))) (store .cse63 .cse61 (store (select .cse63 .cse61) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse64) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse62 (* ~b~0 4))) (= (select (select .cse60 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse61 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse62 v_arrayElimCell_32)) (select (select .cse60 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse62)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse61 c_~B~0.base) (< 1 ~M~0)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_10 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (let ((.cse69 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse66 (* ~b~0 4)) (.cse68 (let ((.cse71 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse70 (store |c_#memory_int| c_~A~0.base (store .cse71 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_10)))) (store .cse70 .cse69 (store (select .cse70 .cse69) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse71) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse65 (select .cse68 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse69 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse67 (select (select .cse68 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse66)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= (select .cse65 (+ .cse66 v_arrayElimCell_32)) .cse67) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse65 (+ .cse66 v_arrayElimCell_34)) .cse67) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0)))))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_1 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse75 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse76 (let ((.cse78 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse77 (store |c_#memory_int| c_~A~0.base (store .cse78 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_1)))) (store .cse77 .cse75 (store (select .cse77 .cse75) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse78) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse74 (* ~b~0 4))) (let ((.cse72 (select (select .cse76 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse74))) (.cse73 (select .cse76 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse75 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (= .cse72 (select .cse73 (+ .cse74 v_arrayElimCell_33))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse72 (select .cse73 (+ .cse74 v_arrayElimCell_32))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse75 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_12 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse81 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (let ((.cse79 (let ((.cse83 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse82 (store |c_#memory_int| c_~A~0.base (store .cse83 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_12)))) (store .cse82 .cse81 (store (select .cse82 .cse81) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse83) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse80 (* ~b~0 4))) (= (select (select .cse79 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse80)) (select (select .cse79 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse81 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse80 v_arrayElimCell_34)))) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (not (= .cse81 c_~B~0.base))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (v_subst_13 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (|thread1Thread1of1ForFork0_#t~mem2| Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse88 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse9))) (let ((.cse87 (let ((.cse90 (store .cse8 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) |thread1Thread1of1ForFork0_#t~mem2|))) (let ((.cse89 (store |c_#memory_int| c_~A~0.base (store .cse90 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_13)))) (store .cse89 .cse88 (store (select .cse89 .cse88) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse90) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse86 (* ~b~0 4))) (let ((.cse84 (select (select .cse87 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse86))) (.cse85 (select .cse87 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse88 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_33))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= (select .cse85 (+ .cse86 v_arrayElimCell_32)) .cse84) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_34))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))))))) is different from true [2024-04-05 20:28:37,999 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse47 (= c_~B~0.base c_~A~0.base))) (let ((.cse15 (not .cse47)) (.cse0 (+ c_thread1Thread1of1ForFork0_~i~0 1)) (.cse6 (store (select |c_#memory_int| c_~A~0.base) (+ c_~A~0.offset (* c_thread1Thread1of1ForFork0_~i~0 4)) |c_thread1Thread1of1ForFork0_#t~mem2|)) (.cse7 (+ (* c_thread2Thread1of1ForFork1_~i~1 4) c_~B~0.offset))) (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_12 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_22 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse2 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (let ((.cse1 (let ((.cse5 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_22))) (let ((.cse4 (store |c_#memory_int| c_~A~0.base (store .cse5 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_12)))) (store .cse4 .cse2 (store (select .cse4 .cse2) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse5) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse3 (* ~b~0 4))) (= (select (select .cse1 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse2 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse3 v_arrayElimCell_34)) (select (select .cse1 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse3)))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0) (not (= .cse2 c_~B~0.base))))) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_17 Int) (v_subst_11 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse12 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse9 (* ~b~0 4)) (.cse11 (let ((.cse14 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_17))) (let ((.cse13 (store |c_#memory_int| c_~A~0.base (store .cse14 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_11)))) (store .cse13 .cse12 (store (select .cse13 .cse12) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse14) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse8 (select .cse11 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse12 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse10 (select (select .cse11 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse9)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= (select .cse8 (+ .cse9 v_arrayElimCell_33)) .cse10) (< ~a~0 0) (= (select .cse8 (+ .cse9 v_arrayElimCell_34)) .cse10) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) .cse15) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_18 Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_3 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse18 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse16 (let ((.cse20 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_18))) (let ((.cse19 (store |c_#memory_int| c_~A~0.base (store .cse20 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_3)))) (store .cse19 .cse18 (store (select .cse19 .cse18) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse20) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse17 (* ~b~0 4))) (= (select (select .cse16 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse17)) (select (select .cse16 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse18 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse17 v_arrayElimCell_33)))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse18 c_~B~0.base) (< 1 ~M~0)))) .cse15) (or (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_subst_14 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_27 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse25 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse24 (let ((.cse27 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_27))) (let ((.cse26 (store |c_#memory_int| c_~A~0.base (store .cse27 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_14)))) (store .cse26 .cse25 (store (select .cse26 .cse25) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse27) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse23 (* ~b~0 4))) (let ((.cse21 (select (select .cse24 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse23))) (.cse22 (select .cse24 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse25 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse21 (select .cse22 (+ .cse23 v_arrayElimCell_34))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse21 (select .cse22 (+ .cse23 v_arrayElimCell_33))) (< 1 ~M~0)))))) .cse15) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_subst_26 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (v_subst_13 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse32 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse29 (* ~b~0 4)) (.cse31 (let ((.cse34 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_26))) (let ((.cse33 (store |c_#memory_int| c_~A~0.base (store .cse34 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_13)))) (store .cse33 .cse32 (store (select .cse33 .cse32) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse34) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse28 (select .cse31 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse32 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse30 (select (select .cse31 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse29)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= (select .cse28 (+ .cse29 v_arrayElimCell_32)) .cse30) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse30 (select .cse28 (+ .cse29 v_arrayElimCell_34))) (= (select .cse28 (+ .cse29 v_arrayElimCell_33)) .cse30) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_28 Int) (v_subst_4 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_33 Int)) (let ((.cse38 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse36 (* ~b~0 4)) (.cse39 (let ((.cse41 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_28))) (let ((.cse40 (store |c_#memory_int| c_~A~0.base (store .cse41 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_4)))) (store .cse40 .cse38 (store (select .cse40 .cse38) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse41) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse35 (select .cse39 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse38 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse37 (select (select .cse39 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse36)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= (select .cse35 (+ .cse36 v_arrayElimCell_32)) .cse37) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= (select .cse35 (+ .cse36 v_arrayElimCell_33)) .cse37) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse38 c_~B~0.base) (< 1 ~M~0)))))) (or .cse15 (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_23 Int) (v_ArrVal_1312 (Array Int Int)) (v_subst_2 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse44 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (let ((.cse42 (let ((.cse46 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_23))) (let ((.cse45 (store |c_#memory_int| c_~A~0.base (store .cse46 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_2)))) (store .cse45 .cse44 (store (select .cse45 .cse44) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse46) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse43 (* ~b~0 4))) (= (select (select .cse42 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse43)) (select (select .cse42 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse44 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse43 v_arrayElimCell_33)))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse44 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0))))) (or .cse47 (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_16 Int) (v_subst_6 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int)) (let ((.cse48 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse48 c_~B~0.base) (let ((.cse49 (let ((.cse52 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_16))) (let ((.cse51 (store |c_#memory_int| c_~A~0.base (store .cse52 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_6)))) (store .cse51 .cse48 (store (select .cse51 .cse48) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse52) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse50 (* ~b~0 4))) (= (select (select .cse49 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse48 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse50 v_arrayElimCell_32)) (select (select .cse49 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse50)))) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_subst_15 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_5 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_34 Int)) (let ((.cse57 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse55 (* ~b~0 4)) (.cse56 (let ((.cse59 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_15))) (let ((.cse58 (store |c_#memory_int| c_~A~0.base (store .cse59 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_5)))) (store .cse58 .cse57 (store (select .cse58 .cse57) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse59) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4))))))))) (let ((.cse54 (select .cse56 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse57 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset)))) (.cse53 (select (select .cse56 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse55)))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse53 (select .cse54 (+ .cse55 v_arrayElimCell_34))) (= (select .cse54 (+ .cse55 v_arrayElimCell_32)) .cse53) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))))) (or .cse47 (and (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (v_subst_25 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_10 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (let ((.cse64 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse63 (let ((.cse66 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_25))) (let ((.cse65 (store |c_#memory_int| c_~A~0.base (store .cse66 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_10)))) (store .cse65 .cse64 (store (select .cse65 .cse64) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse66) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse62 (* ~b~0 4))) (let ((.cse60 (select (select .cse63 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse62))) (.cse61 (select .cse63 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse64 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= .cse60 (select .cse61 (+ .cse62 v_arrayElimCell_32))) (= .cse60 (select .cse61 (+ .cse62 v_arrayElimCell_34))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_subst_24 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_9 Int) (~M~0 Int) (v_ArrVal_1312 (Array Int Int)) (v_arrayElimCell_32 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int)) (let ((.cse68 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (let ((.cse67 (let ((.cse71 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_24))) (let ((.cse70 (store |c_#memory_int| c_~A~0.base (store .cse71 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_9)))) (store .cse70 .cse68 (store (select .cse70 .cse68) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse71) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse69 (* ~b~0 4))) (= (select (select .cse67 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse68 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse69 v_arrayElimCell_32)) (select (select .cse67 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse69)))) (= .cse68 c_~B~0.base) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_21 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_subst_7 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int)) (let ((.cse73 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (or (< ~b~0 0) (let ((.cse72 (let ((.cse76 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_21))) (let ((.cse75 (store |c_#memory_int| c_~A~0.base (store .cse76 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_7)))) (store .cse75 .cse73 (store (select .cse75 .cse73) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse76) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse74 (* ~b~0 4))) (= (select (select .cse72 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse73 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))) (+ .cse74 v_arrayElimCell_34)) (select (select .cse72 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse74)))) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (< 1 ~M~0) (not (= .cse73 c_~B~0.base))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_ArrVal_1312 (Array Int Int)) (v_subst_1 Int) (v_subst_20 Int) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_31 Int) (v_arrayElimCell_33 Int)) (let ((.cse80 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse81 (let ((.cse83 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_20))) (let ((.cse82 (store |c_#memory_int| c_~A~0.base (store .cse83 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_1)))) (store .cse82 .cse80 (store (select .cse82 .cse80) v_arrayElimCell_31 (select (select (store |c_#memory_int| c_~A~0.base .cse83) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse79 (* ~b~0 4))) (let ((.cse77 (select (select .cse81 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse79))) (.cse78 (select .cse81 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse80 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= .cse77 (select .cse78 (+ .cse79 v_arrayElimCell_33))) (< ~a~0 0) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (= .cse77 (select .cse78 (+ .cse79 v_arrayElimCell_32))) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse80 c_~B~0.base) (= c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< 1 ~M~0)))))) (forall ((v_thread1Thread1of1ForFork0_~i~0_86 Int) (v_ArrVal_1317 (Array Int Int)) (~a~0 Int) (~b~0 Int) (v_ArrVal_1315 (Array Int Int)) (v_subst_19 Int) (v_ArrVal_1312 (Array Int Int)) (v_thread1Thread1of1ForFork0_~i~0_87 Int) (~M~0 Int) (v_subst_8 Int) (v_arrayElimCell_32 Int) (v_arrayElimCell_34 Int) (v_arrayElimCell_33 Int)) (let ((.cse88 (select (select (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1312) c_~B~0.base) .cse7))) (let ((.cse87 (let ((.cse90 (store .cse6 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_87 4)) v_subst_19))) (let ((.cse89 (store |c_#memory_int| c_~A~0.base (store .cse90 (+ c_~A~0.offset (* v_thread1Thread1of1ForFork0_~i~0_86 4)) v_subst_8)))) (store .cse89 .cse88 (store (select .cse89 .cse88) v_arrayElimCell_32 (select (select (store |c_#memory_int| c_~A~0.base .cse90) c_~F~0.base) (+ c_~F~0.offset (* (* c_thread2Thread1of1ForFork1_~i~1 ~M~0) 4)))))))) (.cse86 (* ~b~0 4))) (let ((.cse84 (select (select .cse87 c_~A~0.base) (+ c_~A~0.offset (* (* ~M~0 ~a~0) 4) .cse86))) (.cse85 (select .cse87 (select (select (store (store |c_#memory_$Pointer$.base| c_~A~0.base v_ArrVal_1315) .cse88 v_ArrVal_1317) c_~B~0.base) (+ (* ~a~0 4) c_~B~0.offset))))) (or (< ~b~0 0) (< v_thread1Thread1of1ForFork0_~i~0_87 .cse0) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_34))) (< ~a~0 0) (= (select .cse85 (+ .cse86 v_arrayElimCell_32)) .cse84) (< c_thread2Thread1of1ForFork1_~i~1 ~a~0) (< v_thread1Thread1of1ForFork0_~i~0_86 (+ v_thread1Thread1of1ForFork0_~i~0_87 1)) (< ~M~0 (+ ~b~0 1)) (= .cse84 (select .cse85 (+ .cse86 v_arrayElimCell_33))) (< 1 ~M~0))))))))) is different from true [2024-04-05 20:28:38,962 INFO L349 Elim1Store]: treesize reduction 8, result has 97.6 percent of original size [2024-04-05 20:28:38,965 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 1 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 9214699 treesize of output 8384559 [2024-04-05 20:29:09,633 WARN L293 SmtUtils]: Spent 30.66s on a formula simplification. DAG size of input: 1547 DAG size of output: 936 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-04-05 20:29:26,835 WARN L293 SmtUtils]: Spent 10.36s on a formula simplification. DAG size of input: 412 DAG size of output: 467 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-04-05 20:29:37,490 WARN L293 SmtUtils]: Spent 7.93s on a formula simplification. DAG size of input: 408 DAG size of output: 453 (called from [L 731] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2024-04-05 20:33:30,589 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 101 [2024-04-05 20:33:30,590 WARN L249 Executor]: External (MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) stderr output: (error "out of memory") [2024-04-05 20:33:30,590 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-04-05 20:33:30,590 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [684029409] [2024-04-05 20:33:30,590 WARN L311 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2024-04-05 20:33:30,590 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2056441026] [2024-04-05 20:33:30,590 WARN L320 FreeRefinementEngine]: Global settings require throwing the following exception [2024-04-05 20:33:30,600 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-04-05 20:33:30,790 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-04-05 20:33:30,791 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)) Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:262) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseSuccess(Executor.java:277) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.push(Scriptor.java:133) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript.push(DiffWrapperScript.java:90) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.push(WrapperScript.java:148) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.scripttransfer.HistoryRecordingScript.push(HistoryRecordingScript.java:107) at de.uni_freiburg.informatik.ultimate.logic.Util.checkSat(Util.java:48) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.checkRedundancy(SimplifyDDA2.java:268) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.convertForPreprocessedInputTerms(SimplifyDDA2.java:410) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.convert(SimplifyDDA2.java:394) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.SimplifyDDA2.convert(SimplifyDDA2.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.SimplifyDDA2.simplify(SimplifyDDA2.java:500) 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.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.computeBackwardSequence(IterativePredicateTransformer.java:399) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:271) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:341) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:184) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:110) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:210) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:121) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:82) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:337) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:431) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:415) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:302) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:225) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:154) 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: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1518) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:701) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:383) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:258) ... 68 more [2024-04-05 20:33:30,795 INFO L158 Benchmark]: Toolchain (without parser) took 467210.36ms. Allocated memory was 248.5MB in the beginning and 1.3GB in the end (delta: 1.1GB). Free memory was 182.1MB in the beginning and 503.8MB in the end (delta: -321.7MB). Peak memory consumption was 790.4MB. Max. memory is 8.0GB. [2024-04-05 20:33:30,795 INFO L158 Benchmark]: CDTParser took 0.34ms. Allocated memory is still 160.4MB. Free memory is still 90.0MB. There was no memory consumed. Max. memory is 8.0GB. [2024-04-05 20:33:30,796 INFO L158 Benchmark]: CACSL2BoogieTranslator took 259.21ms. Allocated memory is still 248.5MB. Free memory was 182.1MB in the beginning and 170.0MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2024-04-05 20:33:30,796 INFO L158 Benchmark]: Boogie Procedure Inliner took 45.95ms. Allocated memory is still 248.5MB. Free memory was 170.0MB in the beginning and 168.0MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2024-04-05 20:33:30,796 INFO L158 Benchmark]: Boogie Preprocessor took 37.43ms. Allocated memory is still 248.5MB. Free memory was 168.0MB in the beginning and 165.9MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2024-04-05 20:33:30,796 INFO L158 Benchmark]: RCFGBuilder took 536.18ms. Allocated memory is still 248.5MB. Free memory was 165.9MB in the beginning and 141.2MB in the end (delta: 24.7MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. [2024-04-05 20:33:30,796 INFO L158 Benchmark]: TraceAbstraction took 466323.79ms. Allocated memory was 248.5MB in the beginning and 1.3GB in the end (delta: 1.1GB). Free memory was 140.2MB in the beginning and 503.8MB in the end (delta: -363.6MB). Peak memory consumption was 748.4MB. Max. memory is 8.0GB. [2024-04-05 20:33:30,798 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.34ms. Allocated memory is still 160.4MB. Free memory is still 90.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 259.21ms. Allocated memory is still 248.5MB. Free memory was 182.1MB in the beginning and 170.0MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 45.95ms. Allocated memory is still 248.5MB. Free memory was 170.0MB in the beginning and 168.0MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 37.43ms. Allocated memory is still 248.5MB. Free memory was 168.0MB in the beginning and 165.9MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 536.18ms. Allocated memory is still 248.5MB. Free memory was 165.9MB in the beginning and 141.2MB in the end (delta: 24.7MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. * TraceAbstraction took 466323.79ms. Allocated memory was 248.5MB in the beginning and 1.3GB in the end (delta: 1.1GB). Free memory was 140.2MB in the beginning and 503.8MB in the end (delta: -363.6MB). Peak memory consumption was 748.4MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - 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)) Received EOF on stdin. stderr output: (error "out of memory") 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)) Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:262) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2024-04-05 20:33:30,827 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Forceful destruction successful, exit code 0 Received shutdown request...