./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version a340643f Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 --- Real Ultimate output --- This is Ultimate 0.2.4-dev-a340643-m [2024-01-27 15:54:13,299 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-01-27 15:54:13,363 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-01-27 15:54:13,368 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-01-27 15:54:13,369 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-01-27 15:54:13,394 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-01-27 15:54:13,395 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-01-27 15:54:13,395 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-01-27 15:54:13,396 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-01-27 15:54:13,399 INFO L153 SettingsManager]: * Use memory slicer=true [2024-01-27 15:54:13,399 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-01-27 15:54:13,400 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-01-27 15:54:13,401 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-01-27 15:54:13,402 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-01-27 15:54:13,402 INFO L153 SettingsManager]: * Use SBE=true [2024-01-27 15:54:13,402 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-01-27 15:54:13,402 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-01-27 15:54:13,402 INFO L153 SettingsManager]: * sizeof long=4 [2024-01-27 15:54:13,403 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-01-27 15:54:13,403 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-01-27 15:54:13,404 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-01-27 15:54:13,404 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-01-27 15:54:13,405 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-01-27 15:54:13,405 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-01-27 15:54:13,405 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-01-27 15:54:13,405 INFO L153 SettingsManager]: * sizeof long double=12 [2024-01-27 15:54:13,405 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-01-27 15:54:13,406 INFO L153 SettingsManager]: * Use constant arrays=true [2024-01-27 15:54:13,406 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-01-27 15:54:13,406 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-01-27 15:54:13,407 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-01-27 15:54:13,407 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-01-27 15:54:13,408 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-27 15:54:13,408 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-01-27 15:54:13,408 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-01-27 15:54:13,408 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-01-27 15:54:13,408 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-01-27 15:54:13,409 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-01-27 15:54:13,409 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-01-27 15:54:13,409 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-01-27 15:54:13,409 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-01-27 15:54:13,410 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-01-27 15:54:13,410 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-01-27 15:54:13,410 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 [2024-01-27 15:54:13,594 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-01-27 15:54:13,613 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-01-27 15:54:13,615 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-01-27 15:54:13,616 INFO L270 PluginConnector]: Initializing CDTParser... [2024-01-27 15:54:13,616 INFO L274 PluginConnector]: CDTParser initialized [2024-01-27 15:54:13,617 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2024-01-27 15:54:14,767 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-01-27 15:54:14,967 INFO L384 CDTParser]: Found 1 translation units. [2024-01-27 15:54:14,984 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2024-01-27 15:54:14,993 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ab0f8623/03f23398e98c4ea9bfea55f028c5eb6c/FLAG0c0d52238 [2024-01-27 15:54:15,004 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ab0f8623/03f23398e98c4ea9bfea55f028c5eb6c [2024-01-27 15:54:15,008 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-01-27 15:54:15,010 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-01-27 15:54:15,012 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-01-27 15:54:15,012 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-01-27 15:54:15,016 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-01-27 15:54:15,016 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,017 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@367ba2e2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15, skipping insertion in model container [2024-01-27 15:54:15,017 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,039 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-01-27 15:54:15,219 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-01-27 15:54:15,236 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-27 15:54:15,246 INFO L202 MainTranslator]: Completed pre-run [2024-01-27 15:54:15,274 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-01-27 15:54:15,285 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-27 15:54:15,320 INFO L206 MainTranslator]: Completed translation [2024-01-27 15:54:15,321 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15 WrapperNode [2024-01-27 15:54:15,321 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-01-27 15:54:15,322 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-01-27 15:54:15,322 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-01-27 15:54:15,322 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-01-27 15:54:15,327 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,339 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,359 INFO L138 Inliner]: procedures = 26, calls = 57, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 240 [2024-01-27 15:54:15,363 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-01-27 15:54:15,364 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-01-27 15:54:15,364 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-01-27 15:54:15,364 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-01-27 15:54:15,372 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,372 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,376 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,389 INFO L175 MemorySlicer]: Split 24 memory accesses to 5 slices as follows [2, 2, 2, 2, 16]. 67 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0]. The 7 writes are split as follows [0, 1, 1, 1, 4]. [2024-01-27 15:54:15,389 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,389 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,396 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,399 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,400 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,402 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,404 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-01-27 15:54:15,405 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-01-27 15:54:15,405 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-01-27 15:54:15,405 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-01-27 15:54:15,406 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (1/1) ... [2024-01-27 15:54:15,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-27 15:54:15,420 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-27 15:54:15,430 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-01-27 15:54:15,435 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-01-27 15:54:15,464 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-01-27 15:54:15,465 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-01-27 15:54:15,465 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-01-27 15:54:15,465 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-01-27 15:54:15,465 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-01-27 15:54:15,465 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-01-27 15:54:15,465 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-01-27 15:54:15,465 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-01-27 15:54:15,466 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-01-27 15:54:15,466 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-01-27 15:54:15,466 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-01-27 15:54:15,466 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-01-27 15:54:15,466 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-01-27 15:54:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-01-27 15:54:15,466 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-01-27 15:54:15,466 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-01-27 15:54:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-01-27 15:54:15,467 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-01-27 15:54:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-01-27 15:54:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-01-27 15:54:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-01-27 15:54:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-01-27 15:54:15,467 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-01-27 15:54:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-01-27 15:54:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-01-27 15:54:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-01-27 15:54:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-01-27 15:54:15,468 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-01-27 15:54:15,468 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-01-27 15:54:15,469 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-01-27 15:54:15,555 INFO L244 CfgBuilder]: Building ICFG [2024-01-27 15:54:15,556 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-01-27 15:54:15,866 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-01-27 15:54:15,866 INFO L293 CfgBuilder]: Performing block encoding [2024-01-27 15:54:16,154 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-01-27 15:54:16,154 INFO L320 CfgBuilder]: Removed 6 assume(true) statements. [2024-01-27 15:54:16,155 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.01 03:54:16 BoogieIcfgContainer [2024-01-27 15:54:16,155 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-01-27 15:54:16,156 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-01-27 15:54:16,157 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-01-27 15:54:16,159 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-01-27 15:54:16,159 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.01 03:54:15" (1/3) ... [2024-01-27 15:54:16,160 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@169ee308 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.01 03:54:16, skipping insertion in model container [2024-01-27 15:54:16,160 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.01 03:54:15" (2/3) ... [2024-01-27 15:54:16,160 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@169ee308 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.01 03:54:16, skipping insertion in model container [2024-01-27 15:54:16,160 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.01 03:54:16" (3/3) ... [2024-01-27 15:54:16,161 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2024-01-27 15:54:16,169 WARN L146 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2024-01-27 15:54:16,210 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-01-27 15:54:16,210 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-01-27 15:54:16,210 INFO L518 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-01-27 15:54:16,270 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-01-27 15:54:16,303 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 44 places, 41 transitions, 103 flow [2024-01-27 15:54:16,337 INFO L124 PetriNetUnfolderBase]: 7/38 cut-off events. [2024-01-27 15:54:16,337 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-01-27 15:54:16,341 INFO L83 FinitePrefix]: Finished finitePrefix Result has 51 conditions, 38 events. 7/38 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 44 event pairs, 0 based on Foata normal form. 0/30 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2024-01-27 15:54:16,342 INFO L82 GeneralOperation]: Start removeDead. Operand has 44 places, 41 transitions, 103 flow [2024-01-27 15:54:16,344 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 40 places, 37 transitions, 92 flow [2024-01-27 15:54:16,352 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-01-27 15:54:16,357 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=PETRI_NET, 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;@6f3df75, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-01-27 15:54:16,357 INFO L358 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-01-27 15:54:16,366 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-01-27 15:54:16,367 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2024-01-27 15:54:16,367 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-01-27 15:54:16,367 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-27 15:54:16,368 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-27 15:54:16,368 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-01-27 15:54:16,372 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-27 15:54:16,372 INFO L85 PathProgramCache]: Analyzing trace with hash 2092303507, now seen corresponding path program 1 times [2024-01-27 15:54:16,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-27 15:54:16,379 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [999844412] [2024-01-27 15:54:16,379 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:16,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-27 15:54:16,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:16,808 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-01-27 15:54:16,809 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-27 15:54:16,810 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [999844412] [2024-01-27 15:54:16,810 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [999844412] provided 1 perfect and 0 imperfect interpolant sequences [2024-01-27 15:54:16,810 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-01-27 15:54:16,811 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-01-27 15:54:16,812 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [756406752] [2024-01-27 15:54:16,813 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-27 15:54:16,819 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-01-27 15:54:16,823 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-27 15:54:16,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-01-27 15:54:16,846 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-01-27 15:54:16,848 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-27 15:54:16,849 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 37 transitions, 92 flow. Second operand has 3 states, 3 states have (on average 17.333333333333332) internal successors, (52), 3 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-01-27 15:54:16,850 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-27 15:54:16,850 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-27 15:54:16,851 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-27 15:54:17,044 INFO L124 PetriNetUnfolderBase]: 406/689 cut-off events. [2024-01-27 15:54:17,045 INFO L125 PetriNetUnfolderBase]: For 52/52 co-relation queries the response was YES. [2024-01-27 15:54:17,049 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1305 conditions, 689 events. 406/689 cut-off events. For 52/52 co-relation queries the response was YES. Maximal size of possible extension queue 46. Compared 2827 event pairs, 265 based on Foata normal form. 0/609 useless extension candidates. Maximal degree in co-relation 993. Up to 557 conditions per place. [2024-01-27 15:54:17,054 INFO L140 encePairwiseOnDemand]: 38/41 looper letters, 29 selfloop transitions, 2 changer transitions 0/38 dead transitions. [2024-01-27 15:54:17,054 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 42 places, 38 transitions, 156 flow [2024-01-27 15:54:17,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-01-27 15:54:17,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-01-27 15:54:17,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2024-01-27 15:54:17,066 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5040650406504065 [2024-01-27 15:54:17,068 INFO L175 Difference]: Start difference. First operand has 40 places, 37 transitions, 92 flow. Second operand 3 states and 62 transitions. [2024-01-27 15:54:17,068 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 42 places, 38 transitions, 156 flow [2024-01-27 15:54:17,072 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 36 places, 38 transitions, 144 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-01-27 15:54:17,074 INFO L231 Difference]: Finished difference. Result has 37 places, 38 transitions, 92 flow [2024-01-27 15:54:17,076 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=80, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=37, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=35, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=92, PETRI_PLACES=37, PETRI_TRANSITIONS=38} [2024-01-27 15:54:17,079 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, -3 predicate places. [2024-01-27 15:54:17,079 INFO L495 AbstractCegarLoop]: Abstraction has has 37 places, 38 transitions, 92 flow [2024-01-27 15:54:17,079 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 17.333333333333332) internal successors, (52), 3 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-01-27 15:54:17,079 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-27 15:54:17,079 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-27 15:54:17,080 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-01-27 15:54:17,080 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-01-27 15:54:17,080 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-27 15:54:17,081 INFO L85 PathProgramCache]: Analyzing trace with hash 2133776376, now seen corresponding path program 1 times [2024-01-27 15:54:17,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-27 15:54:17,082 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469947089] [2024-01-27 15:54:17,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:17,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-27 15:54:17,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:17,246 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-01-27 15:54:17,247 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-27 15:54:17,247 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469947089] [2024-01-27 15:54:17,247 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [469947089] provided 1 perfect and 0 imperfect interpolant sequences [2024-01-27 15:54:17,247 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-01-27 15:54:17,247 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-01-27 15:54:17,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1637838630] [2024-01-27 15:54:17,248 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-27 15:54:17,249 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-01-27 15:54:17,249 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-27 15:54:17,249 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-01-27 15:54:17,249 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2024-01-27 15:54:17,254 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-27 15:54:17,254 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 37 places, 38 transitions, 92 flow. Second operand has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 states have internal predecessors, (63), 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-01-27 15:54:17,254 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-27 15:54:17,254 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-27 15:54:17,254 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-27 15:54:17,349 INFO L124 PetriNetUnfolderBase]: 406/691 cut-off events. [2024-01-27 15:54:17,350 INFO L125 PetriNetUnfolderBase]: For 13/13 co-relation queries the response was YES. [2024-01-27 15:54:17,352 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1275 conditions, 691 events. 406/691 cut-off events. For 13/13 co-relation queries the response was YES. Maximal size of possible extension queue 46. Compared 2830 event pairs, 265 based on Foata normal form. 0/611 useless extension candidates. Maximal degree in co-relation 1264. Up to 556 conditions per place. [2024-01-27 15:54:17,354 INFO L140 encePairwiseOnDemand]: 34/41 looper letters, 27 selfloop transitions, 6 changer transitions 0/40 dead transitions. [2024-01-27 15:54:17,354 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 40 transitions, 162 flow [2024-01-27 15:54:17,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-01-27 15:54:17,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-01-27 15:54:17,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2024-01-27 15:54:17,356 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4573170731707317 [2024-01-27 15:54:17,356 INFO L175 Difference]: Start difference. First operand has 37 places, 38 transitions, 92 flow. Second operand 4 states and 75 transitions. [2024-01-27 15:54:17,356 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 40 transitions, 162 flow [2024-01-27 15:54:17,357 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 40 transitions, 158 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-01-27 15:54:17,359 INFO L231 Difference]: Finished difference. Result has 40 places, 40 transitions, 116 flow [2024-01-27 15:54:17,359 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=88, PETRI_DIFFERENCE_MINUEND_PLACES=36, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=32, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=116, PETRI_PLACES=40, PETRI_TRANSITIONS=40} [2024-01-27 15:54:17,360 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 0 predicate places. [2024-01-27 15:54:17,360 INFO L495 AbstractCegarLoop]: Abstraction has has 40 places, 40 transitions, 116 flow [2024-01-27 15:54:17,360 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 states have internal predecessors, (63), 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-01-27 15:54:17,361 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-27 15:54:17,361 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-27 15:54:17,361 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-01-27 15:54:17,365 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-01-27 15:54:17,366 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-27 15:54:17,366 INFO L85 PathProgramCache]: Analyzing trace with hash 571813758, now seen corresponding path program 1 times [2024-01-27 15:54:17,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-27 15:54:17,366 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [35940576] [2024-01-27 15:54:17,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:17,367 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-27 15:54:17,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:17,563 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-01-27 15:54:17,563 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-27 15:54:17,563 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [35940576] [2024-01-27 15:54:17,564 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [35940576] provided 1 perfect and 0 imperfect interpolant sequences [2024-01-27 15:54:17,564 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-01-27 15:54:17,564 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-01-27 15:54:17,564 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1265924962] [2024-01-27 15:54:17,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-27 15:54:17,565 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-01-27 15:54:17,566 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-27 15:54:17,567 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-01-27 15:54:17,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-01-27 15:54:17,567 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-27 15:54:17,567 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 40 transitions, 116 flow. Second operand has 3 states, 3 states have (on average 18.333333333333332) internal successors, (55), 3 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-01-27 15:54:17,567 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-27 15:54:17,567 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-27 15:54:17,567 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-27 15:54:17,696 INFO L124 PetriNetUnfolderBase]: 584/1064 cut-off events. [2024-01-27 15:54:17,696 INFO L125 PetriNetUnfolderBase]: For 23/23 co-relation queries the response was YES. [2024-01-27 15:54:17,698 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1870 conditions, 1064 events. 584/1064 cut-off events. For 23/23 co-relation queries the response was YES. Maximal size of possible extension queue 47. Compared 4922 event pairs, 191 based on Foata normal form. 1/937 useless extension candidates. Maximal degree in co-relation 1850. Up to 398 conditions per place. [2024-01-27 15:54:17,701 INFO L140 encePairwiseOnDemand]: 38/41 looper letters, 44 selfloop transitions, 2 changer transitions 2/55 dead transitions. [2024-01-27 15:54:17,701 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 42 places, 55 transitions, 245 flow [2024-01-27 15:54:17,702 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-01-27 15:54:17,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-01-27 15:54:17,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 76 transitions. [2024-01-27 15:54:17,704 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6178861788617886 [2024-01-27 15:54:17,705 INFO L175 Difference]: Start difference. First operand has 40 places, 40 transitions, 116 flow. Second operand 3 states and 76 transitions. [2024-01-27 15:54:17,705 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 42 places, 55 transitions, 245 flow [2024-01-27 15:54:17,706 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 41 places, 55 transitions, 244 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-01-27 15:54:17,707 INFO L231 Difference]: Finished difference. Result has 42 places, 41 transitions, 127 flow [2024-01-27 15:54:17,707 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=115, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=40, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=127, PETRI_PLACES=42, PETRI_TRANSITIONS=41} [2024-01-27 15:54:17,708 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 2 predicate places. [2024-01-27 15:54:17,708 INFO L495 AbstractCegarLoop]: Abstraction has has 42 places, 41 transitions, 127 flow [2024-01-27 15:54:17,708 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 18.333333333333332) internal successors, (55), 3 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-01-27 15:54:17,708 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-27 15:54:17,709 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-27 15:54:17,709 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-01-27 15:54:17,709 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-01-27 15:54:17,709 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-27 15:54:17,709 INFO L85 PathProgramCache]: Analyzing trace with hash -486309193, now seen corresponding path program 1 times [2024-01-27 15:54:17,710 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-27 15:54:17,710 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [381108055] [2024-01-27 15:54:17,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:17,710 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-27 15:54:17,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:17,858 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-01-27 15:54:17,858 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-27 15:54:17,859 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [381108055] [2024-01-27 15:54:17,862 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [381108055] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-27 15:54:17,862 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [303749802] [2024-01-27 15:54:17,862 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:17,862 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-27 15:54:17,862 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-27 15:54:17,875 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-01-27 15:54:17,900 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-01-27 15:54:18,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:18,019 INFO L262 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 7 conjunts are in the unsatisfiable core [2024-01-27 15:54:18,023 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-27 15:54:18,142 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-01-27 15:54:18,142 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-01-27 15:54:18,196 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-01-27 15:54:18,196 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [303749802] provided 0 perfect and 2 imperfect interpolant sequences [2024-01-27 15:54:18,196 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-01-27 15:54:18,196 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-01-27 15:54:18,197 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [519045602] [2024-01-27 15:54:18,197 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-01-27 15:54:18,197 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-01-27 15:54:18,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-27 15:54:18,198 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-01-27 15:54:18,198 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2024-01-27 15:54:18,220 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 41 [2024-01-27 15:54:18,220 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 42 places, 41 transitions, 127 flow. Second operand has 12 states, 12 states have (on average 12.833333333333334) internal successors, (154), 12 states have internal predecessors, (154), 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-01-27 15:54:18,221 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-27 15:54:18,221 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 41 [2024-01-27 15:54:18,221 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-27 15:54:18,520 INFO L124 PetriNetUnfolderBase]: 997/1625 cut-off events. [2024-01-27 15:54:18,521 INFO L125 PetriNetUnfolderBase]: For 111/111 co-relation queries the response was YES. [2024-01-27 15:54:18,524 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3191 conditions, 1625 events. 997/1625 cut-off events. For 111/111 co-relation queries the response was YES. Maximal size of possible extension queue 54. Compared 7022 event pairs, 444 based on Foata normal form. 0/1382 useless extension candidates. Maximal degree in co-relation 2347. Up to 765 conditions per place. [2024-01-27 15:54:18,528 INFO L140 encePairwiseOnDemand]: 31/41 looper letters, 40 selfloop transitions, 10 changer transitions 41/97 dead transitions. [2024-01-27 15:54:18,528 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 50 places, 97 transitions, 462 flow [2024-01-27 15:54:18,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-01-27 15:54:18,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-01-27 15:54:18,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 172 transitions. [2024-01-27 15:54:18,532 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.46612466124661245 [2024-01-27 15:54:18,532 INFO L175 Difference]: Start difference. First operand has 42 places, 41 transitions, 127 flow. Second operand 9 states and 172 transitions. [2024-01-27 15:54:18,532 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 50 places, 97 transitions, 462 flow [2024-01-27 15:54:18,535 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 49 places, 97 transitions, 460 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-01-27 15:54:18,536 INFO L231 Difference]: Finished difference. Result has 53 places, 44 transitions, 177 flow [2024-01-27 15:54:18,536 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=125, PETRI_DIFFERENCE_MINUEND_PLACES=41, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=41, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=31, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=177, PETRI_PLACES=53, PETRI_TRANSITIONS=44} [2024-01-27 15:54:18,538 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 13 predicate places. [2024-01-27 15:54:18,538 INFO L495 AbstractCegarLoop]: Abstraction has has 53 places, 44 transitions, 177 flow [2024-01-27 15:54:18,538 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 12.833333333333334) internal successors, (154), 12 states have internal predecessors, (154), 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-01-27 15:54:18,538 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-27 15:54:18,539 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-27 15:54:18,550 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-01-27 15:54:18,750 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-27 15:54:18,754 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-01-27 15:54:18,754 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-27 15:54:18,754 INFO L85 PathProgramCache]: Analyzing trace with hash 1632837600, now seen corresponding path program 2 times [2024-01-27 15:54:18,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-27 15:54:18,755 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [927959833] [2024-01-27 15:54:18,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:18,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-27 15:54:18,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:18,911 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-01-27 15:54:18,911 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-27 15:54:18,911 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [927959833] [2024-01-27 15:54:18,911 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [927959833] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-27 15:54:18,912 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1343260416] [2024-01-27 15:54:18,912 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-01-27 15:54:18,912 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-27 15:54:18,912 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-27 15:54:18,913 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-01-27 15:54:18,930 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-01-27 15:54:19,031 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-01-27 15:54:19,031 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-01-27 15:54:19,033 INFO L262 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 7 conjunts are in the unsatisfiable core [2024-01-27 15:54:19,035 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-27 15:54:19,095 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-01-27 15:54:19,095 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-01-27 15:54:19,138 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-01-27 15:54:19,138 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1343260416] provided 1 perfect and 1 imperfect interpolant sequences [2024-01-27 15:54:19,139 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-01-27 15:54:19,139 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-01-27 15:54:19,139 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [462701056] [2024-01-27 15:54:19,139 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-27 15:54:19,139 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-01-27 15:54:19,139 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-27 15:54:19,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-01-27 15:54:19,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-01-27 15:54:19,146 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-27 15:54:19,146 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 44 transitions, 177 flow. Second operand has 6 states, 6 states have (on average 14.666666666666666) internal successors, (88), 6 states have internal predecessors, (88), 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-01-27 15:54:19,146 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-27 15:54:19,146 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-27 15:54:19,146 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-27 15:54:19,274 INFO L124 PetriNetUnfolderBase]: 720/1253 cut-off events. [2024-01-27 15:54:19,274 INFO L125 PetriNetUnfolderBase]: For 197/197 co-relation queries the response was YES. [2024-01-27 15:54:19,277 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2556 conditions, 1253 events. 720/1253 cut-off events. For 197/197 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 5896 event pairs, 377 based on Foata normal form. 0/1126 useless extension candidates. Maximal degree in co-relation 2521. Up to 771 conditions per place. [2024-01-27 15:54:19,280 INFO L140 encePairwiseOnDemand]: 36/41 looper letters, 47 selfloop transitions, 5 changer transitions 0/59 dead transitions. [2024-01-27 15:54:19,280 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 59 transitions, 321 flow [2024-01-27 15:54:19,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-01-27 15:54:19,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-01-27 15:54:19,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 107 transitions. [2024-01-27 15:54:19,281 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4349593495934959 [2024-01-27 15:54:19,281 INFO L175 Difference]: Start difference. First operand has 53 places, 44 transitions, 177 flow. Second operand 6 states and 107 transitions. [2024-01-27 15:54:19,281 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 59 transitions, 321 flow [2024-01-27 15:54:19,284 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 50 places, 59 transitions, 301 flow, removed 7 selfloop flow, removed 4 redundant places. [2024-01-27 15:54:19,284 INFO L231 Difference]: Finished difference. Result has 51 places, 45 transitions, 177 flow [2024-01-27 15:54:19,284 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=159, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=177, PETRI_PLACES=51, PETRI_TRANSITIONS=45} [2024-01-27 15:54:19,285 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 11 predicate places. [2024-01-27 15:54:19,285 INFO L495 AbstractCegarLoop]: Abstraction has has 51 places, 45 transitions, 177 flow [2024-01-27 15:54:19,285 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 14.666666666666666) internal successors, (88), 6 states have internal predecessors, (88), 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-01-27 15:54:19,285 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-27 15:54:19,285 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-27 15:54:19,309 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-01-27 15:54:19,497 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-27 15:54:19,498 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-01-27 15:54:19,498 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-27 15:54:19,498 INFO L85 PathProgramCache]: Analyzing trace with hash 2095114933, now seen corresponding path program 1 times [2024-01-27 15:54:19,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-27 15:54:19,498 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [61020683] [2024-01-27 15:54:19,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:19,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-27 15:54:19,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:19,641 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-01-27 15:54:19,641 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-27 15:54:19,641 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [61020683] [2024-01-27 15:54:19,641 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [61020683] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-27 15:54:19,641 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [400683501] [2024-01-27 15:54:19,642 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:19,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-27 15:54:19,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-27 15:54:19,643 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-01-27 15:54:19,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-01-27 15:54:19,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:19,758 INFO L262 TraceCheckSpWp]: Trace formula consists of 349 conjuncts, 7 conjunts are in the unsatisfiable core [2024-01-27 15:54:19,759 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-27 15:54:19,836 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-01-27 15:54:19,836 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-01-27 15:54:19,887 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-01-27 15:54:19,887 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [400683501] provided 1 perfect and 1 imperfect interpolant sequences [2024-01-27 15:54:19,887 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-01-27 15:54:19,887 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-01-27 15:54:19,887 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [374535130] [2024-01-27 15:54:19,888 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-27 15:54:19,888 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-01-27 15:54:19,888 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-27 15:54:19,889 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-01-27 15:54:19,889 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-01-27 15:54:19,896 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 41 [2024-01-27 15:54:19,896 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 45 transitions, 177 flow. Second operand has 6 states, 6 states have (on average 13.833333333333334) internal successors, (83), 6 states have internal predecessors, (83), 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-01-27 15:54:19,896 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-27 15:54:19,896 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 41 [2024-01-27 15:54:19,896 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-27 15:54:20,069 INFO L124 PetriNetUnfolderBase]: 1030/1656 cut-off events. [2024-01-27 15:54:20,069 INFO L125 PetriNetUnfolderBase]: For 697/697 co-relation queries the response was YES. [2024-01-27 15:54:20,071 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3830 conditions, 1656 events. 1030/1656 cut-off events. For 697/697 co-relation queries the response was YES. Maximal size of possible extension queue 68. Compared 7446 event pairs, 357 based on Foata normal form. 0/1401 useless extension candidates. Maximal degree in co-relation 3796. Up to 752 conditions per place. [2024-01-27 15:54:20,076 INFO L140 encePairwiseOnDemand]: 35/41 looper letters, 48 selfloop transitions, 6 changer transitions 0/60 dead transitions. [2024-01-27 15:54:20,077 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 56 places, 60 transitions, 333 flow [2024-01-27 15:54:20,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-01-27 15:54:20,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-01-27 15:54:20,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2024-01-27 15:54:20,078 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4105691056910569 [2024-01-27 15:54:20,078 INFO L175 Difference]: Start difference. First operand has 51 places, 45 transitions, 177 flow. Second operand 6 states and 101 transitions. [2024-01-27 15:54:20,078 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 56 places, 60 transitions, 333 flow [2024-01-27 15:54:20,080 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 53 places, 60 transitions, 319 flow, removed 3 selfloop flow, removed 3 redundant places. [2024-01-27 15:54:20,080 INFO L231 Difference]: Finished difference. Result has 55 places, 46 transitions, 192 flow [2024-01-27 15:54:20,080 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=167, PETRI_DIFFERENCE_MINUEND_PLACES=48, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=192, PETRI_PLACES=55, PETRI_TRANSITIONS=46} [2024-01-27 15:54:20,081 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 15 predicate places. [2024-01-27 15:54:20,081 INFO L495 AbstractCegarLoop]: Abstraction has has 55 places, 46 transitions, 192 flow [2024-01-27 15:54:20,081 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.833333333333334) internal successors, (83), 6 states have internal predecessors, (83), 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-01-27 15:54:20,081 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-27 15:54:20,081 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-27 15:54:20,108 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-01-27 15:54:20,293 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-27 15:54:20,293 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-01-27 15:54:20,294 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-27 15:54:20,294 INFO L85 PathProgramCache]: Analyzing trace with hash 2000132837, now seen corresponding path program 1 times [2024-01-27 15:54:20,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-27 15:54:20,294 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [954326909] [2024-01-27 15:54:20,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:20,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-27 15:54:20,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:21,813 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-01-27 15:54:21,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-27 15:54:21,813 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [954326909] [2024-01-27 15:54:21,814 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [954326909] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-27 15:54:21,814 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1868213108] [2024-01-27 15:54:21,814 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-27 15:54:21,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-27 15:54:21,814 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-27 15:54:21,833 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-01-27 15:54:21,860 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-01-27 15:54:21,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-27 15:54:21,951 INFO L262 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 25 conjunts are in the unsatisfiable core [2024-01-27 15:54:21,964 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-27 15:54:22,334 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2024-01-27 15:54:22,335 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 135 treesize of output 171 [2024-01-27 15:54:36,729 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse476 (select |c_#memory_int#4| c_~C~0.base)) (.cse46 (+ c_~C~0.offset 4))) (let ((.cse392 (+ c_~mina~0 c_~minb~0)) (.cse2 (select .cse476 .cse46)) (.cse17 (select .cse476 (+ c_~C~0.offset 8))) (.cse18 (select .cse476 c_~C~0.offset))) (let ((.cse381 (+ c_~minb~0 .cse18)) (.cse50 (* 2 .cse17)) (.cse386 (* 2 c_~minb~0)) (.cse335 (div (* (- 1) .cse2) 2)) (.cse15 (+ c_~minc~0 1)) (.cse88 (= .cse392 .cse2)) (.cse135 (* 2 .cse18)) (.cse138 (+ .cse2 .cse18)) (.cse53 (+ c_~minc~0 .cse17))) (let ((.cse20 (= .cse138 .cse53)) (.cse32 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse475 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse474 (select .cse475 ~A~0.offset))) (and (<= (+ .cse474 c_~minb~0) c_~minc~0) (= .cse474 c_~mina~0) (<= (+ .cse474 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse475 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse474 .cse18))))))))) (.cse136 (+ .cse135 1)) (.cse134 (+ (* c_~minc~0 2) 1)) (.cse122 (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse473 (select .cse472 ~A~0.offset))) (let ((.cse471 (+ .cse473 c_~minb~0))) (and (<= .cse471 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= .cse2 .cse471) (= .cse2 (+ c_~minb~0 (select .cse472 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse473 .cse18))))))))) (.cse244 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse470 (select .cse469 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse469 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse470 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse470 .cse18 1) .cse2) (not (= ~B~0.offset c_~C~0.offset))))))) (.cse332 (+ c_~minc~0 .cse335 1)) (.cse343 (= (mod .cse2 2) 0)) (.cse127 (= .cse386 .cse2)) (.cse73 (= .cse2 .cse50)) (.cse372 (= c_~minb~0 .cse18)) (.cse47 (= .cse17 c_~mina~0)) (.cse74 (+ .cse17 c_~minb~0)) (.cse51 (= .cse2 (+ .cse17 c_~mina~0))) (.cse370 (= .cse17 c_~minb~0)) (.cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse467 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse468 (select .cse467 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse467 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse468 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse468 .cse18 1) .cse2) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (.cse319 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse464 (select |c_#memory_int#4| ~B~0.base)) (.cse466 (+ ~B~0.offset 4))) (let ((.cse465 (select .cse464 .cse466))) (and (= c_~minc~0 (+ (select .cse464 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse465 .cse18)) (not (= c_~C~0.offset .cse466)) (<= (+ .cse465 .cse18 1) .cse2) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (.cse102 (= c_~minc~0 .cse135)) (.cse19 (= c_~mina~0 .cse18)) (.cse110 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse462 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse463 (select .cse462 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse462 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse463 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse463 .cse18 1) .cse2)))))) (.cse21 (= c_~minc~0 .cse381)) (.cse1 (+ c_~minc~0 c_~mina~0 1)) (.cse91 (+ c_~minc~0 c_~minb~0))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse3 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse4 (+ ~A~0.offset 4)) (.cse0 (select .cse3 ~A~0.offset))) (and (<= c_~mina~0 .cse0) (<= .cse1 (+ .cse2 .cse0)) (= c_~minc~0 (+ .cse0 c_~minb~0)) (= c_~minc~0 (* 2 .cse0)) (= c_~mina~0 (select .cse3 .cse4)) (exists ((~B~0.offset Int)) (and (not (= .cse4 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse5 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse5 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse5 ~B~0.offset) .cse0))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse6 (select |c_#memory_int#4| ~B~0.base)) (.cse7 (+ ~B~0.offset 4))) (and (= (select .cse6 .cse7) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse8 (+ ~A~0.offset 4))) (and (not (= .cse8 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse10 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse9 (select .cse10 ~A~0.offset))) (and (<= (+ .cse9 c_~minb~0) c_~minc~0) (= .cse9 c_~mina~0) (<= (+ .cse9 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse9)) (= c_~minc~0 (+ (select .cse6 ~B~0.offset) .cse9)) (= .cse2 (+ c_~minb~0 (select .cse10 .cse8))))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse7)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse14 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse11 (select .cse14 ~A~0.offset))) (and (= .cse11 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse16 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse12 (+ ~A~0.offset 4)) (.cse13 (select .cse16 (+ ~B~0.offset 4)))) (and (not (= .cse12 ~B~0.offset)) (= .cse2 (+ .cse13 (select .cse14 .cse12))) (<= .cse15 (+ .cse13 .cse11)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~B~0.offset) .cse11)) (<= (+ .cse13 .cse11 1) .cse2))))))) (= c_~minc~0 (+ .cse11 c_~minb~0)))))) (and (<= (+ .cse17 .cse18 1) .cse2) .cse19 .cse20 (<= .cse15 (+ .cse17 .cse18)) .cse21) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse22 (select .cse25 ~A~0.offset))) (and (= .cse22 c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse23 (+ ~A~0.offset 4)) (.cse27 (+ ~B~0.offset 4))) (and (not (= .cse23 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse26 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse24 (select .cse26 .cse27))) (and (= .cse2 (+ .cse24 (select .cse25 .cse23))) (<= .cse15 (+ .cse24 .cse22)) (= c_~minc~0 (+ (select .cse26 ~B~0.offset) .cse22)) (<= (+ .cse24 .cse22 1) .cse2))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse27))))) (= c_~minc~0 (+ .cse22 c_~minb~0)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse28 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse28 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse31 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse29 (select .cse31 ~A~0.offset)) (.cse30 (+ ~A~0.offset 4))) (and (<= (+ .cse29 c_~minb~0) c_~minc~0) (= .cse29 c_~mina~0) (not (= .cse30 ~B~0.offset)) (<= (+ .cse29 c_~minb~0 1) .cse2) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse28 ~B~0.offset) .cse29)) (= .cse2 (+ c_~minb~0 (select .cse31 .cse30)))))))))))) .cse32 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse36 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse33 (select .cse36 ~A~0.offset)) (.cse34 (+ ~A~0.offset 4))) (and (<= c_~mina~0 .cse33) (<= .cse1 (+ .cse2 .cse33)) (= (+ .cse33 c_~mina~0) .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse35 (select |c_#memory_int#4| ~B~0.base))) (and (not (= .cse34 ~B~0.offset)) (= .cse2 (+ (select .cse35 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse35 ~B~0.offset) .cse33))))) (= c_~minc~0 (+ .cse33 c_~minb~0)) (= c_~mina~0 (select .cse36 .cse34)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse37 (select .cse39 ~A~0.offset))) (and (<= c_~mina~0 .cse37) (<= .cse1 (+ .cse2 .cse37)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse38 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse38 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse38 ~B~0.offset) .cse37))))) (= c_~minc~0 (+ .cse37 c_~minb~0)) (= c_~minc~0 (* 2 .cse37)) (= c_~mina~0 (select .cse39 (+ ~A~0.offset 4))))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse42 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse41 (select .cse42 ~B~0.offset))) (let ((.cse40 (+ .cse41 .cse17))) (and (<= .cse15 .cse40) (= c_~minc~0 (+ .cse41 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse40) (= .cse2 (+ (select .cse42 (+ ~B~0.offset 4)) .cse17))))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse45 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse44 (select .cse45 ~B~0.offset))) (let ((.cse43 (+ .cse44 .cse17))) (and (<= .cse15 .cse43) (= c_~minc~0 (* .cse44 2)) (= c_~minc~0 (+ .cse44 c_~mina~0)) (<= .cse2 .cse43) (= .cse2 (+ (select .cse45 (+ ~B~0.offset 4)) .cse17))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse49 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse48 (+ (select .cse49 ~B~0.offset) .cse17))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse48) (= .cse2 (+ (select .cse49 (+ ~B~0.offset 4)) .cse17)) (<= .cse48 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (or (and (<= .cse50 .cse2) .cse47) (and .cse51 (<= (+ .cse2 1) .cse50))) (<= (* .cse2 2) (+ c_~minc~0 .cse50)) (or .cse20 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse52 ~B~0.offset) .cse2) .cse53) (= .cse2 (+ (select .cse52 (+ ~B~0.offset 4)) .cse17))))) (not (= ~B~0.offset .cse46)))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse55 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse54 (+ (select .cse55 ~B~0.offset) .cse17))) (and (<= .cse2 .cse54) (= .cse2 (+ (select .cse55 (+ ~B~0.offset 4)) .cse17)) (<= .cse54 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse57 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse56 (+ (select .cse57 ~B~0.offset) .cse17))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse56) (= .cse2 (+ (select .cse57 (+ ~B~0.offset 4)) .cse17)) (<= .cse56 c_~minc~0)))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse60 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse58 (select .cse60 ~B~0.offset))) (let ((.cse59 (+ .cse58 .cse17))) (and (= c_~minc~0 (* .cse58 2)) (<= .cse2 .cse59) (= .cse2 (+ (select .cse60 (+ ~B~0.offset 4)) .cse17)) (<= .cse59 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse63 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse62 (select .cse63 ~B~0.offset))) (let ((.cse61 (+ .cse62 .cse17))) (and (<= .cse15 .cse61) (= c_~minc~0 (* .cse62 2)) (= c_~minc~0 (+ .cse62 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse61) (= .cse2 (+ (select .cse63 (+ ~B~0.offset 4)) .cse17))))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)) (exists ((~B~0.base Int)) (let ((.cse66 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse65 (select .cse66 ~B~0.offset))) (let ((.cse64 (+ .cse65 .cse17))) (and (<= .cse15 .cse64) (= c_~minc~0 (+ .cse65 c_~mina~0)) (<= .cse2 .cse64) (= .cse2 (+ (select .cse66 (+ ~B~0.offset 4)) .cse17))))))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse69 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse67 (select .cse69 ~B~0.offset))) (let ((.cse68 (+ .cse67 .cse17))) (and (= c_~minc~0 (* .cse67 2)) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse68) (= .cse2 (+ (select .cse69 (+ ~B~0.offset 4)) .cse17)) (<= .cse68 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse72 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse71 (select .cse72 ~B~0.offset))) (let ((.cse70 (+ .cse71 .cse17))) (and (<= .cse15 .cse70) (= c_~minc~0 (+ .cse71 c_~mina~0)) (<= .cse2 .cse70) (= .cse2 (+ (select .cse72 (+ ~B~0.offset 4)) .cse17))))))))) (and (= (mod c_~minc~0 2) 0) .cse47 (<= (+ .cse2 (div c_~minc~0 2)) .cse53) .cse73)) (= .cse74 .cse2)) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse75 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse75 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse77 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse76 (select .cse77 ~A~0.offset))) (and (<= (+ .cse76 c_~minb~0) c_~minc~0) (= .cse76 c_~mina~0) (<= (+ .cse76 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse76)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse75 ~B~0.offset) .cse76)) (= .cse2 (+ c_~minb~0 (select .cse77 (+ ~A~0.offset 4))))))))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse78 (+ ~A~0.offset 4))) (and (not (= .cse78 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse80 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse79 (select .cse80 ~A~0.offset))) (let ((.cse82 (select |c_#memory_int#4| ~B~0.base)) (.cse81 (* 2 .cse79))) (and (= .cse79 c_~mina~0) (= (+ .cse79 (select .cse80 .cse78)) .cse2) (= c_~minc~0 (+ .cse79 c_~minb~0)) (<= .cse15 .cse81) (= (select .cse82 (+ ~B~0.offset 4)) .cse79) (= c_~minc~0 (+ (select .cse82 ~B~0.offset) .cse79)) (<= (+ .cse81 1) .cse2)))))) (not (= ~B~0.offset ~A~0.offset))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse86 (select .cse87 ~A~0.offset))) (let ((.cse83 (+ .cse86 c_~minb~0)) (.cse84 (select |c_#memory_int#4| ~B~0.base)) (.cse85 (+ ~A~0.offset 4))) (and (<= .cse83 c_~minc~0) (= (select .cse84 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse85 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse83) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86)) (= .cse2 (+ c_~minb~0 (select .cse87 .cse85)))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse92 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse90 (select |c_#memory_int#4| ~B~0.base)) (.cse89 (select .cse92 ~A~0.offset))) (and (<= (+ .cse89 c_~minb~0) c_~minc~0) (= (select .cse90 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse89)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse89)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse90 ~B~0.offset) .cse89)) (= .cse2 (+ c_~minb~0 (select .cse92 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse94 (select .cse95 ~A~0.offset))) (let ((.cse93 (+ .cse94 c_~minb~0))) (and (<= .cse93 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (= .cse94 c_~minb~0) (<= .cse2 .cse93) (= .cse2 (+ c_~minb~0 (select .cse95 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse94 .cse18))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse100 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse99 (select .cse100 ~A~0.offset))) (let ((.cse96 (+ .cse99 c_~minb~0)) (.cse97 (select |c_#memory_int#4| ~B~0.base)) (.cse98 (+ ~B~0.offset 4))) (and (<= .cse96 c_~minc~0) (= (select .cse97 .cse98) c_~minb~0) (= .cse91 (+ .cse2 .cse99)) (<= .cse2 .cse96) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse97 ~B~0.offset) .cse99)) (= .cse2 (+ c_~minb~0 (select .cse100 (+ ~A~0.offset 4)))) (not (= ~A~0.offset .cse98))))))) .cse88) (and .cse19 .cse101 .cse21 .cse102) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse105 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse103 (select .cse105 ~A~0.offset))) (and (= .cse103 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse106 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse104 (select .cse106 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse104 (select .cse105 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse104 .cse103)) (= c_~minc~0 (+ (select .cse106 ~B~0.offset) .cse103)) (<= (+ .cse104 .cse103 1) .cse2))))))) (= c_~minc~0 (+ .cse103 c_~minb~0)) (= c_~minc~0 (* 2 .cse103)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse107 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse107 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse109 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse108 (select .cse109 ~A~0.offset))) (and (= .cse108 c_~mina~0) (= .cse91 (+ .cse2 .cse108)) (<= (+ .cse108 c_~minb~0 1) .cse2) (= .cse108 c_~minb~0) (= c_~minc~0 (+ (select .cse107 ~B~0.offset) .cse108)) (= .cse2 (+ c_~minb~0 (select .cse109 (+ ~A~0.offset 4)))))))) (not (= ~B~0.offset ~A~0.offset))))))) (and .cse19 .cse110 .cse21 .cse102) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse113 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse111 (select .cse113 ~A~0.offset))) (and (= .cse111 c_~mina~0) (= c_~minc~0 (+ .cse111 c_~minb~0)) (= c_~minc~0 (* 2 .cse111)) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse114 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse112 (select .cse114 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse112 (select .cse113 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse112 .cse111)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse114 ~B~0.offset) .cse111)) (<= (+ .cse112 .cse111 1) .cse2))))))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse118 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse117 (select .cse118 ~A~0.offset))) (let ((.cse115 (+ .cse117 c_~minb~0)) (.cse116 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse115 c_~minc~0) (= (select .cse116 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse115) (= c_~minc~0 (* 2 .cse117)) (= c_~minc~0 (+ (select .cse116 ~B~0.offset) .cse117)) (= .cse2 (+ c_~minb~0 (select .cse118 (+ ~A~0.offset 4))))))))) .cse88) (and (or .cse32 (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse120 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse121 (select .cse120 ~A~0.offset))) (let ((.cse119 (+ .cse121 c_~minb~0))) (and (<= .cse119 c_~minc~0) (not (= ~A~0.offset .cse46)) (<= .cse2 .cse119) (= .cse2 (+ c_~minb~0 (select .cse120 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse121 .cse18)))))))) .cse122 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse123 (select .cse124 ~A~0.offset))) (and (<= (+ .cse123 c_~minb~0) c_~minc~0) (= .cse123 c_~mina~0) (<= (+ .cse123 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse124 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse123 .cse18)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse126 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse125 (select .cse126 ~A~0.offset))) (and (<= (+ .cse125 c_~minb~0) c_~minc~0) (= .cse125 c_~minb~0) (= .cse2 (+ c_~minb~0 (select .cse126 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse125 .cse18)))))) .cse88)) .cse127) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse131 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse128 (select .cse131 ~A~0.offset))) (and (= .cse128 c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse129 (+ ~A~0.offset 4)) (.cse133 (+ ~B~0.offset 4))) (and (not (= .cse129 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse132 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse130 (select .cse132 .cse133))) (and (= .cse2 (+ .cse130 (select .cse131 .cse129))) (<= .cse15 (+ .cse130 .cse128)) (= c_~minc~0 (+ (select .cse132 ~B~0.offset) .cse128)) (<= (+ .cse130 .cse128 1) .cse2))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse133))))) (= c_~minc~0 (+ .cse128 c_~minb~0)) (= c_~minc~0 (* 2 .cse128)))))) (and (<= .cse134 (+ .cse135 .cse2)) .cse19 (<= .cse136 c_~minc~0) .cse21 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse137 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse138 (+ c_~minc~0 (select .cse137 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse140 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse139 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse139 ~B~0.offset) .cse18)) (= .cse138 (+ c_~minc~0 (select .cse139 .cse140)))))) (not (= c_~C~0.offset .cse140)) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse144 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse143 (select .cse144 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse142 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse141 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse141 .cse142) c_~mina~0)) (= c_~minc~0 (+ (select .cse141 ~B~0.offset) .cse143))))) (not (= ~A~0.offset .cse142))))) (= c_~minc~0 (+ .cse143 c_~mina~0)) (<= c_~mina~0 .cse143) (<= .cse1 (+ .cse2 .cse143)) (= c_~minc~0 (+ .cse143 c_~minb~0)) (= c_~mina~0 (select .cse144 (+ ~A~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse145 (select |c_#memory_int#4| ~B~0.base)) (.cse146 (+ ~B~0.offset 4))) (and (= (select .cse145 .cse146) c_~minb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse148 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse147 (select .cse148 ~A~0.offset))) (and (<= (+ .cse147 c_~minb~0) c_~minc~0) (= .cse147 c_~mina~0) (= .cse91 (+ .cse2 .cse147)) (<= (+ .cse147 c_~minb~0 1) .cse2) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) .cse147)) (= .cse2 (+ c_~minb~0 (select .cse148 (+ ~A~0.offset 4)))))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse146))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse151 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse149 (select .cse151 ~A~0.offset))) (and (= .cse149 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse152 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse150 (select .cse152 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse150 (select .cse151 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse150 .cse149)) (= c_~minc~0 (+ (select .cse152 ~B~0.offset) .cse149)) (<= (+ .cse150 .cse149 1) .cse2))))))) (= c_~minc~0 (+ .cse149 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse154 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse153 (select .cse154 ~A~0.offset))) (and (<= (+ .cse153 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse153 c_~mina~0) (<= (+ .cse153 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse154 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse153 .cse18)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse157 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse155 (select .cse157 ~A~0.offset))) (and (<= c_~mina~0 .cse155) (<= .cse1 (+ .cse2 .cse155)) (= c_~minc~0 (+ .cse155 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse156 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse156 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse156 ~B~0.offset) .cse155))))))) (= c_~mina~0 (select .cse157 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse161 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse158 (select |c_#memory_int#4| ~B~0.base)) (.cse160 (select .cse161 ~A~0.offset)) (.cse159 (+ ~A~0.offset 4))) (and (= (select .cse158 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse159 ~B~0.offset)) (= .cse160 c_~minb~0) (<= .cse2 (+ .cse160 c_~minb~0)) (= c_~minc~0 (* 2 .cse160)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse158 ~B~0.offset) .cse160)) (= .cse2 (+ c_~minb~0 (select .cse161 .cse159))))))) .cse88) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse162 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse162 (+ ~B~0.offset 4)) .cse18) (= c_~minc~0 (+ (select .cse162 ~B~0.offset) .cse18)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))) .cse19 (<= .cse15 .cse135) (<= .cse136 .cse2) .cse21) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse163 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse163 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse165 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse164 (select .cse165 ~A~0.offset))) (and (<= (+ .cse164 c_~minb~0) c_~minc~0) (= .cse164 c_~mina~0) (= .cse91 (+ .cse2 .cse164)) (<= (+ .cse164 c_~minb~0 1) .cse2) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse163 ~B~0.offset) .cse164)) (= .cse2 (+ c_~minb~0 (select .cse165 (+ ~A~0.offset 4))))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse169 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse167 (select .cse169 ~A~0.offset))) (let ((.cse166 (* 2 .cse167))) (and (<= .cse134 (+ .cse2 .cse166)) (= .cse167 c_~mina~0) (<= (+ .cse166 1) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse168 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ .cse2 .cse167) (+ c_~minc~0 (select .cse168 (+ ~B~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse168 ~B~0.offset) .cse167))))))) (= c_~minc~0 (+ .cse167 (select .cse169 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse167 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse171 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse170 (select .cse171 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse170 c_~mina~0) (<= .cse15 (+ .cse17 .cse170)) (= c_~minc~0 (+ .cse170 c_~minb~0)) (<= (+ .cse17 .cse170 1) .cse2) (= .cse2 (+ .cse17 (select .cse171 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse174 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse173 (select .cse174 (+ ~A~0.offset 4))) (.cse172 (select .cse174 ~A~0.offset))) (and (= .cse172 c_~mina~0) (<= (+ .cse172 1) .cse173) (= c_~minc~0 (+ .cse172 c_~minb~0)) (<= (+ c_~minc~0 .cse173 1) (+ .cse2 .cse172)) (= c_~minc~0 (+ .cse172 .cse18)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse176 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse177 (select .cse176 ~A~0.offset))) (let ((.cse175 (+ .cse177 c_~minb~0))) (and (<= .cse175 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse2 .cse175) (= .cse2 (+ c_~minb~0 (select .cse176 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse177 .cse18))))))) .cse88) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse178 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse178 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse181 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse179 (select .cse181 ~A~0.offset)) (.cse180 (+ ~A~0.offset 4))) (and (<= (+ .cse179 c_~minb~0) c_~minc~0) (= .cse179 c_~mina~0) (not (= .cse180 ~B~0.offset)) (<= (+ .cse179 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse179)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse178 ~B~0.offset) .cse179)) (= .cse2 (+ c_~minb~0 (select .cse181 .cse180)))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse183 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse182 (select .cse183 ~A~0.offset))) (let ((.cse184 (* 2 .cse182))) (and (= .cse182 c_~mina~0) (= (+ .cse182 (select .cse183 (+ ~A~0.offset 4))) .cse2) (= c_~minc~0 (+ .cse182 c_~minb~0)) (<= .cse15 .cse184) (<= (+ .cse184 1) .cse2) (= c_~minc~0 (+ .cse182 .cse18))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse185 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse185 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse187 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse186 (select .cse187 ~A~0.offset))) (and (<= (+ .cse186 c_~minb~0) c_~minc~0) (= .cse186 c_~mina~0) (<= (+ .cse186 c_~minb~0 1) .cse2) (= c_~minc~0 (+ (select .cse185 ~B~0.offset) .cse186)) (= .cse2 (+ c_~minb~0 (select .cse187 (+ ~A~0.offset 4))))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse189 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse190 (+ ~A~0.offset 4)) (.cse188 (select .cse189 ~A~0.offset))) (and (<= c_~mina~0 .cse188) (<= .cse1 (+ .cse2 .cse188)) (= c_~minc~0 (+ .cse188 c_~minb~0)) (= c_~mina~0 (select .cse189 .cse190)) (exists ((~B~0.offset Int)) (and (not (= .cse190 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse191 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse191 ~B~0.offset) .cse188))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse194 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse192 (select .cse194 ~A~0.offset))) (and (= c_~minc~0 (+ .cse192 c_~mina~0)) (<= .cse1 (+ .cse2 .cse192)) (= c_~minc~0 (+ .cse192 c_~minb~0)) (= c_~minc~0 (* 2 .cse192)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse193 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse193 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse193 ~B~0.offset) .cse192))))))) (= c_~mina~0 (select .cse194 (+ ~A~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse195 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse195 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse196 (+ ~A~0.offset 4))) (and (not (= .cse196 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse198 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse197 (select .cse198 ~A~0.offset))) (and (<= (+ .cse197 c_~minb~0) c_~minc~0) (= .cse197 c_~mina~0) (<= (+ .cse197 c_~minb~0 1) .cse2) (= .cse197 c_~minb~0) (= c_~minc~0 (+ (select .cse195 ~B~0.offset) .cse197)) (= .cse2 (+ c_~minb~0 (select .cse198 .cse196))))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse201 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse200 (select .cse201 ~A~0.offset))) (let ((.cse199 (* 2 .cse200))) (and (<= .cse134 (+ .cse2 .cse199)) (= .cse200 c_~mina~0) (<= (+ .cse199 1) c_~minc~0) (= c_~minc~0 (+ .cse200 (select .cse201 (+ ~A~0.offset 4)))) (exists ((~B~0.offset Int)) (let ((.cse203 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse202 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ .cse2 .cse200) (+ c_~minc~0 (select .cse202 .cse203))) (= c_~minc~0 (+ (select .cse202 ~B~0.offset) .cse200))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse203))))) (= c_~minc~0 (+ .cse200 c_~minb~0))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse207 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse206 (select .cse207 ~A~0.offset))) (let ((.cse204 (+ .cse206 c_~minb~0)) (.cse205 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse204 c_~minc~0) (= (select .cse205 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse206)) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse204) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse205 ~B~0.offset) .cse206)) (= .cse2 (+ c_~minb~0 (select .cse207 (+ ~A~0.offset 4)))))))))) (and (<= c_~mina~0 .cse18) (<= .cse1 .cse138) .cse21 (let ((.cse220 (+ c_~mina~0 .cse18))) (let ((.cse209 (exists ((~B~0.offset Int)) (let ((.cse223 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse223)) (exists ((~B~0.base Int)) (let ((.cse224 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse224 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse224 .cse223) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)))))) (.cse210 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse222 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse222 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse222 (+ ~B~0.offset 4)) c_~mina~0)))))))) (.cse208 (= c_~minc~0 .cse220)) (.cse211 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse221 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse221 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse221 (+ ~B~0.offset 4)) c_~mina~0)))))) (.cse215 (= .cse220 .cse2)) (.cse212 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse219 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse219 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse219 (+ ~B~0.offset 4)) c_~mina~0))))) (not (= ~B~0.offset .cse46))))) (.cse213 (exists ((~B~0.offset Int)) (let ((.cse217 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse217)) (exists ((~B~0.base Int)) (let ((.cse218 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse218 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse218 .cse217) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (or (and .cse51 .cse208) (and (or (and (or .cse209 .cse210) .cse208) .cse210 .cse211 .cse212 .cse213) .cse102) .cse210 (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse214 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse214 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse214 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset))))) .cse215) .cse209 .cse210) .cse208) .cse211 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse216 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse216 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse216 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))) .cse215) .cse212 .cse213)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse226 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse225 (select .cse226 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse225) (<= .cse1 (+ .cse2 .cse225)) (= c_~minc~0 (+ .cse225 c_~minb~0)) (= c_~mina~0 (select .cse226 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse225 .cse18)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse227 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse227 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse229 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse228 (select .cse229 ~A~0.offset))) (and (<= (+ .cse228 c_~minb~0) c_~minc~0) (= .cse228 c_~mina~0) (<= (+ .cse228 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse228)) (= c_~minc~0 (+ (select .cse227 ~B~0.offset) .cse228)) (= .cse2 (+ c_~minb~0 (select .cse229 (+ ~A~0.offset 4))))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse232 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse230 (select .cse232 ~A~0.offset))) (and (<= c_~mina~0 .cse230) (<= .cse1 (+ .cse2 .cse230)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse231 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse231 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse231 ~B~0.offset) .cse230))))) (= c_~minc~0 (+ .cse230 c_~minb~0)) (= c_~mina~0 (select .cse232 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse237 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse233 (select .cse237 ~A~0.offset)) (.cse234 (+ ~A~0.offset 4))) (and (<= c_~mina~0 .cse233) (<= .cse1 (+ .cse2 .cse233)) (exists ((~B~0.offset Int)) (let ((.cse236 (+ ~B~0.offset 4))) (and (not (= .cse234 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse235 .cse236) c_~mina~0)) (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse233))))) (not (= ~A~0.offset .cse236))))) (= c_~minc~0 (+ .cse233 c_~minb~0)) (= c_~minc~0 (* 2 .cse233)) (= c_~mina~0 (select .cse237 .cse234)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse239 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse238 (select .cse239 ~A~0.offset))) (and (<= (+ .cse238 c_~minb~0) c_~minc~0) (= .cse238 c_~mina~0) (<= (+ .cse238 c_~minb~0 1) .cse2) (= .cse238 c_~minb~0) (= .cse2 (+ c_~minb~0 (select .cse239 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse238 .cse18)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse241 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse240 (select .cse241 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse240 c_~mina~0) (<= .cse15 (+ .cse17 .cse240)) (= c_~minc~0 (+ .cse240 c_~minb~0)) (<= (+ .cse17 .cse240 1) .cse2) (= .cse2 (+ .cse17 (select .cse241 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse243 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse242 (select .cse243 ~A~0.offset))) (and (<= c_~mina~0 .cse242) (<= .cse1 (+ .cse2 .cse242)) (= (+ .cse242 c_~mina~0) .cse2) (= c_~minc~0 (+ .cse242 c_~minb~0)) (= c_~mina~0 (select .cse243 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse242 .cse18)))))))) (and .cse19 .cse244 .cse21 .cse102) .cse122 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse245 (select |c_#memory_int#4| ~B~0.base)) (.cse246 (+ ~B~0.offset 4))) (and (= (select .cse245 .cse246) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse247 (+ ~A~0.offset 4))) (and (not (= .cse247 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse249 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse248 (select .cse249 ~A~0.offset))) (and (<= (+ .cse248 c_~minb~0) c_~minc~0) (= .cse248 c_~mina~0) (<= (+ .cse248 c_~minb~0 1) .cse2) (= c_~minc~0 (+ (select .cse245 ~B~0.offset) .cse248)) (= .cse2 (+ c_~minb~0 (select .cse249 .cse247))))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse246)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse250 (select .cse251 ~A~0.offset))) (and (= .cse53 (+ .cse2 .cse250)) (not (= ~A~0.base c_~C~0.base)) (= .cse250 c_~mina~0) (<= .cse15 (+ .cse17 .cse250)) (= c_~minc~0 (+ .cse250 c_~minb~0)) (<= (+ .cse17 .cse250 1) .cse2) (= .cse2 (+ .cse17 (select .cse251 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse253 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse252 (select .cse253 ~A~0.offset))) (and (= .cse252 c_~mina~0) (<= .cse15 (+ .cse17 .cse252)) (= c_~minc~0 (+ .cse252 c_~minb~0)) (= c_~minc~0 (* 2 .cse252)) (<= (+ .cse17 .cse252 1) .cse2) (= .cse2 (+ .cse17 (select .cse253 (+ ~A~0.offset 4)))))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse258 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse257 (select .cse258 ~A~0.offset))) (let ((.cse254 (+ .cse257 c_~minb~0)) (.cse255 (select |c_#memory_int#4| ~B~0.base)) (.cse256 (+ ~A~0.offset 4))) (and (<= .cse254 c_~minc~0) (= (select .cse255 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse256 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse254) (= c_~minc~0 (* 2 .cse257)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse255 ~B~0.offset) .cse257)) (= .cse2 (+ c_~minb~0 (select .cse258 .cse256))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse262 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse261 (select .cse262 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse260 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse259 .cse260) c_~mina~0)) (= c_~minc~0 (+ (select .cse259 ~B~0.offset) .cse261))))) (not (= ~A~0.offset .cse260))))) (= c_~minc~0 (+ .cse261 c_~mina~0)) (<= .cse1 (+ .cse2 .cse261)) (= c_~minc~0 (+ .cse261 c_~minb~0)) (= c_~minc~0 (* 2 .cse261)) (= c_~mina~0 (select .cse262 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse268 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse267 (select .cse268 ~A~0.offset))) (let ((.cse263 (+ .cse267 c_~minb~0)) (.cse264 (select |c_#memory_int#4| ~B~0.base)) (.cse266 (+ ~A~0.offset 4)) (.cse265 (+ ~B~0.offset 4))) (and (<= .cse263 c_~minc~0) (= (select .cse264 .cse265) c_~minb~0) (not (= .cse266 ~B~0.offset)) (<= .cse2 .cse263) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse264 ~B~0.offset) .cse267)) (= .cse2 (+ c_~minb~0 (select .cse268 .cse266))) (not (= ~A~0.offset .cse265))))))) .cse88) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse271 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse270 (select .cse271 (+ ~A~0.offset 4))) (.cse269 (select .cse271 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse269 c_~mina~0) (<= (+ .cse269 1) .cse270) (= c_~minc~0 (+ .cse269 c_~minb~0)) (<= (+ c_~minc~0 .cse270 1) (+ .cse2 .cse269)) (= c_~minc~0 (+ .cse269 .cse18)))))) (and .cse19 .cse244 .cse21) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse275 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse274 (select .cse275 ~A~0.offset))) (let ((.cse272 (+ .cse274 c_~minb~0)) (.cse273 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse272 c_~minc~0) (= (select .cse273 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse272) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse273 ~B~0.offset) .cse274)) (= .cse2 (+ c_~minb~0 (select .cse275 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse278 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse276 (select .cse278 ~A~0.offset))) (and (= .cse276 c_~mina~0) (= c_~minc~0 (+ .cse276 c_~minb~0)) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse279 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse277 (select .cse279 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse277 (select .cse278 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse277 .cse276)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse279 ~B~0.offset) .cse276)) (<= (+ .cse277 .cse276 1) .cse2))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse284 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse280 (select .cse284 ~A~0.offset)) (.cse281 (+ ~A~0.offset 4))) (and (<= c_~mina~0 .cse280) (<= .cse1 (+ .cse2 .cse280)) (exists ((~B~0.offset Int)) (let ((.cse283 (+ ~B~0.offset 4))) (and (not (= .cse281 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse282 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse282 .cse283) c_~mina~0)) (= c_~minc~0 (+ (select .cse282 ~B~0.offset) .cse280))))) (not (= ~A~0.offset .cse283))))) (= c_~minc~0 (+ .cse280 c_~minb~0)) (= c_~mina~0 (select .cse284 .cse281)))))) (and (or (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse288 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse285 (select |c_#memory_int#4| ~B~0.base)) (.cse287 (select .cse288 ~A~0.offset)) (.cse286 (+ ~B~0.offset 4))) (and (= (select .cse285 .cse286) c_~minb~0) (= .cse91 (+ .cse2 .cse287)) (= c_~minc~0 (* 2 .cse287)) (= c_~minc~0 (+ (select .cse285 ~B~0.offset) .cse287)) (= .cse2 (+ c_~minb~0 (select .cse288 (+ ~A~0.offset 4)))) (not (= ~A~0.offset .cse286)))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse291 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse290 (select |c_#memory_int#4| ~B~0.base)) (.cse289 (select .cse291 ~A~0.offset))) (and (<= (+ .cse289 c_~minb~0) c_~minc~0) (= (select .cse290 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse289)) (= c_~minc~0 (+ (select .cse290 ~B~0.offset) .cse289)) (= .cse2 (+ c_~minb~0 (select .cse291 (+ ~A~0.offset 4)))))))) .cse88) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse296 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse293 (select |c_#memory_int#4| ~B~0.base)) (.cse292 (select .cse296 ~A~0.offset)) (.cse295 (+ ~A~0.offset 4)) (.cse294 (+ ~B~0.offset 4))) (and (<= (+ .cse292 c_~minb~0) c_~minc~0) (= (select .cse293 .cse294) c_~minb~0) (not (= .cse295 ~B~0.offset)) (= c_~minc~0 (* 2 .cse292)) (= c_~minc~0 (+ (select .cse293 ~B~0.offset) .cse292)) (= .cse2 (+ c_~minb~0 (select .cse296 .cse295))) (not (= ~A~0.offset .cse294))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse300 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse298 (select |c_#memory_int#4| ~B~0.base)) (.cse297 (select .cse300 ~A~0.offset)) (.cse299 (+ ~A~0.offset 4))) (and (<= (+ .cse297 c_~minb~0) c_~minc~0) (= (select .cse298 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse299 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse297)) (= c_~minc~0 (+ (select .cse298 ~B~0.offset) .cse297)) (= .cse2 (+ c_~minb~0 (select .cse300 .cse299)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse303 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse301 (select |c_#memory_int#4| ~B~0.base)) (.cse302 (select .cse303 ~A~0.offset))) (and (= (select .cse301 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse302)) (= c_~minc~0 (* 2 .cse302)) (= c_~minc~0 (+ (select .cse301 ~B~0.offset) .cse302)) (= .cse2 (+ c_~minb~0 (select .cse303 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse304 (select |c_#memory_int#4| ~B~0.base)) (.cse305 (select .cse306 ~A~0.offset))) (and (= (select .cse304 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse305)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse305)) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse305)) (= .cse2 (+ c_~minb~0 (select .cse306 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse310 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse307 (select |c_#memory_int#4| ~B~0.base)) (.cse309 (select .cse310 ~A~0.offset)) (.cse308 (+ ~A~0.offset 4))) (and (= (select .cse307 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse308 ~B~0.offset)) (= .cse309 c_~minb~0) (= c_~minc~0 (* 2 .cse309)) (= c_~minc~0 (+ (select .cse307 ~B~0.offset) .cse309)) (= .cse2 (+ c_~minb~0 (select .cse310 .cse308))))))) .cse88)) .cse127) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse314 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse312 (select .cse314 ~A~0.offset))) (let ((.cse311 (+ .cse312 c_~mina~0))) (and (= c_~minc~0 .cse311) (<= .cse1 (+ .cse2 .cse312)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse313 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse313 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse313 ~B~0.offset) .cse312))))) (= .cse311 .cse2) (= c_~minc~0 (+ .cse312 c_~minb~0)) (= c_~mina~0 (select .cse314 (+ ~A~0.offset 4)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse317 (select .cse318 ~A~0.offset))) (let ((.cse315 (+ .cse317 c_~minb~0)) (.cse316 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse315 c_~minc~0) (= (select .cse316 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse315) (= c_~minc~0 (+ (select .cse316 ~B~0.offset) .cse317)) (= .cse2 (+ c_~minb~0 (select .cse318 (+ ~A~0.offset 4))))))))) .cse88) (and .cse19 .cse319 .cse21) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse320 (select .cse321 ~A~0.offset))) (and (<= c_~mina~0 .cse320) (<= .cse1 (+ .cse2 .cse320)) (= c_~minc~0 (+ .cse320 c_~minb~0)) (= c_~mina~0 (select .cse321 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse320 .cse18)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse327 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse326 (select .cse327 ~A~0.offset))) (let ((.cse322 (+ .cse326 c_~minb~0)) (.cse323 (select |c_#memory_int#4| ~B~0.base)) (.cse325 (+ ~A~0.offset 4)) (.cse324 (+ ~B~0.offset 4))) (and (<= .cse322 c_~minc~0) (= (select .cse323 .cse324) c_~minb~0) (not (= .cse325 ~B~0.offset)) (<= .cse2 .cse322) (= c_~minc~0 (* 2 .cse326)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse323 ~B~0.offset) .cse326)) (= .cse2 (+ c_~minb~0 (select .cse327 .cse325))) (not (= ~A~0.offset .cse324))))))) .cse88) (and (let ((.cse329 (+ .cse335 .cse2))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse330 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse331 (+ ~A~0.offset 4)) (.cse328 (select .cse330 ~A~0.offset))) (and (= .cse328 c_~mina~0) (= .cse329 (select .cse330 .cse331)) (<= .cse332 .cse328) (= c_~minc~0 (+ .cse328 c_~minb~0)) (= c_~minc~0 (* 2 .cse328)) (exists ((~B~0.offset Int)) (let ((.cse334 (+ ~B~0.offset 4))) (and (not (= .cse331 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse333 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse333 .cse334) .cse335) 0) (= c_~minc~0 (+ (select .cse333 ~B~0.offset) .cse328))))) (not (= ~A~0.offset .cse334))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse337 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse336 (select .cse337 ~A~0.offset))) (and (= .cse336 c_~mina~0) (= .cse329 (select .cse337 (+ ~A~0.offset 4))) (<= .cse332 .cse336) (= c_~minc~0 (+ .cse336 c_~minb~0)) (= c_~minc~0 (* 2 .cse336)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse338 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse338 (+ ~B~0.offset 4)) .cse335) 0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse338 ~B~0.offset) .cse336))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse340 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse339 (select .cse340 ~A~0.offset)) (.cse341 (+ ~A~0.offset 4))) (and (= .cse339 c_~mina~0) (= .cse329 (select .cse340 .cse341)) (<= .cse332 .cse339) (= c_~minc~0 (+ .cse339 c_~minb~0)) (= c_~minc~0 (* 2 .cse339)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse342 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse342 (+ ~B~0.offset 4)) .cse335) 0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse342 ~B~0.offset) .cse339))))) (not (= .cse341 ~B~0.offset)))))))))) .cse343) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse346 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse345 (select .cse346 (+ ~A~0.offset 4))) (.cse344 (select .cse346 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse344 c_~mina~0) (<= (+ .cse344 1) .cse345) (= c_~minc~0 (+ .cse344 c_~minb~0)) (<= (+ c_~minc~0 .cse345 1) (+ .cse2 .cse344)) (= c_~minc~0 (+ .cse344 .cse18)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse348 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse347 (select .cse348 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse347) (<= .cse1 (+ .cse2 .cse347)) (= c_~minc~0 (+ .cse347 c_~minb~0)) (= c_~mina~0 (select .cse348 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse347 .cse18)))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse352 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse351 (select .cse352 ~A~0.offset))) (let ((.cse349 (+ .cse351 c_~minb~0)) (.cse350 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse349 c_~minc~0) (= (select .cse350 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse349) (= c_~minc~0 (* 2 .cse351)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse350 ~B~0.offset) .cse351)) (= .cse2 (+ c_~minb~0 (select .cse352 (+ ~A~0.offset 4)))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse353 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse353 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse354 (+ ~A~0.offset 4))) (and (not (= .cse354 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse355 (select .cse356 ~A~0.offset))) (and (= .cse355 c_~mina~0) (<= (+ .cse355 c_~minb~0 1) .cse2) (= .cse355 c_~minb~0) (= c_~minc~0 (* 2 .cse355)) (= c_~minc~0 (+ (select .cse353 ~B~0.offset) .cse355)) (= .cse2 (+ c_~minb~0 (select .cse356 .cse354))))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (<= .cse332 .cse18) .cse19 .cse21 .cse102 .cse343) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse359 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse357 (select .cse359 ~A~0.offset))) (and (<= c_~mina~0 .cse357) (<= .cse1 (+ .cse2 .cse357)) (= c_~minc~0 (+ .cse357 c_~minb~0)) (= c_~minc~0 (* 2 .cse357)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse358 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse358 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse358 ~B~0.offset) .cse357))))))) (= c_~mina~0 (select .cse359 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse361 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse362 (select .cse361 ~A~0.offset))) (let ((.cse360 (+ .cse362 c_~minb~0))) (and (<= .cse360 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (<= .cse2 .cse360) (= .cse2 (+ c_~minb~0 (select .cse361 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse362 .cse18))))))) .cse88) (and (let ((.cse364 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse380 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse380 ~B~0.offset) .cse18)) (= (select .cse380 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)))))) (.cse365 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse379 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse379 ~B~0.offset) .cse18)) (= (select .cse379 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base))))) (not (= ~B~0.offset .cse46))))) (.cse366 (and .cse372 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse378 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse378 ~B~0.offset) .cse18)) (= (select .cse378 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (.cse367 (exists ((~B~0.offset Int)) (let ((.cse376 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse376)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse377 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse377 ~B~0.offset) .cse18)) (= (select .cse377 .cse376) c_~minb~0)))) (not (= ~B~0.offset .cse46)))))) (.cse369 (= .cse138 .cse91)) (.cse363 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse375 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse375 ~B~0.offset) .cse18)) (= (select .cse375 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)))))))) (.cse368 (exists ((~B~0.offset Int)) (let ((.cse373 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse373)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse374 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse374 ~B~0.offset) .cse18)) (= (select .cse374 .cse373) c_~minb~0))))))))) (or .cse363 .cse364 .cse365 (and .cse127 .cse102) .cse366 .cse367 (and (or .cse363 .cse364 .cse365 .cse366 (and (or .cse363 .cse368) .cse369) .cse367) .cse102) (and .cse370 .cse369) (and .cse369 (or .cse363 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse371 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse371 ~B~0.offset) .cse18)) (= (select .cse371 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))) .cse372) .cse368)))) (<= .cse381 c_~minc~0) (or (and .cse19 (<= (+ c_~minb~0 .cse18 1) .cse2)) (and (<= .cse2 .cse381) .cse88))) (and (let ((.cse387 (= (+ .cse2 c_~minb~0) .cse53))) (let ((.cse382 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse391 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse391 (+ ~B~0.offset 4)) .cse17)))))) (.cse383 (and .cse387 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse390 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse390 ~B~0.offset) c_~minb~0) (= .cse2 (+ (select .cse390 (+ ~B~0.offset 4)) .cse17)) (not (= ~B~0.offset .cse46))))))) (.cse384 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse389 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse389 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse389 (+ ~B~0.offset 4)) .cse17))))) (not (= ~B~0.offset .cse46))))) (.cse385 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse388 ~B~0.offset) c_~minb~0) (= .cse2 (+ (select .cse388 (+ ~B~0.offset 4)) .cse17))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)))))) (or (and .cse73 (or .cse382 .cse383 .cse384 .cse385)) .cse382 .cse383 .cse384 (and (= c_~minc~0 .cse386) .cse73) (and .cse372 .cse387) .cse385))) (<= (+ .cse17 c_~minb~0 1) .cse2) (or (and (<= .cse74 c_~minc~0) .cse47) (and (= c_~minc~0 .cse392) (<= .cse15 .cse74)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse393 (select .cse396 ~A~0.offset))) (and (= .cse393 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse397 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse394 (+ ~A~0.offset 4)) (.cse395 (select .cse397 (+ ~B~0.offset 4)))) (and (not (= .cse394 ~B~0.offset)) (= .cse2 (+ .cse395 (select .cse396 .cse394))) (<= .cse15 (+ .cse395 .cse393)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse397 ~B~0.offset) .cse393)) (<= (+ .cse395 .cse393 1) .cse2))))))) (= c_~minc~0 (+ .cse393 c_~minb~0)) (= c_~minc~0 (* 2 .cse393)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse398 (select .cse399 ~A~0.offset))) (and (<= (+ .cse398 c_~minb~0) c_~minc~0) (= .cse398 c_~mina~0) (<= (+ .cse398 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse399 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse398 .cse18)))))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse401 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse400 (select .cse401 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ .cse400 c_~mina~0)) (<= c_~mina~0 .cse400) (<= .cse1 (+ .cse2 .cse400)) (= c_~minc~0 (+ .cse400 c_~minb~0)) (= c_~mina~0 (select .cse401 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse403 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse402 (select .cse403 ~A~0.offset))) (and (not (= ~A~0.offset .cse46)) (= c_~minc~0 (+ .cse402 c_~mina~0)) (<= c_~mina~0 .cse402) (<= .cse1 (+ .cse2 .cse402)) (= c_~minc~0 (+ .cse402 c_~minb~0)) (= c_~mina~0 (select .cse403 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse405 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse404 (select .cse405 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse404) (<= .cse1 (+ .cse2 .cse404)) (= c_~minc~0 (+ .cse404 c_~minb~0)) (= c_~mina~0 (select .cse405 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse407 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse406 (select .cse407 ~A~0.offset))) (and (<= c_~mina~0 .cse406) (<= .cse1 (+ .cse2 .cse406)) (= c_~minc~0 (+ .cse406 c_~minb~0)) (= c_~mina~0 (select .cse407 (+ ~A~0.offset 4))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse409 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse408 (select .cse409 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse408) (<= .cse1 (+ .cse2 .cse408)) (= c_~minc~0 (+ .cse408 c_~minb~0)) (= c_~mina~0 (select .cse409 (+ ~A~0.offset 4)))))))))) .cse51) (and .cse370 (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse411 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse410 (select .cse411 ~A~0.offset))) (and (<= (+ .cse410 c_~minb~0) c_~minc~0) (= .cse410 c_~mina~0) (= .cse91 (+ .cse2 .cse410)) (<= (+ .cse410 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse411 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse413 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse412 (select .cse413 ~A~0.offset))) (and (<= (+ .cse412 c_~minb~0) c_~minc~0) (= .cse412 c_~mina~0) (<= (+ .cse412 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse412)) (= .cse2 (+ c_~minb~0 (select .cse413 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse414 (select .cse415 ~A~0.offset))) (and (<= (+ .cse414 c_~minb~0) c_~minc~0) (= .cse414 c_~mina~0) (= .cse91 (+ .cse2 .cse414)) (<= (+ .cse414 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse415 (+ ~A~0.offset 4)))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse418 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse417 (select .cse418 ~A~0.offset))) (let ((.cse416 (+ .cse417 c_~minb~0))) (and (<= .cse416 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse2 .cse416) (= c_~minc~0 (* 2 .cse417)) (= .cse2 (+ c_~minb~0 (select .cse418 (+ ~A~0.offset 4))))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse421 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse420 (select .cse421 ~A~0.offset))) (let ((.cse419 (+ .cse420 c_~minb~0))) (and (<= .cse419 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse91 (+ .cse2 .cse420)) (<= .cse2 .cse419) (= .cse2 (+ c_~minb~0 (select .cse421 (+ ~A~0.offset 4))))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse424 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse423 (select .cse424 ~A~0.offset))) (let ((.cse422 (+ .cse423 c_~minb~0))) (and (<= .cse422 c_~minc~0) (not (= ~A~0.offset .cse46)) (= .cse91 (+ .cse2 .cse423)) (<= .cse2 .cse422) (= .cse2 (+ c_~minb~0 (select .cse424 (+ ~A~0.offset 4))))))))) .cse88) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse426 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse425 (select .cse426 ~A~0.offset))) (and (<= (+ .cse425 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse425 c_~mina~0) (<= (+ .cse425 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse426 (+ ~A~0.offset 4)))))))))) (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse428 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse427 (+ (select .cse428 ~A~0.offset) c_~minb~0))) (and (<= .cse427 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= .cse2 .cse427) (= .cse2 (+ c_~minb~0 (select .cse428 (+ ~A~0.offset 4))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse430 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse429 (select .cse430 ~A~0.offset))) (and (<= (+ .cse429 c_~minb~0) c_~minc~0) (= .cse429 c_~mina~0) (<= (+ .cse429 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse430 (+ ~A~0.offset 4)))))))))) (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse432 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse431 (+ (select .cse432 ~A~0.offset) c_~minb~0))) (and (<= .cse431 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (<= .cse2 .cse431) (= .cse2 (+ c_~minb~0 (select .cse432 (+ ~A~0.offset 4))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse434 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse433 (select .cse434 ~A~0.offset))) (and (<= (+ .cse433 c_~minb~0) c_~minc~0) (= .cse91 (+ .cse2 .cse433)) (= c_~minc~0 (* 2 .cse433)) (= .cse2 (+ c_~minb~0 (select .cse434 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse436 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse435 (+ (select .cse436 ~A~0.offset) c_~minb~0))) (and (<= .cse435 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse2 .cse435) (= .cse2 (+ c_~minb~0 (select .cse436 (+ ~A~0.offset 4)))))))) .cse88) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse438 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse437 (select .cse438 ~A~0.offset))) (and (<= (+ .cse437 c_~minb~0) c_~minc~0) (= .cse437 c_~mina~0) (<= (+ .cse437 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse438 (+ ~A~0.offset 4)))))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse440 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse439 (select .cse440 ~A~0.offset))) (and (= .cse439 c_~mina~0) (<= .cse15 (+ .cse17 .cse439)) (= c_~minc~0 (+ .cse439 c_~minb~0)) (<= (+ .cse17 .cse439 1) .cse2) (= .cse2 (+ .cse17 (select .cse440 (+ ~A~0.offset 4)))))))))) (and .cse19 .cse101 .cse21) (and .cse19 .cse319 .cse21 .cse102) (and .cse19 .cse110 .cse21) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse442 (select |c_#memory_int#4| ~B~0.base)) (.cse441 (select .cse444 ~A~0.offset)) (.cse443 (+ ~B~0.offset 4))) (and (<= (+ .cse441 c_~minb~0) c_~minc~0) (= (select .cse442 .cse443) c_~minb~0) (= .cse91 (+ .cse2 .cse441)) (= c_~minc~0 (* 2 .cse441)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse442 ~B~0.offset) .cse441)) (= .cse2 (+ c_~minb~0 (select .cse444 (+ ~A~0.offset 4)))) (not (= ~A~0.offset .cse443)))))) .cse88) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse446 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse445 (select .cse446 ~A~0.offset))) (and (= .cse53 (+ .cse2 .cse445)) (= .cse445 c_~mina~0) (not (= ~A~0.offset .cse46)) (<= .cse15 (+ .cse17 .cse445)) (= c_~minc~0 (+ .cse445 c_~minb~0)) (<= (+ .cse17 .cse445 1) .cse2) (= .cse2 (+ .cse17 (select .cse446 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse449 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse447 (select .cse449 ~A~0.offset))) (and (= c_~minc~0 (+ .cse447 c_~mina~0)) (<= c_~mina~0 .cse447) (<= .cse1 (+ .cse2 .cse447)) (= c_~minc~0 (+ .cse447 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse448 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse448 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse448 ~B~0.offset) .cse447))))))) (= c_~mina~0 (select .cse449 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse453 (select .cse454 ~A~0.offset))) (let ((.cse450 (+ .cse453 c_~minb~0)) (.cse451 (select |c_#memory_int#4| ~B~0.base)) (.cse452 (+ ~A~0.offset 4))) (and (<= .cse450 c_~minc~0) (= (select .cse451 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse452 ~B~0.offset)) (= .cse453 c_~minb~0) (<= .cse2 .cse450) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse451 ~B~0.offset) .cse453)) (= .cse2 (+ c_~minb~0 (select .cse454 .cse452)))))))) .cse88) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse455 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse455 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse457 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse456 (select .cse457 ~A~0.offset))) (and (<= (+ .cse456 c_~minb~0) c_~minc~0) (= .cse456 c_~mina~0) (<= (+ .cse456 c_~minb~0 1) .cse2) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse455 ~B~0.offset) .cse456)) (= .cse2 (+ c_~minb~0 (select .cse457 (+ ~A~0.offset 4))))))))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse461 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse460 (select .cse461 ~A~0.offset))) (let ((.cse458 (+ .cse460 c_~minb~0)) (.cse459 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse458 c_~minc~0) (= (select .cse459 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse460)) (= .cse460 c_~minb~0) (<= .cse2 .cse458) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse459 ~B~0.offset) .cse460)) (= .cse2 (+ c_~minb~0 (select .cse461 (+ ~A~0.offset 4))))))))) .cse88)))))) is different from true [2024-01-27 15:54:51,212 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse476 (select |c_#memory_int#4| c_~C~0.base)) (.cse46 (+ c_~C~0.offset 4))) (let ((.cse392 (+ c_~mina~0 c_~minb~0)) (.cse2 (select .cse476 .cse46)) (.cse17 (select .cse476 (+ c_~C~0.offset 8))) (.cse18 (select .cse476 c_~C~0.offset))) (let ((.cse381 (+ c_~minb~0 .cse18)) (.cse50 (* 2 .cse17)) (.cse386 (* 2 c_~minb~0)) (.cse335 (div (* (- 1) .cse2) 2)) (.cse15 (+ c_~minc~0 1)) (.cse88 (= .cse392 .cse2)) (.cse135 (* 2 .cse18)) (.cse138 (+ .cse2 .cse18)) (.cse53 (+ c_~minc~0 .cse17))) (let ((.cse20 (= .cse138 .cse53)) (.cse32 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse475 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse474 (select .cse475 ~A~0.offset))) (and (<= (+ .cse474 c_~minb~0) c_~minc~0) (= .cse474 c_~mina~0) (<= (+ .cse474 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse475 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse474 .cse18))))))))) (.cse136 (+ .cse135 1)) (.cse134 (+ (* c_~minc~0 2) 1)) (.cse122 (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse473 (select .cse472 ~A~0.offset))) (let ((.cse471 (+ .cse473 c_~minb~0))) (and (<= .cse471 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= .cse2 .cse471) (= .cse2 (+ c_~minb~0 (select .cse472 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse473 .cse18))))))))) (.cse244 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse470 (select .cse469 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse469 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse470 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse470 .cse18 1) .cse2) (not (= ~B~0.offset c_~C~0.offset))))))) (.cse332 (+ c_~minc~0 .cse335 1)) (.cse343 (= (mod .cse2 2) 0)) (.cse127 (= .cse386 .cse2)) (.cse73 (= .cse2 .cse50)) (.cse372 (= c_~minb~0 .cse18)) (.cse47 (= .cse17 c_~mina~0)) (.cse74 (+ .cse17 c_~minb~0)) (.cse51 (= .cse2 (+ .cse17 c_~mina~0))) (.cse370 (= .cse17 c_~minb~0)) (.cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse467 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse468 (select .cse467 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse467 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse468 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse468 .cse18 1) .cse2) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (.cse319 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse464 (select |c_#memory_int#4| ~B~0.base)) (.cse466 (+ ~B~0.offset 4))) (let ((.cse465 (select .cse464 .cse466))) (and (= c_~minc~0 (+ (select .cse464 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse465 .cse18)) (not (= c_~C~0.offset .cse466)) (<= (+ .cse465 .cse18 1) .cse2) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (.cse102 (= c_~minc~0 .cse135)) (.cse19 (= c_~mina~0 .cse18)) (.cse110 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse462 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse463 (select .cse462 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse462 ~B~0.offset) .cse18)) (<= .cse15 (+ .cse463 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse463 .cse18 1) .cse2)))))) (.cse21 (= c_~minc~0 .cse381)) (.cse1 (+ c_~minc~0 c_~mina~0 1)) (.cse91 (+ c_~minc~0 c_~minb~0))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse3 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse4 (+ ~A~0.offset 4)) (.cse0 (select .cse3 ~A~0.offset))) (and (<= c_~mina~0 .cse0) (<= .cse1 (+ .cse2 .cse0)) (= c_~minc~0 (+ .cse0 c_~minb~0)) (= c_~minc~0 (* 2 .cse0)) (= c_~mina~0 (select .cse3 .cse4)) (exists ((~B~0.offset Int)) (and (not (= .cse4 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse5 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse5 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse5 ~B~0.offset) .cse0))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse6 (select |c_#memory_int#4| ~B~0.base)) (.cse7 (+ ~B~0.offset 4))) (and (= (select .cse6 .cse7) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse8 (+ ~A~0.offset 4))) (and (not (= .cse8 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse10 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse9 (select .cse10 ~A~0.offset))) (and (<= (+ .cse9 c_~minb~0) c_~minc~0) (= .cse9 c_~mina~0) (<= (+ .cse9 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse9)) (= c_~minc~0 (+ (select .cse6 ~B~0.offset) .cse9)) (= .cse2 (+ c_~minb~0 (select .cse10 .cse8))))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse7)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse14 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse11 (select .cse14 ~A~0.offset))) (and (= .cse11 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse16 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse12 (+ ~A~0.offset 4)) (.cse13 (select .cse16 (+ ~B~0.offset 4)))) (and (not (= .cse12 ~B~0.offset)) (= .cse2 (+ .cse13 (select .cse14 .cse12))) (<= .cse15 (+ .cse13 .cse11)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~B~0.offset) .cse11)) (<= (+ .cse13 .cse11 1) .cse2))))))) (= c_~minc~0 (+ .cse11 c_~minb~0)))))) (and (<= (+ .cse17 .cse18 1) .cse2) .cse19 .cse20 (<= .cse15 (+ .cse17 .cse18)) .cse21) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse22 (select .cse25 ~A~0.offset))) (and (= .cse22 c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse23 (+ ~A~0.offset 4)) (.cse27 (+ ~B~0.offset 4))) (and (not (= .cse23 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse26 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse24 (select .cse26 .cse27))) (and (= .cse2 (+ .cse24 (select .cse25 .cse23))) (<= .cse15 (+ .cse24 .cse22)) (= c_~minc~0 (+ (select .cse26 ~B~0.offset) .cse22)) (<= (+ .cse24 .cse22 1) .cse2))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse27))))) (= c_~minc~0 (+ .cse22 c_~minb~0)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse28 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse28 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse31 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse29 (select .cse31 ~A~0.offset)) (.cse30 (+ ~A~0.offset 4))) (and (<= (+ .cse29 c_~minb~0) c_~minc~0) (= .cse29 c_~mina~0) (not (= .cse30 ~B~0.offset)) (<= (+ .cse29 c_~minb~0 1) .cse2) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse28 ~B~0.offset) .cse29)) (= .cse2 (+ c_~minb~0 (select .cse31 .cse30)))))))))))) .cse32 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse36 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse33 (select .cse36 ~A~0.offset)) (.cse34 (+ ~A~0.offset 4))) (and (<= c_~mina~0 .cse33) (<= .cse1 (+ .cse2 .cse33)) (= (+ .cse33 c_~mina~0) .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse35 (select |c_#memory_int#4| ~B~0.base))) (and (not (= .cse34 ~B~0.offset)) (= .cse2 (+ (select .cse35 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse35 ~B~0.offset) .cse33))))) (= c_~minc~0 (+ .cse33 c_~minb~0)) (= c_~mina~0 (select .cse36 .cse34)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse37 (select .cse39 ~A~0.offset))) (and (<= c_~mina~0 .cse37) (<= .cse1 (+ .cse2 .cse37)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse38 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse38 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse38 ~B~0.offset) .cse37))))) (= c_~minc~0 (+ .cse37 c_~minb~0)) (= c_~minc~0 (* 2 .cse37)) (= c_~mina~0 (select .cse39 (+ ~A~0.offset 4))))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse42 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse41 (select .cse42 ~B~0.offset))) (let ((.cse40 (+ .cse41 .cse17))) (and (<= .cse15 .cse40) (= c_~minc~0 (+ .cse41 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse40) (= .cse2 (+ (select .cse42 (+ ~B~0.offset 4)) .cse17))))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse45 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse44 (select .cse45 ~B~0.offset))) (let ((.cse43 (+ .cse44 .cse17))) (and (<= .cse15 .cse43) (= c_~minc~0 (* .cse44 2)) (= c_~minc~0 (+ .cse44 c_~mina~0)) (<= .cse2 .cse43) (= .cse2 (+ (select .cse45 (+ ~B~0.offset 4)) .cse17))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse49 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse48 (+ (select .cse49 ~B~0.offset) .cse17))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse48) (= .cse2 (+ (select .cse49 (+ ~B~0.offset 4)) .cse17)) (<= .cse48 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (or (and (<= .cse50 .cse2) .cse47) (and .cse51 (<= (+ .cse2 1) .cse50))) (<= (* .cse2 2) (+ c_~minc~0 .cse50)) (or .cse20 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse52 ~B~0.offset) .cse2) .cse53) (= .cse2 (+ (select .cse52 (+ ~B~0.offset 4)) .cse17))))) (not (= ~B~0.offset .cse46)))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse55 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse54 (+ (select .cse55 ~B~0.offset) .cse17))) (and (<= .cse2 .cse54) (= .cse2 (+ (select .cse55 (+ ~B~0.offset 4)) .cse17)) (<= .cse54 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse57 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse56 (+ (select .cse57 ~B~0.offset) .cse17))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse56) (= .cse2 (+ (select .cse57 (+ ~B~0.offset 4)) .cse17)) (<= .cse56 c_~minc~0)))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse60 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse58 (select .cse60 ~B~0.offset))) (let ((.cse59 (+ .cse58 .cse17))) (and (= c_~minc~0 (* .cse58 2)) (<= .cse2 .cse59) (= .cse2 (+ (select .cse60 (+ ~B~0.offset 4)) .cse17)) (<= .cse59 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse63 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse62 (select .cse63 ~B~0.offset))) (let ((.cse61 (+ .cse62 .cse17))) (and (<= .cse15 .cse61) (= c_~minc~0 (* .cse62 2)) (= c_~minc~0 (+ .cse62 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse61) (= .cse2 (+ (select .cse63 (+ ~B~0.offset 4)) .cse17))))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)) (exists ((~B~0.base Int)) (let ((.cse66 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse65 (select .cse66 ~B~0.offset))) (let ((.cse64 (+ .cse65 .cse17))) (and (<= .cse15 .cse64) (= c_~minc~0 (+ .cse65 c_~mina~0)) (<= .cse2 .cse64) (= .cse2 (+ (select .cse66 (+ ~B~0.offset 4)) .cse17))))))))) (and .cse47 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse69 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse67 (select .cse69 ~B~0.offset))) (let ((.cse68 (+ .cse67 .cse17))) (and (= c_~minc~0 (* .cse67 2)) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 .cse68) (= .cse2 (+ (select .cse69 (+ ~B~0.offset 4)) .cse17)) (<= .cse68 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse72 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse71 (select .cse72 ~B~0.offset))) (let ((.cse70 (+ .cse71 .cse17))) (and (<= .cse15 .cse70) (= c_~minc~0 (+ .cse71 c_~mina~0)) (<= .cse2 .cse70) (= .cse2 (+ (select .cse72 (+ ~B~0.offset 4)) .cse17))))))))) (and (= (mod c_~minc~0 2) 0) .cse47 (<= (+ .cse2 (div c_~minc~0 2)) .cse53) .cse73)) (= .cse74 .cse2)) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse75 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse75 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse77 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse76 (select .cse77 ~A~0.offset))) (and (<= (+ .cse76 c_~minb~0) c_~minc~0) (= .cse76 c_~mina~0) (<= (+ .cse76 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse76)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse75 ~B~0.offset) .cse76)) (= .cse2 (+ c_~minb~0 (select .cse77 (+ ~A~0.offset 4))))))))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse78 (+ ~A~0.offset 4))) (and (not (= .cse78 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse80 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse79 (select .cse80 ~A~0.offset))) (let ((.cse82 (select |c_#memory_int#4| ~B~0.base)) (.cse81 (* 2 .cse79))) (and (= .cse79 c_~mina~0) (= (+ .cse79 (select .cse80 .cse78)) .cse2) (= c_~minc~0 (+ .cse79 c_~minb~0)) (<= .cse15 .cse81) (= (select .cse82 (+ ~B~0.offset 4)) .cse79) (= c_~minc~0 (+ (select .cse82 ~B~0.offset) .cse79)) (<= (+ .cse81 1) .cse2)))))) (not (= ~B~0.offset ~A~0.offset))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse86 (select .cse87 ~A~0.offset))) (let ((.cse83 (+ .cse86 c_~minb~0)) (.cse84 (select |c_#memory_int#4| ~B~0.base)) (.cse85 (+ ~A~0.offset 4))) (and (<= .cse83 c_~minc~0) (= (select .cse84 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse85 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse83) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86)) (= .cse2 (+ c_~minb~0 (select .cse87 .cse85)))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse92 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse90 (select |c_#memory_int#4| ~B~0.base)) (.cse89 (select .cse92 ~A~0.offset))) (and (<= (+ .cse89 c_~minb~0) c_~minc~0) (= (select .cse90 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse89)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse89)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse90 ~B~0.offset) .cse89)) (= .cse2 (+ c_~minb~0 (select .cse92 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse94 (select .cse95 ~A~0.offset))) (let ((.cse93 (+ .cse94 c_~minb~0))) (and (<= .cse93 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (= .cse94 c_~minb~0) (<= .cse2 .cse93) (= .cse2 (+ c_~minb~0 (select .cse95 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse94 .cse18))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse100 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse99 (select .cse100 ~A~0.offset))) (let ((.cse96 (+ .cse99 c_~minb~0)) (.cse97 (select |c_#memory_int#4| ~B~0.base)) (.cse98 (+ ~B~0.offset 4))) (and (<= .cse96 c_~minc~0) (= (select .cse97 .cse98) c_~minb~0) (= .cse91 (+ .cse2 .cse99)) (<= .cse2 .cse96) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse97 ~B~0.offset) .cse99)) (= .cse2 (+ c_~minb~0 (select .cse100 (+ ~A~0.offset 4)))) (not (= ~A~0.offset .cse98))))))) .cse88) (and .cse19 .cse101 .cse21 .cse102) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse105 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse103 (select .cse105 ~A~0.offset))) (and (= .cse103 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse106 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse104 (select .cse106 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse104 (select .cse105 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse104 .cse103)) (= c_~minc~0 (+ (select .cse106 ~B~0.offset) .cse103)) (<= (+ .cse104 .cse103 1) .cse2))))))) (= c_~minc~0 (+ .cse103 c_~minb~0)) (= c_~minc~0 (* 2 .cse103)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse107 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse107 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse109 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse108 (select .cse109 ~A~0.offset))) (and (= .cse108 c_~mina~0) (= .cse91 (+ .cse2 .cse108)) (<= (+ .cse108 c_~minb~0 1) .cse2) (= .cse108 c_~minb~0) (= c_~minc~0 (+ (select .cse107 ~B~0.offset) .cse108)) (= .cse2 (+ c_~minb~0 (select .cse109 (+ ~A~0.offset 4)))))))) (not (= ~B~0.offset ~A~0.offset))))))) (and .cse19 .cse110 .cse21 .cse102) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse113 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse111 (select .cse113 ~A~0.offset))) (and (= .cse111 c_~mina~0) (= c_~minc~0 (+ .cse111 c_~minb~0)) (= c_~minc~0 (* 2 .cse111)) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse114 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse112 (select .cse114 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse112 (select .cse113 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse112 .cse111)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse114 ~B~0.offset) .cse111)) (<= (+ .cse112 .cse111 1) .cse2))))))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse118 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse117 (select .cse118 ~A~0.offset))) (let ((.cse115 (+ .cse117 c_~minb~0)) (.cse116 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse115 c_~minc~0) (= (select .cse116 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse115) (= c_~minc~0 (* 2 .cse117)) (= c_~minc~0 (+ (select .cse116 ~B~0.offset) .cse117)) (= .cse2 (+ c_~minb~0 (select .cse118 (+ ~A~0.offset 4))))))))) .cse88) (and (or .cse32 (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse120 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse121 (select .cse120 ~A~0.offset))) (let ((.cse119 (+ .cse121 c_~minb~0))) (and (<= .cse119 c_~minc~0) (not (= ~A~0.offset .cse46)) (<= .cse2 .cse119) (= .cse2 (+ c_~minb~0 (select .cse120 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse121 .cse18)))))))) .cse122 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse123 (select .cse124 ~A~0.offset))) (and (<= (+ .cse123 c_~minb~0) c_~minc~0) (= .cse123 c_~mina~0) (<= (+ .cse123 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse124 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse123 .cse18)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse126 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse125 (select .cse126 ~A~0.offset))) (and (<= (+ .cse125 c_~minb~0) c_~minc~0) (= .cse125 c_~minb~0) (= .cse2 (+ c_~minb~0 (select .cse126 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse125 .cse18)))))) .cse88)) .cse127) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse131 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse128 (select .cse131 ~A~0.offset))) (and (= .cse128 c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse129 (+ ~A~0.offset 4)) (.cse133 (+ ~B~0.offset 4))) (and (not (= .cse129 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse132 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse130 (select .cse132 .cse133))) (and (= .cse2 (+ .cse130 (select .cse131 .cse129))) (<= .cse15 (+ .cse130 .cse128)) (= c_~minc~0 (+ (select .cse132 ~B~0.offset) .cse128)) (<= (+ .cse130 .cse128 1) .cse2))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse133))))) (= c_~minc~0 (+ .cse128 c_~minb~0)) (= c_~minc~0 (* 2 .cse128)))))) (and (<= .cse134 (+ .cse135 .cse2)) .cse19 (<= .cse136 c_~minc~0) .cse21 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse137 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse138 (+ c_~minc~0 (select .cse137 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse140 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse139 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse139 ~B~0.offset) .cse18)) (= .cse138 (+ c_~minc~0 (select .cse139 .cse140)))))) (not (= c_~C~0.offset .cse140)) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse144 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse143 (select .cse144 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse142 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse141 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse141 .cse142) c_~mina~0)) (= c_~minc~0 (+ (select .cse141 ~B~0.offset) .cse143))))) (not (= ~A~0.offset .cse142))))) (= c_~minc~0 (+ .cse143 c_~mina~0)) (<= c_~mina~0 .cse143) (<= .cse1 (+ .cse2 .cse143)) (= c_~minc~0 (+ .cse143 c_~minb~0)) (= c_~mina~0 (select .cse144 (+ ~A~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse145 (select |c_#memory_int#4| ~B~0.base)) (.cse146 (+ ~B~0.offset 4))) (and (= (select .cse145 .cse146) c_~minb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse148 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse147 (select .cse148 ~A~0.offset))) (and (<= (+ .cse147 c_~minb~0) c_~minc~0) (= .cse147 c_~mina~0) (= .cse91 (+ .cse2 .cse147)) (<= (+ .cse147 c_~minb~0 1) .cse2) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) .cse147)) (= .cse2 (+ c_~minb~0 (select .cse148 (+ ~A~0.offset 4)))))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse146))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse151 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse149 (select .cse151 ~A~0.offset))) (and (= .cse149 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse152 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse150 (select .cse152 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse150 (select .cse151 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse150 .cse149)) (= c_~minc~0 (+ (select .cse152 ~B~0.offset) .cse149)) (<= (+ .cse150 .cse149 1) .cse2))))))) (= c_~minc~0 (+ .cse149 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse154 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse153 (select .cse154 ~A~0.offset))) (and (<= (+ .cse153 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse153 c_~mina~0) (<= (+ .cse153 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse154 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse153 .cse18)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse157 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse155 (select .cse157 ~A~0.offset))) (and (<= c_~mina~0 .cse155) (<= .cse1 (+ .cse2 .cse155)) (= c_~minc~0 (+ .cse155 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse156 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse156 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse156 ~B~0.offset) .cse155))))))) (= c_~mina~0 (select .cse157 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse161 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse158 (select |c_#memory_int#4| ~B~0.base)) (.cse160 (select .cse161 ~A~0.offset)) (.cse159 (+ ~A~0.offset 4))) (and (= (select .cse158 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse159 ~B~0.offset)) (= .cse160 c_~minb~0) (<= .cse2 (+ .cse160 c_~minb~0)) (= c_~minc~0 (* 2 .cse160)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse158 ~B~0.offset) .cse160)) (= .cse2 (+ c_~minb~0 (select .cse161 .cse159))))))) .cse88) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse162 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse162 (+ ~B~0.offset 4)) .cse18) (= c_~minc~0 (+ (select .cse162 ~B~0.offset) .cse18)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))) .cse19 (<= .cse15 .cse135) (<= .cse136 .cse2) .cse21) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse163 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse163 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse165 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse164 (select .cse165 ~A~0.offset))) (and (<= (+ .cse164 c_~minb~0) c_~minc~0) (= .cse164 c_~mina~0) (= .cse91 (+ .cse2 .cse164)) (<= (+ .cse164 c_~minb~0 1) .cse2) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse163 ~B~0.offset) .cse164)) (= .cse2 (+ c_~minb~0 (select .cse165 (+ ~A~0.offset 4))))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse169 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse167 (select .cse169 ~A~0.offset))) (let ((.cse166 (* 2 .cse167))) (and (<= .cse134 (+ .cse2 .cse166)) (= .cse167 c_~mina~0) (<= (+ .cse166 1) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse168 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ .cse2 .cse167) (+ c_~minc~0 (select .cse168 (+ ~B~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse168 ~B~0.offset) .cse167))))))) (= c_~minc~0 (+ .cse167 (select .cse169 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse167 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse171 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse170 (select .cse171 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse170 c_~mina~0) (<= .cse15 (+ .cse17 .cse170)) (= c_~minc~0 (+ .cse170 c_~minb~0)) (<= (+ .cse17 .cse170 1) .cse2) (= .cse2 (+ .cse17 (select .cse171 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse174 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse173 (select .cse174 (+ ~A~0.offset 4))) (.cse172 (select .cse174 ~A~0.offset))) (and (= .cse172 c_~mina~0) (<= (+ .cse172 1) .cse173) (= c_~minc~0 (+ .cse172 c_~minb~0)) (<= (+ c_~minc~0 .cse173 1) (+ .cse2 .cse172)) (= c_~minc~0 (+ .cse172 .cse18)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse176 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse177 (select .cse176 ~A~0.offset))) (let ((.cse175 (+ .cse177 c_~minb~0))) (and (<= .cse175 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse2 .cse175) (= .cse2 (+ c_~minb~0 (select .cse176 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse177 .cse18))))))) .cse88) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse178 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse178 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse181 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse179 (select .cse181 ~A~0.offset)) (.cse180 (+ ~A~0.offset 4))) (and (<= (+ .cse179 c_~minb~0) c_~minc~0) (= .cse179 c_~mina~0) (not (= .cse180 ~B~0.offset)) (<= (+ .cse179 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse179)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse178 ~B~0.offset) .cse179)) (= .cse2 (+ c_~minb~0 (select .cse181 .cse180)))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse183 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse182 (select .cse183 ~A~0.offset))) (let ((.cse184 (* 2 .cse182))) (and (= .cse182 c_~mina~0) (= (+ .cse182 (select .cse183 (+ ~A~0.offset 4))) .cse2) (= c_~minc~0 (+ .cse182 c_~minb~0)) (<= .cse15 .cse184) (<= (+ .cse184 1) .cse2) (= c_~minc~0 (+ .cse182 .cse18))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse185 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse185 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse187 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse186 (select .cse187 ~A~0.offset))) (and (<= (+ .cse186 c_~minb~0) c_~minc~0) (= .cse186 c_~mina~0) (<= (+ .cse186 c_~minb~0 1) .cse2) (= c_~minc~0 (+ (select .cse185 ~B~0.offset) .cse186)) (= .cse2 (+ c_~minb~0 (select .cse187 (+ ~A~0.offset 4))))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse189 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse190 (+ ~A~0.offset 4)) (.cse188 (select .cse189 ~A~0.offset))) (and (<= c_~mina~0 .cse188) (<= .cse1 (+ .cse2 .cse188)) (= c_~minc~0 (+ .cse188 c_~minb~0)) (= c_~mina~0 (select .cse189 .cse190)) (exists ((~B~0.offset Int)) (and (not (= .cse190 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse191 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse191 ~B~0.offset) .cse188))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse194 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse192 (select .cse194 ~A~0.offset))) (and (= c_~minc~0 (+ .cse192 c_~mina~0)) (<= .cse1 (+ .cse2 .cse192)) (= c_~minc~0 (+ .cse192 c_~minb~0)) (= c_~minc~0 (* 2 .cse192)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse193 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse193 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse193 ~B~0.offset) .cse192))))))) (= c_~mina~0 (select .cse194 (+ ~A~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse195 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse195 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse196 (+ ~A~0.offset 4))) (and (not (= .cse196 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse198 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse197 (select .cse198 ~A~0.offset))) (and (<= (+ .cse197 c_~minb~0) c_~minc~0) (= .cse197 c_~mina~0) (<= (+ .cse197 c_~minb~0 1) .cse2) (= .cse197 c_~minb~0) (= c_~minc~0 (+ (select .cse195 ~B~0.offset) .cse197)) (= .cse2 (+ c_~minb~0 (select .cse198 .cse196))))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse201 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse200 (select .cse201 ~A~0.offset))) (let ((.cse199 (* 2 .cse200))) (and (<= .cse134 (+ .cse2 .cse199)) (= .cse200 c_~mina~0) (<= (+ .cse199 1) c_~minc~0) (= c_~minc~0 (+ .cse200 (select .cse201 (+ ~A~0.offset 4)))) (exists ((~B~0.offset Int)) (let ((.cse203 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse202 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ .cse2 .cse200) (+ c_~minc~0 (select .cse202 .cse203))) (= c_~minc~0 (+ (select .cse202 ~B~0.offset) .cse200))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse203))))) (= c_~minc~0 (+ .cse200 c_~minb~0))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse207 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse206 (select .cse207 ~A~0.offset))) (let ((.cse204 (+ .cse206 c_~minb~0)) (.cse205 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse204 c_~minc~0) (= (select .cse205 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse206)) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse204) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse205 ~B~0.offset) .cse206)) (= .cse2 (+ c_~minb~0 (select .cse207 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse209 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse208 (select .cse209 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse208) (<= .cse1 (+ .cse2 .cse208)) (= c_~minc~0 (+ .cse208 c_~minb~0)) (= c_~mina~0 (select .cse209 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse208 .cse18)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse210 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse210 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse212 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse211 (select .cse212 ~A~0.offset))) (and (<= (+ .cse211 c_~minb~0) c_~minc~0) (= .cse211 c_~mina~0) (<= (+ .cse211 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse211)) (= c_~minc~0 (+ (select .cse210 ~B~0.offset) .cse211)) (= .cse2 (+ c_~minb~0 (select .cse212 (+ ~A~0.offset 4))))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse215 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse213 (select .cse215 ~A~0.offset))) (and (<= c_~mina~0 .cse213) (<= .cse1 (+ .cse2 .cse213)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse214 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse214 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse214 ~B~0.offset) .cse213))))) (= c_~minc~0 (+ .cse213 c_~minb~0)) (= c_~mina~0 (select .cse215 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse216 (select .cse220 ~A~0.offset)) (.cse217 (+ ~A~0.offset 4))) (and (<= c_~mina~0 .cse216) (<= .cse1 (+ .cse2 .cse216)) (exists ((~B~0.offset Int)) (let ((.cse219 (+ ~B~0.offset 4))) (and (not (= .cse217 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse218 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse218 .cse219) c_~mina~0)) (= c_~minc~0 (+ (select .cse218 ~B~0.offset) .cse216))))) (not (= ~A~0.offset .cse219))))) (= c_~minc~0 (+ .cse216 c_~minb~0)) (= c_~minc~0 (* 2 .cse216)) (= c_~mina~0 (select .cse220 .cse217)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse222 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse221 (select .cse222 ~A~0.offset))) (and (<= (+ .cse221 c_~minb~0) c_~minc~0) (= .cse221 c_~mina~0) (<= (+ .cse221 c_~minb~0 1) .cse2) (= .cse221 c_~minb~0) (= .cse2 (+ c_~minb~0 (select .cse222 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse221 .cse18)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse224 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse223 (select .cse224 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse223 c_~mina~0) (<= .cse15 (+ .cse17 .cse223)) (= c_~minc~0 (+ .cse223 c_~minb~0)) (<= (+ .cse17 .cse223 1) .cse2) (= .cse2 (+ .cse17 (select .cse224 (+ ~A~0.offset 4)))))))))) (and (<= c_~mina~0 .cse18) (<= .cse1 .cse138) (let ((.cse237 (+ c_~mina~0 .cse18))) (let ((.cse225 (exists ((~B~0.offset Int)) (let ((.cse240 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse240)) (exists ((~B~0.base Int)) (let ((.cse241 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse241 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse241 .cse240) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)))))) (.cse226 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse239 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse239 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse239 (+ ~B~0.offset 4)) c_~mina~0)))))))) (.cse227 (= c_~minc~0 .cse237)) (.cse228 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse238 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse238 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse238 (+ ~B~0.offset 4)) c_~mina~0)))))) (.cse232 (= .cse237 .cse2)) (.cse229 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse236 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse236 ~B~0.offset) .cse18)) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse236 (+ ~B~0.offset 4)) c_~mina~0))))) (not (= ~B~0.offset .cse46))))) (.cse230 (exists ((~B~0.offset Int)) (let ((.cse234 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse234)) (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse235 .cse234) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (or (and (or (and (or .cse225 .cse226) .cse227) .cse226 .cse228 .cse229 .cse230) .cse102) .cse226 (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse231 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse231 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse231 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset))))) .cse232) .cse225 .cse226) .cse227) .cse228 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse233 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse233 ~B~0.offset) .cse18)) (= .cse2 (+ (select .cse233 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))) .cse232) .cse229 .cse230))) .cse21) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse243 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse242 (select .cse243 ~A~0.offset))) (and (<= c_~mina~0 .cse242) (<= .cse1 (+ .cse2 .cse242)) (= (+ .cse242 c_~mina~0) .cse2) (= c_~minc~0 (+ .cse242 c_~minb~0)) (= c_~mina~0 (select .cse243 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse242 .cse18)))))))) (and .cse19 .cse244 .cse21 .cse102) .cse122 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse245 (select |c_#memory_int#4| ~B~0.base)) (.cse246 (+ ~B~0.offset 4))) (and (= (select .cse245 .cse246) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse247 (+ ~A~0.offset 4))) (and (not (= .cse247 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse249 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse248 (select .cse249 ~A~0.offset))) (and (<= (+ .cse248 c_~minb~0) c_~minc~0) (= .cse248 c_~mina~0) (<= (+ .cse248 c_~minb~0 1) .cse2) (= c_~minc~0 (+ (select .cse245 ~B~0.offset) .cse248)) (= .cse2 (+ c_~minb~0 (select .cse249 .cse247))))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse246)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse250 (select .cse251 ~A~0.offset))) (and (= .cse53 (+ .cse2 .cse250)) (not (= ~A~0.base c_~C~0.base)) (= .cse250 c_~mina~0) (<= .cse15 (+ .cse17 .cse250)) (= c_~minc~0 (+ .cse250 c_~minb~0)) (<= (+ .cse17 .cse250 1) .cse2) (= .cse2 (+ .cse17 (select .cse251 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse253 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse252 (select .cse253 ~A~0.offset))) (and (= .cse252 c_~mina~0) (<= .cse15 (+ .cse17 .cse252)) (= c_~minc~0 (+ .cse252 c_~minb~0)) (= c_~minc~0 (* 2 .cse252)) (<= (+ .cse17 .cse252 1) .cse2) (= .cse2 (+ .cse17 (select .cse253 (+ ~A~0.offset 4)))))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse258 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse257 (select .cse258 ~A~0.offset))) (let ((.cse254 (+ .cse257 c_~minb~0)) (.cse255 (select |c_#memory_int#4| ~B~0.base)) (.cse256 (+ ~A~0.offset 4))) (and (<= .cse254 c_~minc~0) (= (select .cse255 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse256 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse254) (= c_~minc~0 (* 2 .cse257)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse255 ~B~0.offset) .cse257)) (= .cse2 (+ c_~minb~0 (select .cse258 .cse256))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse262 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse261 (select .cse262 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse260 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse259 .cse260) c_~mina~0)) (= c_~minc~0 (+ (select .cse259 ~B~0.offset) .cse261))))) (not (= ~A~0.offset .cse260))))) (= c_~minc~0 (+ .cse261 c_~mina~0)) (<= .cse1 (+ .cse2 .cse261)) (= c_~minc~0 (+ .cse261 c_~minb~0)) (= c_~minc~0 (* 2 .cse261)) (= c_~mina~0 (select .cse262 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse268 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse267 (select .cse268 ~A~0.offset))) (let ((.cse263 (+ .cse267 c_~minb~0)) (.cse264 (select |c_#memory_int#4| ~B~0.base)) (.cse266 (+ ~A~0.offset 4)) (.cse265 (+ ~B~0.offset 4))) (and (<= .cse263 c_~minc~0) (= (select .cse264 .cse265) c_~minb~0) (not (= .cse266 ~B~0.offset)) (<= .cse2 .cse263) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse264 ~B~0.offset) .cse267)) (= .cse2 (+ c_~minb~0 (select .cse268 .cse266))) (not (= ~A~0.offset .cse265))))))) .cse88) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse271 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse270 (select .cse271 (+ ~A~0.offset 4))) (.cse269 (select .cse271 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse269 c_~mina~0) (<= (+ .cse269 1) .cse270) (= c_~minc~0 (+ .cse269 c_~minb~0)) (<= (+ c_~minc~0 .cse270 1) (+ .cse2 .cse269)) (= c_~minc~0 (+ .cse269 .cse18)))))) (and .cse19 .cse244 .cse21) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse275 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse274 (select .cse275 ~A~0.offset))) (let ((.cse272 (+ .cse274 c_~minb~0)) (.cse273 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse272 c_~minc~0) (= (select .cse273 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse272) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse273 ~B~0.offset) .cse274)) (= .cse2 (+ c_~minb~0 (select .cse275 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse278 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse276 (select .cse278 ~A~0.offset))) (and (= .cse276 c_~mina~0) (= c_~minc~0 (+ .cse276 c_~minb~0)) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse279 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse277 (select .cse279 (+ ~B~0.offset 4)))) (and (= .cse2 (+ .cse277 (select .cse278 (+ ~A~0.offset 4)))) (<= .cse15 (+ .cse277 .cse276)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse279 ~B~0.offset) .cse276)) (<= (+ .cse277 .cse276 1) .cse2))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse284 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse280 (select .cse284 ~A~0.offset)) (.cse281 (+ ~A~0.offset 4))) (and (<= c_~mina~0 .cse280) (<= .cse1 (+ .cse2 .cse280)) (exists ((~B~0.offset Int)) (let ((.cse283 (+ ~B~0.offset 4))) (and (not (= .cse281 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse282 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse282 .cse283) c_~mina~0)) (= c_~minc~0 (+ (select .cse282 ~B~0.offset) .cse280))))) (not (= ~A~0.offset .cse283))))) (= c_~minc~0 (+ .cse280 c_~minb~0)) (= c_~mina~0 (select .cse284 .cse281)))))) (and (or (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse288 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse285 (select |c_#memory_int#4| ~B~0.base)) (.cse287 (select .cse288 ~A~0.offset)) (.cse286 (+ ~B~0.offset 4))) (and (= (select .cse285 .cse286) c_~minb~0) (= .cse91 (+ .cse2 .cse287)) (= c_~minc~0 (* 2 .cse287)) (= c_~minc~0 (+ (select .cse285 ~B~0.offset) .cse287)) (= .cse2 (+ c_~minb~0 (select .cse288 (+ ~A~0.offset 4)))) (not (= ~A~0.offset .cse286)))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse291 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse290 (select |c_#memory_int#4| ~B~0.base)) (.cse289 (select .cse291 ~A~0.offset))) (and (<= (+ .cse289 c_~minb~0) c_~minc~0) (= (select .cse290 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse289)) (= c_~minc~0 (+ (select .cse290 ~B~0.offset) .cse289)) (= .cse2 (+ c_~minb~0 (select .cse291 (+ ~A~0.offset 4)))))))) .cse88) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse296 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse293 (select |c_#memory_int#4| ~B~0.base)) (.cse292 (select .cse296 ~A~0.offset)) (.cse295 (+ ~A~0.offset 4)) (.cse294 (+ ~B~0.offset 4))) (and (<= (+ .cse292 c_~minb~0) c_~minc~0) (= (select .cse293 .cse294) c_~minb~0) (not (= .cse295 ~B~0.offset)) (= c_~minc~0 (* 2 .cse292)) (= c_~minc~0 (+ (select .cse293 ~B~0.offset) .cse292)) (= .cse2 (+ c_~minb~0 (select .cse296 .cse295))) (not (= ~A~0.offset .cse294))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse300 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse298 (select |c_#memory_int#4| ~B~0.base)) (.cse297 (select .cse300 ~A~0.offset)) (.cse299 (+ ~A~0.offset 4))) (and (<= (+ .cse297 c_~minb~0) c_~minc~0) (= (select .cse298 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse299 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse297)) (= c_~minc~0 (+ (select .cse298 ~B~0.offset) .cse297)) (= .cse2 (+ c_~minb~0 (select .cse300 .cse299)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse303 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse301 (select |c_#memory_int#4| ~B~0.base)) (.cse302 (select .cse303 ~A~0.offset))) (and (= (select .cse301 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse302)) (= c_~minc~0 (* 2 .cse302)) (= c_~minc~0 (+ (select .cse301 ~B~0.offset) .cse302)) (= .cse2 (+ c_~minb~0 (select .cse303 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse304 (select |c_#memory_int#4| ~B~0.base)) (.cse305 (select .cse306 ~A~0.offset))) (and (= (select .cse304 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse305)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse305)) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse305)) (= .cse2 (+ c_~minb~0 (select .cse306 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse310 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse307 (select |c_#memory_int#4| ~B~0.base)) (.cse309 (select .cse310 ~A~0.offset)) (.cse308 (+ ~A~0.offset 4))) (and (= (select .cse307 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse308 ~B~0.offset)) (= .cse309 c_~minb~0) (= c_~minc~0 (* 2 .cse309)) (= c_~minc~0 (+ (select .cse307 ~B~0.offset) .cse309)) (= .cse2 (+ c_~minb~0 (select .cse310 .cse308))))))) .cse88)) .cse127) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse314 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse312 (select .cse314 ~A~0.offset))) (let ((.cse311 (+ .cse312 c_~mina~0))) (and (= c_~minc~0 .cse311) (<= .cse1 (+ .cse2 .cse312)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse313 (select |c_#memory_int#4| ~B~0.base))) (and (= .cse2 (+ (select .cse313 (+ ~B~0.offset 4)) c_~mina~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse313 ~B~0.offset) .cse312))))) (= .cse311 .cse2) (= c_~minc~0 (+ .cse312 c_~minb~0)) (= c_~mina~0 (select .cse314 (+ ~A~0.offset 4)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse317 (select .cse318 ~A~0.offset))) (let ((.cse315 (+ .cse317 c_~minb~0)) (.cse316 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse315 c_~minc~0) (= (select .cse316 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse315) (= c_~minc~0 (+ (select .cse316 ~B~0.offset) .cse317)) (= .cse2 (+ c_~minb~0 (select .cse318 (+ ~A~0.offset 4))))))))) .cse88) (and .cse19 .cse319 .cse21) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse320 (select .cse321 ~A~0.offset))) (and (<= c_~mina~0 .cse320) (<= .cse1 (+ .cse2 .cse320)) (= c_~minc~0 (+ .cse320 c_~minb~0)) (= c_~mina~0 (select .cse321 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse320 .cse18)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse327 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse326 (select .cse327 ~A~0.offset))) (let ((.cse322 (+ .cse326 c_~minb~0)) (.cse323 (select |c_#memory_int#4| ~B~0.base)) (.cse325 (+ ~A~0.offset 4)) (.cse324 (+ ~B~0.offset 4))) (and (<= .cse322 c_~minc~0) (= (select .cse323 .cse324) c_~minb~0) (not (= .cse325 ~B~0.offset)) (<= .cse2 .cse322) (= c_~minc~0 (* 2 .cse326)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse323 ~B~0.offset) .cse326)) (= .cse2 (+ c_~minb~0 (select .cse327 .cse325))) (not (= ~A~0.offset .cse324))))))) .cse88) (and (let ((.cse329 (+ .cse335 .cse2))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse330 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse331 (+ ~A~0.offset 4)) (.cse328 (select .cse330 ~A~0.offset))) (and (= .cse328 c_~mina~0) (= .cse329 (select .cse330 .cse331)) (<= .cse332 .cse328) (= c_~minc~0 (+ .cse328 c_~minb~0)) (= c_~minc~0 (* 2 .cse328)) (exists ((~B~0.offset Int)) (let ((.cse334 (+ ~B~0.offset 4))) (and (not (= .cse331 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse333 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse333 .cse334) .cse335) 0) (= c_~minc~0 (+ (select .cse333 ~B~0.offset) .cse328))))) (not (= ~A~0.offset .cse334))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse337 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse336 (select .cse337 ~A~0.offset))) (and (= .cse336 c_~mina~0) (= .cse329 (select .cse337 (+ ~A~0.offset 4))) (<= .cse332 .cse336) (= c_~minc~0 (+ .cse336 c_~minb~0)) (= c_~minc~0 (* 2 .cse336)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse338 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse338 (+ ~B~0.offset 4)) .cse335) 0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse338 ~B~0.offset) .cse336))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse340 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse339 (select .cse340 ~A~0.offset)) (.cse341 (+ ~A~0.offset 4))) (and (= .cse339 c_~mina~0) (= .cse329 (select .cse340 .cse341)) (<= .cse332 .cse339) (= c_~minc~0 (+ .cse339 c_~minb~0)) (= c_~minc~0 (* 2 .cse339)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse342 (select |c_#memory_int#4| ~B~0.base))) (and (= (+ (select .cse342 (+ ~B~0.offset 4)) .cse335) 0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse342 ~B~0.offset) .cse339))))) (not (= .cse341 ~B~0.offset)))))))))) .cse343) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse346 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse345 (select .cse346 (+ ~A~0.offset 4))) (.cse344 (select .cse346 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse344 c_~mina~0) (<= (+ .cse344 1) .cse345) (= c_~minc~0 (+ .cse344 c_~minb~0)) (<= (+ c_~minc~0 .cse345 1) (+ .cse2 .cse344)) (= c_~minc~0 (+ .cse344 .cse18)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse348 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse347 (select .cse348 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse347) (<= .cse1 (+ .cse2 .cse347)) (= c_~minc~0 (+ .cse347 c_~minb~0)) (= c_~mina~0 (select .cse348 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse347 .cse18)))))))) (and .cse88 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse352 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse351 (select .cse352 ~A~0.offset))) (let ((.cse349 (+ .cse351 c_~minb~0)) (.cse350 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse349 c_~minc~0) (= (select .cse350 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= .cse2 .cse349) (= c_~minc~0 (* 2 .cse351)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse350 ~B~0.offset) .cse351)) (= .cse2 (+ c_~minb~0 (select .cse352 (+ ~A~0.offset 4)))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse353 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse353 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse354 (+ ~A~0.offset 4))) (and (not (= .cse354 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse355 (select .cse356 ~A~0.offset))) (and (= .cse355 c_~mina~0) (<= (+ .cse355 c_~minb~0 1) .cse2) (= .cse355 c_~minb~0) (= c_~minc~0 (* 2 .cse355)) (= c_~minc~0 (+ (select .cse353 ~B~0.offset) .cse355)) (= .cse2 (+ c_~minb~0 (select .cse356 .cse354))))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (<= .cse332 .cse18) .cse19 .cse21 .cse102 .cse343) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse359 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse357 (select .cse359 ~A~0.offset))) (and (<= c_~mina~0 .cse357) (<= .cse1 (+ .cse2 .cse357)) (= c_~minc~0 (+ .cse357 c_~minb~0)) (= c_~minc~0 (* 2 .cse357)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse358 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse358 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse358 ~B~0.offset) .cse357))))))) (= c_~mina~0 (select .cse359 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse361 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse362 (select .cse361 ~A~0.offset))) (let ((.cse360 (+ .cse362 c_~minb~0))) (and (<= .cse360 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (<= .cse2 .cse360) (= .cse2 (+ c_~minb~0 (select .cse361 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse362 .cse18))))))) .cse88) (and (let ((.cse364 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse380 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse380 ~B~0.offset) .cse18)) (= (select .cse380 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)))))) (.cse365 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse379 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse379 ~B~0.offset) .cse18)) (= (select .cse379 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base))))) (not (= ~B~0.offset .cse46))))) (.cse366 (and .cse372 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse378 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse378 ~B~0.offset) .cse18)) (= (select .cse378 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46))))))) (.cse367 (exists ((~B~0.offset Int)) (let ((.cse376 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse376)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse377 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse377 ~B~0.offset) .cse18)) (= (select .cse377 .cse376) c_~minb~0)))) (not (= ~B~0.offset .cse46)))))) (.cse369 (= .cse138 .cse91)) (.cse363 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse375 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse375 ~B~0.offset) .cse18)) (= (select .cse375 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)))))))) (.cse368 (exists ((~B~0.offset Int)) (let ((.cse373 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse373)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse374 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse374 ~B~0.offset) .cse18)) (= (select .cse374 .cse373) c_~minb~0))))))))) (or .cse363 .cse364 .cse365 (and .cse127 .cse102) .cse366 .cse367 (and (or .cse363 .cse364 .cse365 .cse366 (and (or .cse363 .cse368) .cse369) .cse367) .cse102) (and .cse370 .cse369) (and .cse369 (or .cse363 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse371 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse371 ~B~0.offset) .cse18)) (= (select .cse371 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))) .cse372) .cse368)))) (<= .cse381 c_~minc~0) (or (and .cse19 (<= (+ c_~minb~0 .cse18 1) .cse2)) (and (<= .cse2 .cse381) .cse88))) (and (let ((.cse387 (= (+ .cse2 c_~minb~0) .cse53))) (let ((.cse382 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse391 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse391 (+ ~B~0.offset 4)) .cse17)))))) (.cse383 (and .cse387 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse390 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse390 ~B~0.offset) c_~minb~0) (= .cse2 (+ (select .cse390 (+ ~B~0.offset 4)) .cse17)) (not (= ~B~0.offset .cse46))))))) (.cse384 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse389 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse389 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ (select .cse389 (+ ~B~0.offset 4)) .cse17))))) (not (= ~B~0.offset .cse46))))) (.cse385 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse388 ~B~0.offset) c_~minb~0) (= .cse2 (+ (select .cse388 (+ ~B~0.offset 4)) .cse17))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse46)))))) (or (and .cse73 (or .cse382 .cse383 .cse384 .cse385)) .cse382 .cse383 .cse384 (and (= c_~minc~0 .cse386) .cse73) (and .cse372 .cse387) .cse385))) (<= (+ .cse17 c_~minb~0 1) .cse2) (or (and (<= .cse74 c_~minc~0) .cse47) (and (= c_~minc~0 .cse392) (<= .cse15 .cse74)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse393 (select .cse396 ~A~0.offset))) (and (= .cse393 c_~mina~0) (exists ((~B~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse397 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse394 (+ ~A~0.offset 4)) (.cse395 (select .cse397 (+ ~B~0.offset 4)))) (and (not (= .cse394 ~B~0.offset)) (= .cse2 (+ .cse395 (select .cse396 .cse394))) (<= .cse15 (+ .cse395 .cse393)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse397 ~B~0.offset) .cse393)) (<= (+ .cse395 .cse393 1) .cse2))))))) (= c_~minc~0 (+ .cse393 c_~minb~0)) (= c_~minc~0 (* 2 .cse393)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse398 (select .cse399 ~A~0.offset))) (and (<= (+ .cse398 c_~minb~0) c_~minc~0) (= .cse398 c_~mina~0) (<= (+ .cse398 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse399 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse398 .cse18)))))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse401 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse400 (select .cse401 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ .cse400 c_~mina~0)) (<= c_~mina~0 .cse400) (<= .cse1 (+ .cse2 .cse400)) (= c_~minc~0 (+ .cse400 c_~minb~0)) (= c_~mina~0 (select .cse401 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse403 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse402 (select .cse403 ~A~0.offset))) (and (not (= ~A~0.offset .cse46)) (= c_~minc~0 (+ .cse402 c_~mina~0)) (<= c_~mina~0 .cse402) (<= .cse1 (+ .cse2 .cse402)) (= c_~minc~0 (+ .cse402 c_~minb~0)) (= c_~mina~0 (select .cse403 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse405 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse404 (select .cse405 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse404) (<= .cse1 (+ .cse2 .cse404)) (= c_~minc~0 (+ .cse404 c_~minb~0)) (= c_~mina~0 (select .cse405 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse407 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse406 (select .cse407 ~A~0.offset))) (and (<= c_~mina~0 .cse406) (<= .cse1 (+ .cse2 .cse406)) (= c_~minc~0 (+ .cse406 c_~minb~0)) (= c_~mina~0 (select .cse407 (+ ~A~0.offset 4))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse409 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse408 (select .cse409 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse408) (<= .cse1 (+ .cse2 .cse408)) (= c_~minc~0 (+ .cse408 c_~minb~0)) (= c_~mina~0 (select .cse409 (+ ~A~0.offset 4)))))))))) .cse51) (and .cse370 (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse411 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse410 (select .cse411 ~A~0.offset))) (and (<= (+ .cse410 c_~minb~0) c_~minc~0) (= .cse410 c_~mina~0) (= .cse91 (+ .cse2 .cse410)) (<= (+ .cse410 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse411 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse413 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse412 (select .cse413 ~A~0.offset))) (and (<= (+ .cse412 c_~minb~0) c_~minc~0) (= .cse412 c_~mina~0) (<= (+ .cse412 c_~minb~0 1) .cse2) (= c_~minc~0 (* 2 .cse412)) (= .cse2 (+ c_~minb~0 (select .cse413 (+ ~A~0.offset 4)))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse414 (select .cse415 ~A~0.offset))) (and (<= (+ .cse414 c_~minb~0) c_~minc~0) (= .cse414 c_~mina~0) (= .cse91 (+ .cse2 .cse414)) (<= (+ .cse414 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse415 (+ ~A~0.offset 4)))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse418 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse417 (select .cse418 ~A~0.offset))) (let ((.cse416 (+ .cse417 c_~minb~0))) (and (<= .cse416 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse2 .cse416) (= c_~minc~0 (* 2 .cse417)) (= .cse2 (+ c_~minb~0 (select .cse418 (+ ~A~0.offset 4))))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse421 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse420 (select .cse421 ~A~0.offset))) (let ((.cse419 (+ .cse420 c_~minb~0))) (and (<= .cse419 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse91 (+ .cse2 .cse420)) (<= .cse2 .cse419) (= .cse2 (+ c_~minb~0 (select .cse421 (+ ~A~0.offset 4))))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse424 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse423 (select .cse424 ~A~0.offset))) (let ((.cse422 (+ .cse423 c_~minb~0))) (and (<= .cse422 c_~minc~0) (not (= ~A~0.offset .cse46)) (= .cse91 (+ .cse2 .cse423)) (<= .cse2 .cse422) (= .cse2 (+ c_~minb~0 (select .cse424 (+ ~A~0.offset 4))))))))) .cse88) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse426 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse425 (select .cse426 ~A~0.offset))) (and (<= (+ .cse425 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse425 c_~mina~0) (<= (+ .cse425 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse426 (+ ~A~0.offset 4)))))))))) (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse428 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse427 (+ (select .cse428 ~A~0.offset) c_~minb~0))) (and (<= .cse427 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= .cse2 .cse427) (= .cse2 (+ c_~minb~0 (select .cse428 (+ ~A~0.offset 4))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse430 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse429 (select .cse430 ~A~0.offset))) (and (<= (+ .cse429 c_~minb~0) c_~minc~0) (= .cse429 c_~mina~0) (<= (+ .cse429 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse430 (+ ~A~0.offset 4)))))))))) (and .cse88 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse432 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse431 (+ (select .cse432 ~A~0.offset) c_~minb~0))) (and (<= .cse431 c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (<= .cse2 .cse431) (= .cse2 (+ c_~minb~0 (select .cse432 (+ ~A~0.offset 4))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse434 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse433 (select .cse434 ~A~0.offset))) (and (<= (+ .cse433 c_~minb~0) c_~minc~0) (= .cse91 (+ .cse2 .cse433)) (= c_~minc~0 (* 2 .cse433)) (= .cse2 (+ c_~minb~0 (select .cse434 (+ ~A~0.offset 4)))))))) .cse88) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse436 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse435 (+ (select .cse436 ~A~0.offset) c_~minb~0))) (and (<= .cse435 c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse2 .cse435) (= .cse2 (+ c_~minb~0 (select .cse436 (+ ~A~0.offset 4)))))))) .cse88) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse438 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse437 (select .cse438 ~A~0.offset))) (and (<= (+ .cse437 c_~minb~0) c_~minc~0) (= .cse437 c_~mina~0) (<= (+ .cse437 c_~minb~0 1) .cse2) (= .cse2 (+ c_~minb~0 (select .cse438 (+ ~A~0.offset 4)))))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse46)) (exists ((~A~0.base Int)) (let ((.cse440 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse439 (select .cse440 ~A~0.offset))) (and (= .cse439 c_~mina~0) (<= .cse15 (+ .cse17 .cse439)) (= c_~minc~0 (+ .cse439 c_~minb~0)) (<= (+ .cse17 .cse439 1) .cse2) (= .cse2 (+ .cse17 (select .cse440 (+ ~A~0.offset 4)))))))))) (and .cse19 .cse101 .cse21) (and .cse19 .cse319 .cse21 .cse102) (and .cse19 .cse110 .cse21) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse442 (select |c_#memory_int#4| ~B~0.base)) (.cse441 (select .cse444 ~A~0.offset)) (.cse443 (+ ~B~0.offset 4))) (and (<= (+ .cse441 c_~minb~0) c_~minc~0) (= (select .cse442 .cse443) c_~minb~0) (= .cse91 (+ .cse2 .cse441)) (= c_~minc~0 (* 2 .cse441)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse442 ~B~0.offset) .cse441)) (= .cse2 (+ c_~minb~0 (select .cse444 (+ ~A~0.offset 4)))) (not (= ~A~0.offset .cse443)))))) .cse88) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse446 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse445 (select .cse446 ~A~0.offset))) (and (= .cse53 (+ .cse2 .cse445)) (= .cse445 c_~mina~0) (not (= ~A~0.offset .cse46)) (<= .cse15 (+ .cse17 .cse445)) (= c_~minc~0 (+ .cse445 c_~minb~0)) (<= (+ .cse17 .cse445 1) .cse2) (= .cse2 (+ .cse17 (select .cse446 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse449 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse447 (select .cse449 ~A~0.offset))) (and (= c_~minc~0 (+ .cse447 c_~mina~0)) (<= c_~mina~0 .cse447) (<= .cse1 (+ .cse2 .cse447)) (= c_~minc~0 (+ .cse447 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse448 (select |c_#memory_int#4| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse2 (+ (select .cse448 (+ ~B~0.offset 4)) c_~mina~0)) (= c_~minc~0 (+ (select .cse448 ~B~0.offset) .cse447))))))) (= c_~mina~0 (select .cse449 (+ ~A~0.offset 4))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse453 (select .cse454 ~A~0.offset))) (let ((.cse450 (+ .cse453 c_~minb~0)) (.cse451 (select |c_#memory_int#4| ~B~0.base)) (.cse452 (+ ~A~0.offset 4))) (and (<= .cse450 c_~minc~0) (= (select .cse451 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse452 ~B~0.offset)) (= .cse453 c_~minb~0) (<= .cse2 .cse450) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse451 ~B~0.offset) .cse453)) (= .cse2 (+ c_~minb~0 (select .cse454 .cse452)))))))) .cse88) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse455 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse455 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse457 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse456 (select .cse457 ~A~0.offset))) (and (<= (+ .cse456 c_~minb~0) c_~minc~0) (= .cse456 c_~mina~0) (<= (+ .cse456 c_~minb~0 1) .cse2) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse455 ~B~0.offset) .cse456)) (= .cse2 (+ c_~minb~0 (select .cse457 (+ ~A~0.offset 4))))))))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse461 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse460 (select .cse461 ~A~0.offset))) (let ((.cse458 (+ .cse460 c_~minb~0)) (.cse459 (select |c_#memory_int#4| ~B~0.base))) (and (<= .cse458 c_~minc~0) (= (select .cse459 (+ ~B~0.offset 4)) c_~minb~0) (= .cse91 (+ .cse2 .cse460)) (= .cse460 c_~minb~0) (<= .cse2 .cse458) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse459 ~B~0.offset) .cse460)) (= .cse2 (+ c_~minb~0 (select .cse461 (+ ~A~0.offset 4))))))))) .cse88)))))) is different from true