./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c --full-output --traceabstraction.positions.where.we.compute.the.hoare.annotation All --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 273a578a 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 3e185f9c0dac86cdbb29caae2de39811a090d813c08c4c3552062c2aa77b8788 --traceabstraction.positions.where.we.compute.the.hoare.annotation All --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.dk.owicki-witnesses-273a578-m [2024-02-19 15:20:24,162 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-19 15:20:24,230 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-02-19 15:20:24,234 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-19 15:20:24,235 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-19 15:20:24,260 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-19 15:20:24,261 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-19 15:20:24,261 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-19 15:20:24,261 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-02-19 15:20:24,264 INFO L153 SettingsManager]: * Use memory slicer=true [2024-02-19 15:20:24,265 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-02-19 15:20:24,265 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-02-19 15:20:24,265 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-19 15:20:24,266 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-19 15:20:24,266 INFO L153 SettingsManager]: * Use SBE=true [2024-02-19 15:20:24,267 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-19 15:20:24,267 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-02-19 15:20:24,267 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-19 15:20:24,267 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-19 15:20:24,268 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-19 15:20:24,268 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-19 15:20:24,269 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-02-19 15:20:24,269 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-02-19 15:20:24,269 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-02-19 15:20:24,269 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-02-19 15:20:24,269 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-19 15:20:24,270 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-19 15:20:24,270 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-19 15:20:24,270 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-19 15:20:24,271 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-19 15:20:24,272 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-02-19 15:20:24,272 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-02-19 15:20:24,272 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-19 15:20:24,272 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-19 15:20:24,272 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-02-19 15:20:24,273 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-02-19 15:20:24,273 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-19 15:20:24,274 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-02-19 15:20:24,274 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-19 15:20:24,274 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-02-19 15:20:24,274 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-02-19 15:20:24,274 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-02-19 15:20:24,275 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-02-19 15:20:24,275 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 -> 3e185f9c0dac86cdbb29caae2de39811a090d813c08c4c3552062c2aa77b8788 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Positions where we compute the Hoare Annotation -> All [2024-02-19 15:20:24,543 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-19 15:20:24,563 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-19 15:20:24,565 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-19 15:20:24,565 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-19 15:20:24,566 INFO L274 PluginConnector]: CDTParser initialized [2024-02-19 15:20:24,567 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-02-19 15:20:25,853 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-19 15:20:26,005 INFO L384 CDTParser]: Found 1 translation units. [2024-02-19 15:20:26,005 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2024-02-19 15:20:26,013 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/df0216e90/c49e653617c44ef5a7f8de7304583ad2/FLAG8403569a2 [2024-02-19 15:20:26,024 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/df0216e90/c49e653617c44ef5a7f8de7304583ad2 [2024-02-19 15:20:26,026 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-19 15:20:26,027 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-02-19 15:20:26,028 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-19 15:20:26,028 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-19 15:20:26,032 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-19 15:20:26,033 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,050 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7e18dcc0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26, skipping insertion in model container [2024-02-19 15:20:26,050 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,068 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-19 15:20:26,186 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[2815,2828] [2024-02-19 15:20:26,193 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-02-19 15:20:26,200 INFO L202 MainTranslator]: Completed pre-run [2024-02-19 15:20:26,216 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[2815,2828] [2024-02-19 15:20:26,218 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-02-19 15:20:26,230 INFO L206 MainTranslator]: Completed translation [2024-02-19 15:20:26,230 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26 WrapperNode [2024-02-19 15:20:26,231 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-19 15:20:26,231 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-02-19 15:20:26,232 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-02-19 15:20:26,232 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-02-19 15:20:26,236 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,242 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,269 INFO L138 Inliner]: procedures = 26, calls = 57, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 239 [2024-02-19 15:20:26,271 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-02-19 15:20:26,272 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-02-19 15:20:26,272 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-02-19 15:20:26,272 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-02-19 15:20:26,279 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,280 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,296 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,309 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-02-19 15:20:26,321 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,322 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,328 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,337 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,340 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,344 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,346 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-02-19 15:20:26,350 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-02-19 15:20:26,351 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-02-19 15:20:26,351 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-02-19 15:20:26,351 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (1/1) ... [2024-02-19 15:20:26,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-19 15:20:26,367 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 15:20:26,379 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-02-19 15:20:26,429 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-02-19 15:20:26,453 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-02-19 15:20:26,453 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-02-19 15:20:26,453 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-02-19 15:20:26,453 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-02-19 15:20:26,454 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-02-19 15:20:26,454 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-02-19 15:20:26,454 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-02-19 15:20:26,455 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-02-19 15:20:26,455 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-02-19 15:20:26,455 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-02-19 15:20:26,456 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-02-19 15:20:26,456 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-02-19 15:20:26,456 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-02-19 15:20:26,456 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-02-19 15:20:26,456 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-02-19 15:20:26,456 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-02-19 15:20:26,456 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-02-19 15:20:26,457 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-02-19 15:20:26,457 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-02-19 15:20:26,457 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-02-19 15:20:26,457 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-02-19 15:20:26,457 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-02-19 15:20:26,457 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-02-19 15:20:26,458 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-02-19 15:20:26,458 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-02-19 15:20:26,458 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-02-19 15:20:26,458 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-02-19 15:20:26,459 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-02-19 15:20:26,459 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-02-19 15:20:26,461 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-02-19 15:20:26,594 INFO L244 CfgBuilder]: Building ICFG [2024-02-19 15:20:26,596 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-02-19 15:20:26,896 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-02-19 15:20:26,896 INFO L293 CfgBuilder]: Performing block encoding [2024-02-19 15:20:27,156 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-02-19 15:20:27,156 INFO L320 CfgBuilder]: Removed 6 assume(true) statements. [2024-02-19 15:20:27,157 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.02 03:20:27 BoogieIcfgContainer [2024-02-19 15:20:27,157 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-02-19 15:20:27,158 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-02-19 15:20:27,158 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-02-19 15:20:27,160 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-02-19 15:20:27,161 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 19.02 03:20:26" (1/3) ... [2024-02-19 15:20:27,161 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43ae422e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.02 03:20:27, skipping insertion in model container [2024-02-19 15:20:27,161 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.02 03:20:26" (2/3) ... [2024-02-19 15:20:27,161 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43ae422e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.02 03:20:27, skipping insertion in model container [2024-02-19 15:20:27,161 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.02 03:20:27" (3/3) ... [2024-02-19 15:20:27,162 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2024-02-19 15:20:27,176 INFO L221 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-02-19 15:20:27,176 INFO L180 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-02-19 15:20:27,177 INFO L631 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-02-19 15:20:27,207 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-02-19 15:20:27,231 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 44 places, 41 transitions, 103 flow [2024-02-19 15:20:27,270 INFO L124 PetriNetUnfolderBase]: 7/38 cut-off events. [2024-02-19 15:20:27,270 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-02-19 15:20:27,273 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-02-19 15:20:27,273 INFO L82 GeneralOperation]: Start removeDead. Operand has 44 places, 41 transitions, 103 flow [2024-02-19 15:20:27,275 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 40 places, 37 transitions, 92 flow [2024-02-19 15:20:27,282 INFO L368 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-02-19 15:20:27,287 INFO L369 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=All, 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;@704c36a9, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-02-19 15:20:27,287 INFO L370 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-02-19 15:20:27,297 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-19 15:20:27,297 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2024-02-19 15:20:27,298 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-02-19 15:20:27,298 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 15:20:27,298 INFO L234 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-02-19 15:20:27,299 INFO L432 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-02-19 15:20:27,303 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 15:20:27,303 INFO L85 PathProgramCache]: Analyzing trace with hash 1557565518, now seen corresponding path program 1 times [2024-02-19 15:20:27,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 15:20:27,310 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1081297784] [2024-02-19 15:20:27,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:27,310 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 15:20:27,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:27,697 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-19 15:20:27,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 15:20:27,698 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1081297784] [2024-02-19 15:20:27,698 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1081297784] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 15:20:27,698 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 15:20:27,698 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-02-19 15:20:27,700 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1212246023] [2024-02-19 15:20:27,700 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 15:20:27,726 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-02-19 15:20:27,730 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 15:20:27,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-02-19 15:20:27,811 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-02-19 15:20:27,812 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 41 [2024-02-19 15:20:27,815 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 37 transitions, 92 flow. Second operand has 3 states, 3 states have (on average 19.333333333333332) internal successors, (58), 3 states have internal predecessors, (58), 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-02-19 15:20:27,816 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 15:20:27,816 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 41 [2024-02-19 15:20:27,817 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 15:20:28,044 INFO L124 PetriNetUnfolderBase]: 465/791 cut-off events. [2024-02-19 15:20:28,045 INFO L125 PetriNetUnfolderBase]: For 41/41 co-relation queries the response was YES. [2024-02-19 15:20:28,050 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1442 conditions, 791 events. 465/791 cut-off events. For 41/41 co-relation queries the response was YES. Maximal size of possible extension queue 42. Compared 3467 event pairs, 223 based on Foata normal form. 0/637 useless extension candidates. Maximal degree in co-relation 1091. Up to 593 conditions per place. [2024-02-19 15:20:28,056 INFO L140 encePairwiseOnDemand]: 38/41 looper letters, 26 selfloop transitions, 2 changer transitions 0/38 dead transitions. [2024-02-19 15:20:28,057 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 42 places, 38 transitions, 150 flow [2024-02-19 15:20:28,058 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-02-19 15:20:28,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-02-19 15:20:28,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 68 transitions. [2024-02-19 15:20:28,067 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.5528455284552846 [2024-02-19 15:20:28,071 INFO L308 CegarLoopForPetriNet]: 40 programPoint places, 2 predicate places. [2024-02-19 15:20:28,071 INFO L507 AbstractCegarLoop]: Abstraction has has 42 places, 38 transitions, 150 flow [2024-02-19 15:20:28,072 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 19.333333333333332) internal successors, (58), 3 states have internal predecessors, (58), 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-02-19 15:20:28,072 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 15:20:28,072 INFO L234 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-02-19 15:20:28,072 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-02-19 15:20:28,072 INFO L432 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-02-19 15:20:28,074 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 15:20:28,074 INFO L85 PathProgramCache]: Analyzing trace with hash -1442856807, now seen corresponding path program 1 times [2024-02-19 15:20:28,074 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 15:20:28,074 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1730975694] [2024-02-19 15:20:28,074 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:28,074 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 15:20:28,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:28,264 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-02-19 15:20:28,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 15:20:28,265 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1730975694] [2024-02-19 15:20:28,265 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1730975694] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 15:20:28,266 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 15:20:28,266 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-02-19 15:20:28,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1112006824] [2024-02-19 15:20:28,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 15:20:28,267 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-02-19 15:20:28,267 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 15:20:28,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-02-19 15:20:28,269 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2024-02-19 15:20:28,275 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 41 [2024-02-19 15:20:28,276 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 42 places, 38 transitions, 150 flow. Second operand has 4 states, 4 states have (on average 18.0) internal successors, (72), 4 states have internal predecessors, (72), 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-02-19 15:20:28,276 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 15:20:28,277 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 41 [2024-02-19 15:20:28,277 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 15:20:28,387 INFO L124 PetriNetUnfolderBase]: 465/793 cut-off events. [2024-02-19 15:20:28,387 INFO L125 PetriNetUnfolderBase]: For 160/270 co-relation queries the response was YES. [2024-02-19 15:20:28,389 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2042 conditions, 793 events. 465/793 cut-off events. For 160/270 co-relation queries the response was YES. Maximal size of possible extension queue 42. Compared 3460 event pairs, 223 based on Foata normal form. 0/656 useless extension candidates. Maximal degree in co-relation 1543. Up to 595 conditions per place. [2024-02-19 15:20:28,392 INFO L140 encePairwiseOnDemand]: 34/41 looper letters, 24 selfloop transitions, 6 changer transitions 0/40 dead transitions. [2024-02-19 15:20:28,393 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 40 transitions, 218 flow [2024-02-19 15:20:28,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-02-19 15:20:28,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-02-19 15:20:28,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2024-02-19 15:20:28,397 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.5121951219512195 [2024-02-19 15:20:28,398 INFO L308 CegarLoopForPetriNet]: 40 programPoint places, 5 predicate places. [2024-02-19 15:20:28,399 INFO L507 AbstractCegarLoop]: Abstraction has has 45 places, 40 transitions, 218 flow [2024-02-19 15:20:28,399 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 18.0) internal successors, (72), 4 states have internal predecessors, (72), 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-02-19 15:20:28,399 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 15:20:28,399 INFO L234 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-02-19 15:20:28,399 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-02-19 15:20:28,400 INFO L432 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-02-19 15:20:28,403 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 15:20:28,403 INFO L85 PathProgramCache]: Analyzing trace with hash -831523105, now seen corresponding path program 1 times [2024-02-19 15:20:28,403 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 15:20:28,404 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1816127150] [2024-02-19 15:20:28,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:28,404 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 15:20:28,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:28,551 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-02-19 15:20:28,552 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 15:20:28,552 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1816127150] [2024-02-19 15:20:28,557 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1816127150] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-19 15:20:28,557 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-19 15:20:28,557 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-02-19 15:20:28,558 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [370195384] [2024-02-19 15:20:28,558 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 15:20:28,558 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-02-19 15:20:28,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 15:20:28,560 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-02-19 15:20:28,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-02-19 15:20:28,560 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 13 out of 41 [2024-02-19 15:20:28,561 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 45 places, 40 transitions, 218 flow. Second operand has 3 states, 3 states have (on average 20.333333333333332) internal successors, (61), 3 states have internal predecessors, (61), 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-02-19 15:20:28,561 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 15:20:28,561 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 13 of 41 [2024-02-19 15:20:28,561 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 15:20:28,680 INFO L124 PetriNetUnfolderBase]: 575/985 cut-off events. [2024-02-19 15:20:28,680 INFO L125 PetriNetUnfolderBase]: For 464/672 co-relation queries the response was YES. [2024-02-19 15:20:28,682 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3265 conditions, 985 events. 575/985 cut-off events. For 464/672 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 4534 event pairs, 123 based on Foata normal form. 1/818 useless extension candidates. Maximal degree in co-relation 2522. Up to 738 conditions per place. [2024-02-19 15:20:28,686 INFO L140 encePairwiseOnDemand]: 38/41 looper letters, 39 selfloop transitions, 2 changer transitions 2/53 dead transitions. [2024-02-19 15:20:28,686 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 47 places, 53 transitions, 391 flow [2024-02-19 15:20:28,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-02-19 15:20:28,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-02-19 15:20:28,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 80 transitions. [2024-02-19 15:20:28,687 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.6504065040650406 [2024-02-19 15:20:28,688 INFO L308 CegarLoopForPetriNet]: 40 programPoint places, 7 predicate places. [2024-02-19 15:20:28,688 INFO L507 AbstractCegarLoop]: Abstraction has has 47 places, 53 transitions, 391 flow [2024-02-19 15:20:28,688 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 20.333333333333332) internal successors, (61), 3 states have internal predecessors, (61), 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-02-19 15:20:28,688 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 15:20:28,688 INFO L234 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-02-19 15:20:28,688 WARN L489 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-02-19 15:20:28,689 INFO L432 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-02-19 15:20:28,689 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 15:20:28,689 INFO L85 PathProgramCache]: Analyzing trace with hash 1763021086, now seen corresponding path program 1 times [2024-02-19 15:20:28,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 15:20:28,689 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146473966] [2024-02-19 15:20:28,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:28,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 15:20:28,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:28,800 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-02-19 15:20:28,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 15:20:28,800 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146473966] [2024-02-19 15:20:28,801 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1146473966] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 15:20:28,801 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [440883826] [2024-02-19 15:20:28,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:28,801 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 15:20:28,801 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 15:20:28,802 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-02-19 15:20:28,821 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-02-19 15:20:28,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:28,925 INFO L262 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 7 conjunts are in the unsatisfiable core [2024-02-19 15:20:28,929 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 15:20:29,004 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-02-19 15:20:29,004 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-19 15:20:29,077 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-02-19 15:20:29,078 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [440883826] provided 0 perfect and 2 imperfect interpolant sequences [2024-02-19 15:20:29,078 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-02-19 15:20:29,078 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-02-19 15:20:29,079 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1002105594] [2024-02-19 15:20:29,079 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-02-19 15:20:29,080 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-02-19 15:20:29,080 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 15:20:29,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-02-19 15:20:29,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2024-02-19 15:20:29,110 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 41 [2024-02-19 15:20:29,111 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 47 places, 53 transitions, 391 flow. Second operand has 12 states, 12 states have (on average 14.0) internal successors, (168), 12 states have internal predecessors, (168), 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-02-19 15:20:29,111 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 15:20:29,111 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 41 [2024-02-19 15:20:29,111 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 15:20:29,423 INFO L124 PetriNetUnfolderBase]: 1183/1841 cut-off events. [2024-02-19 15:20:29,423 INFO L125 PetriNetUnfolderBase]: For 2655/2715 co-relation queries the response was YES. [2024-02-19 15:20:29,426 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7843 conditions, 1841 events. 1183/1841 cut-off events. For 2655/2715 co-relation queries the response was YES. Maximal size of possible extension queue 84. Compared 8653 event pairs, 246 based on Foata normal form. 34/1589 useless extension candidates. Maximal degree in co-relation 4368. Up to 1434 conditions per place. [2024-02-19 15:20:29,433 INFO L140 encePairwiseOnDemand]: 31/41 looper letters, 46 selfloop transitions, 10 changer transitions 49/113 dead transitions. [2024-02-19 15:20:29,433 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 113 transitions, 1111 flow [2024-02-19 15:20:29,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-02-19 15:20:29,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-02-19 15:20:29,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 182 transitions. [2024-02-19 15:20:29,435 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.4932249322493225 [2024-02-19 15:20:29,435 INFO L308 CegarLoopForPetriNet]: 40 programPoint places, 15 predicate places. [2024-02-19 15:20:29,436 INFO L507 AbstractCegarLoop]: Abstraction has has 55 places, 113 transitions, 1111 flow [2024-02-19 15:20:29,436 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 14.0) internal successors, (168), 12 states have internal predecessors, (168), 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-02-19 15:20:29,443 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 15:20:29,443 INFO L234 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-02-19 15:20:29,455 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-02-19 15:20:29,655 WARN L489 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-02-19 15:20:29,655 INFO L432 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-02-19 15:20:29,655 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 15:20:29,655 INFO L85 PathProgramCache]: Analyzing trace with hash 424232865, now seen corresponding path program 2 times [2024-02-19 15:20:29,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 15:20:29,656 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1118591086] [2024-02-19 15:20:29,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:29,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 15:20:29,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:29,822 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-02-19 15:20:29,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 15:20:29,823 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1118591086] [2024-02-19 15:20:29,823 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1118591086] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 15:20:29,823 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1918263377] [2024-02-19 15:20:29,823 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-02-19 15:20:29,823 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 15:20:29,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 15:20:29,824 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-02-19 15:20:29,827 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-02-19 15:20:29,930 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-02-19 15:20:29,931 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-02-19 15:20:29,932 INFO L262 TraceCheckSpWp]: Trace formula consists of 320 conjuncts, 7 conjunts are in the unsatisfiable core [2024-02-19 15:20:29,934 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 15:20:29,972 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-02-19 15:20:29,972 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-19 15:20:30,014 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-02-19 15:20:30,014 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1918263377] provided 1 perfect and 1 imperfect interpolant sequences [2024-02-19 15:20:30,014 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-02-19 15:20:30,015 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-02-19 15:20:30,015 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507989226] [2024-02-19 15:20:30,015 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 15:20:30,015 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-02-19 15:20:30,015 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 15:20:30,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-02-19 15:20:30,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-02-19 15:20:30,023 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 12 out of 41 [2024-02-19 15:20:30,024 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 55 places, 113 transitions, 1111 flow. Second operand has 6 states, 6 states have (on average 16.333333333333332) internal successors, (98), 6 states have internal predecessors, (98), 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-02-19 15:20:30,024 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 15:20:30,024 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 12 of 41 [2024-02-19 15:20:30,024 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 15:20:30,310 INFO L124 PetriNetUnfolderBase]: 1618/2578 cut-off events. [2024-02-19 15:20:30,310 INFO L125 PetriNetUnfolderBase]: For 6752/6921 co-relation queries the response was YES. [2024-02-19 15:20:30,315 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12757 conditions, 2578 events. 1618/2578 cut-off events. For 6752/6921 co-relation queries the response was YES. Maximal size of possible extension queue 124. Compared 13153 event pairs, 258 based on Foata normal form. 5/2346 useless extension candidates. Maximal degree in co-relation 6036. Up to 1936 conditions per place. [2024-02-19 15:20:30,325 INFO L140 encePairwiseOnDemand]: 31/41 looper letters, 71 selfloop transitions, 7 changer transitions 103/190 dead transitions. [2024-02-19 15:20:30,325 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 190 transitions, 2269 flow [2024-02-19 15:20:30,326 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-02-19 15:20:30,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-02-19 15:20:30,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 140 transitions. [2024-02-19 15:20:30,327 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.5691056910569106 [2024-02-19 15:20:30,327 INFO L308 CegarLoopForPetriNet]: 40 programPoint places, 20 predicate places. [2024-02-19 15:20:30,328 INFO L507 AbstractCegarLoop]: Abstraction has has 60 places, 190 transitions, 2269 flow [2024-02-19 15:20:30,328 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 16.333333333333332) internal successors, (98), 6 states have internal predecessors, (98), 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-02-19 15:20:30,328 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 15:20:30,328 INFO L234 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-02-19 15:20:30,349 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-02-19 15:20:30,540 WARN L489 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-02-19 15:20:30,540 INFO L432 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-02-19 15:20:30,541 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 15:20:30,541 INFO L85 PathProgramCache]: Analyzing trace with hash 617186673, now seen corresponding path program 1 times [2024-02-19 15:20:30,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 15:20:30,541 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [242782775] [2024-02-19 15:20:30,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:30,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 15:20:30,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:30,664 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-02-19 15:20:30,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 15:20:30,664 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [242782775] [2024-02-19 15:20:30,665 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [242782775] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 15:20:30,665 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [275014432] [2024-02-19 15:20:30,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:30,665 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 15:20:30,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 15:20:30,666 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-02-19 15:20:30,704 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-02-19 15:20:30,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:30,781 INFO L262 TraceCheckSpWp]: Trace formula consists of 325 conjuncts, 7 conjunts are in the unsatisfiable core [2024-02-19 15:20:30,783 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 15:20:30,819 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-02-19 15:20:30,819 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-19 15:20:30,873 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-02-19 15:20:30,874 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [275014432] provided 1 perfect and 1 imperfect interpolant sequences [2024-02-19 15:20:30,874 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-02-19 15:20:30,874 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-02-19 15:20:30,874 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [270235158] [2024-02-19 15:20:30,874 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-19 15:20:30,875 INFO L584 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-02-19 15:20:30,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-19 15:20:30,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-02-19 15:20:30,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-02-19 15:20:30,882 INFO L498 CegarLoopForPetriNet]: Number of universal loopers: 11 out of 41 [2024-02-19 15:20:30,882 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 60 places, 190 transitions, 2269 flow. Second operand has 6 states, 6 states have (on average 15.5) internal successors, (93), 6 states have internal predecessors, (93), 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-02-19 15:20:30,883 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-02-19 15:20:30,883 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 11 of 41 [2024-02-19 15:20:30,883 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-19 15:20:31,308 INFO L124 PetriNetUnfolderBase]: 2163/3351 cut-off events. [2024-02-19 15:20:31,309 INFO L125 PetriNetUnfolderBase]: For 21926/22459 co-relation queries the response was YES. [2024-02-19 15:20:31,315 INFO L83 FinitePrefix]: Finished finitePrefix Result has 18756 conditions, 3351 events. 2163/3351 cut-off events. For 21926/22459 co-relation queries the response was YES. Maximal size of possible extension queue 134. Compared 16644 event pairs, 315 based on Foata normal form. 288/3258 useless extension candidates. Maximal degree in co-relation 9300. Up to 2415 conditions per place. [2024-02-19 15:20:31,330 INFO L140 encePairwiseOnDemand]: 30/41 looper letters, 102 selfloop transitions, 11 changer transitions 147/268 dead transitions. [2024-02-19 15:20:31,331 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 66 places, 268 transitions, 3730 flow [2024-02-19 15:20:31,331 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-02-19 15:20:31,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2024-02-19 15:20:31,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 154 transitions. [2024-02-19 15:20:31,332 INFO L543 CegarLoopForPetriNet]: DFA transition density 0.5365853658536586 [2024-02-19 15:20:31,333 INFO L308 CegarLoopForPetriNet]: 40 programPoint places, 26 predicate places. [2024-02-19 15:20:31,333 INFO L507 AbstractCegarLoop]: Abstraction has has 66 places, 268 transitions, 3730 flow [2024-02-19 15:20:31,333 INFO L508 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 15.5) internal successors, (93), 6 states have internal predecessors, (93), 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-02-19 15:20:31,333 INFO L226 CegarLoopForPetriNet]: Found error trace [2024-02-19 15:20:31,333 INFO L234 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-02-19 15:20:31,347 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-02-19 15:20:31,547 WARN L489 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-02-19 15:20:31,548 INFO L432 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-02-19 15:20:31,548 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-02-19 15:20:31,549 INFO L85 PathProgramCache]: Analyzing trace with hash -102385879, now seen corresponding path program 1 times [2024-02-19 15:20:31,549 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-19 15:20:31,549 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [65023080] [2024-02-19 15:20:31,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:31,549 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-19 15:20:31,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:32,721 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-02-19 15:20:32,721 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-19 15:20:32,721 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [65023080] [2024-02-19 15:20:32,721 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [65023080] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-19 15:20:32,721 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1286111753] [2024-02-19 15:20:32,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-19 15:20:32,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-19 15:20:32,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-19 15:20:32,723 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-02-19 15:20:32,746 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-02-19 15:20:32,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-19 15:20:32,855 INFO L262 TraceCheckSpWp]: Trace formula consists of 340 conjuncts, 22 conjunts are in the unsatisfiable core [2024-02-19 15:20:32,857 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-19 15:20:33,223 INFO L349 Elim1Store]: treesize reduction 96, result has 55.8 percent of original size [2024-02-19 15:20:33,224 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 150 treesize of output 171 [2024-02-19 15:20:55,152 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse91 (+ c_~C~0.offset 8)) (.cse646 (select |c_#memory_int#4| c_~C~0.base))) (let ((.cse12 (select .cse646 c_~C~0.offset)) (.cse45 (+ c_~C~0.offset 4)) (.cse11 (select .cse646 .cse91))) (let ((.cse5 (+ c_~minc~0 1)) (.cse277 (+ .cse11 c_~minb~0)) (.cse620 (+ c_~mina~0 c_~minb~0)) (.cse3 (select .cse646 .cse45)) (.cse260 (+ c_~mina~0 .cse12))) (let ((.cse446 (= c_~minc~0 .cse260)) (.cse618 (* 2 .cse12)) (.cse617 (+ c_~minb~0 .cse12)) (.cse16 (+ c_~minc~0 c_~minb~0)) (.cse10 (+ .cse3 .cse12)) (.cse105 (<= .cse620 c_~minc~0)) (.cse75 (= .cse11 c_~mina~0)) (.cse79 (= c_~mina~0 c_~minb~0)) (.cse281 (+ .cse11 c_~mina~0)) (.cse475 (* 2 c_~minb~0)) (.cse280 (* 2 .cse11)) (.cse92 (+ c_~minb~0 1)) (.cse93 (= c_~minc~0 .cse620)) (.cse424 (<= .cse5 .cse277)) (.cse121 (= c_~minb~0 .cse12)) (.cse122 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse645 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse645 ~B~0.offset) .cse12)) (= (select .cse645 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))) (.cse226 (div (* c_~minc~0 (- 1)) 2))) (let ((.cse168 (= (mod c_~minc~0 2) 0)) (.cse169 (<= (+ .cse226 c_~minb~0) 0)) (.cse217 (or (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse642 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse642 ~B~0.offset) .cse12)) (= (select .cse642 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base))))) (not (= ~B~0.offset .cse45)))) (and .cse121 .cse122) (exists ((~B~0.offset Int)) (let ((.cse643 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse643)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse644 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse644 ~B~0.offset) .cse12)) (= (select .cse644 .cse643) c_~minb~0)))) (not (= ~B~0.offset .cse45))))))) (.cse152 (+ (* c_~minc~0 2) 1)) (.cse404 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse640 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse641 (select .cse640 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse640 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse641 .cse12)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse641 c_~mina~0) .cse3)))))) (.cse346 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse638 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse639 (select .cse638 (+ ~B~0.offset 4)))) (and (= (select .cse638 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse639 .cse11) .cse3) (<= .cse92 .cse639))))) .cse93 .cse424)) (.cse369 (and .cse93 .cse424 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse636 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse637 (select .cse636 (+ ~B~0.offset 4)))) (and (= (select .cse636 ~B~0.offset) c_~minb~0) (<= (+ .cse637 .cse11) .cse3) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse637) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))))) (.cse135 (<= .cse280 .cse3)) (.cse429 (= c_~minc~0 .cse475)) (.cse170 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse635 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse635 ~B~0.offset) .cse12)) (= (select .cse635 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset c_~C~0.offset)))))) (.cse349 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse633 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse634 (select .cse633 ~B~0.offset))) (and (= (select .cse633 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse91 ~B~0.offset)) (<= (+ .cse634 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse634) (not (= ~B~0.offset .cse45))))))) (.cse440 (+ c_~minc~0 c_~mina~0 1)) (.cse9 (+ c_~minc~0 .cse11)) (.cse101 (<= .cse277 .cse3)) (.cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse630 (select |c_#memory_int#4| ~B~0.base)) (.cse632 (+ ~B~0.offset 4))) (let ((.cse631 (select .cse630 .cse632))) (and (= c_~minc~0 (+ (select .cse630 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse631 .cse12)) (<= (+ .cse631 c_~mina~0) .cse3) (not (= c_~C~0.offset .cse632)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45))))))) (.cse70 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse629 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse629 ~B~0.offset) .cse12)) (= (select .cse629 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))) (.cse30 (<= .cse281 .cse3)) (.cse425 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse627 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse628 (select .cse627 (+ ~B~0.offset 4)))) (and (= (select .cse627 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse628 .cse11) .cse3) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse628) (not (= ~B~0.offset .cse45)))))) .cse93 .cse424)) (.cse182 (or (and (<= .cse475 c_~minc~0) .cse79) (and .cse93 (<= .cse5 .cse475)))) (.cse426 (and .cse105 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse625 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse626 (select .cse625 (+ ~B~0.offset 4)))) (and (= (select .cse625 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse626 c_~mina~0) .cse3) (<= .cse92 .cse626))))) .cse75)) (.cse427 (and .cse105 .cse75 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse623 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse624 (select .cse623 (+ ~B~0.offset 4)))) (and (= (select .cse623 ~B~0.offset) c_~minb~0) (<= (+ .cse624 c_~mina~0) .cse3) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse624) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))))) (.cse428 (and .cse105 .cse75 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse621 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse622 (select .cse621 (+ ~B~0.offset 4)))) (and (= (select .cse621 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse622 c_~mina~0) .cse3) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse622) (not (= ~B~0.offset .cse45)))))))) (.cse254 (<= c_~minb~0 .cse12)) (.cse167 (= .cse11 c_~minb~0)) (.cse78 (<= .cse475 .cse3)) (.cse27 (<= .cse620 .cse3)) (.cse172 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse619 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse619 ~B~0.offset) .cse12)) (= (select .cse619 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)))))) (.cse171 (<= .cse16 .cse10)) (.cse19 (<= .cse617 c_~minc~0)) (.cse22 (= c_~minc~0 .cse618)) (.cse8 (or (and (<= c_~minc~0 .cse618) .cse446) (and (= c_~mina~0 .cse12) (<= (+ .cse618 1) c_~minc~0)))) (.cse18 (<= c_~mina~0 .cse12)) (.cse13 (= c_~minc~0 .cse617)) (.cse83 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse615 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse616 (select .cse615 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse615 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse616 .cse12)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse616 c_~mina~0) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse7 (select |c_#memory_int#4| ~A~0.base)) (.cse4 (+ ~A~0.offset 4))) (let ((.cse1 (select .cse7 .cse4)) (.cse0 (select .cse7 ~A~0.offset))) (and (= .cse0 c_~mina~0) (<= (+ .cse0 1) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse6 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse2 (select .cse6 (+ ~B~0.offset 4)))) (and (<= (+ .cse2 .cse1) .cse3) (not (= .cse4 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse2 .cse0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse6 ~B~0.offset) .cse0)))))) (= c_~minc~0 (+ .cse0 c_~minb~0)) (= c_~minc~0 (* 2 .cse0)))))) (and .cse8 (<= .cse9 .cse10) (<= .cse5 (+ .cse11 .cse12)) .cse13) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse17 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse14 (select .cse17 ~A~0.offset))) (and (= .cse14 c_~mina~0) (<= (+ (* 2 .cse14) 1) c_~minc~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse15 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse15 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse15 ~B~0.offset) .cse14))))) (<= .cse16 (+ .cse3 .cse14)) (= .cse14 c_~minb~0) (= c_~minc~0 (+ .cse14 (select .cse17 (+ ~A~0.offset 4)))))))) (and (or (and .cse18 .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse20 (select |c_#memory_int#4| ~B~0.base)) (.cse21 (+ ~B~0.offset 4))) (and (= c_~minc~0 (+ (select .cse20 ~B~0.offset) .cse12)) (= (select .cse20 .cse21) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= c_~C~0.offset .cse21))))) .cse22) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse23 (select |c_#memory_int#4| ~B~0.base)) (.cse24 (+ ~B~0.offset 4))) (and (= (select .cse23 .cse24) c_~minb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse26 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse25 (select .cse26 ~A~0.offset))) (and (<= (+ .cse25 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse25) (= c_~minc~0 (* 2 .cse25)) (= c_~mina~0 (select .cse26 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse23 ~B~0.offset) .cse25)) (not (= ~A~0.offset .cse24)))))) (not (= ~A~0.base ~B~0.base)))))))) .cse27) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse29 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse28 (select .cse29 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse28) (<= .cse5 (+ .cse11 .cse28)) (= c_~minc~0 (+ .cse28 c_~minb~0)) (= c_~mina~0 (select .cse29 (+ ~A~0.offset 4))))))) .cse30) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse31 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse31 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse35 (select |c_#memory_int#4| ~A~0.base)) (.cse33 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse35 .cse33)) (.cse32 (select .cse35 ~A~0.offset))) (and (<= (+ .cse32 c_~minb~0) c_~minc~0) (= .cse32 c_~mina~0) (not (= .cse33 ~B~0.offset)) (<= (+ .cse32 1) .cse34) (<= (+ c_~minb~0 .cse34) .cse3) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse31 ~B~0.offset) .cse32))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse36 (select .cse39 ~A~0.offset))) (and (<= (+ .cse36 c_~minb~0) c_~minc~0) (= .cse36 c_~mina~0) (<= (+ (* 2 .cse36) 1) c_~minc~0) (<= .cse16 (+ .cse3 .cse36)) (exists ((~B~0.offset Int)) (let ((.cse38 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse37 .cse38) c_~minb~0) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse36))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse38))))) (= c_~minc~0 (+ .cse36 (select .cse39 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse44 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse41 (select |c_#memory_int#4| ~A~0.base)) (.cse43 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse42 (select .cse43 .cse44)) (.cse40 (select .cse41 ~A~0.offset))) (and (= .cse40 c_~mina~0) (<= (+ (* 2 .cse40) 1) c_~minc~0) (= c_~minc~0 (+ .cse40 (select .cse41 (+ ~A~0.offset 4)))) (<= .cse5 (+ .cse42 .cse40)) (= c_~minc~0 (+ .cse40 c_~minb~0)) (= c_~minc~0 (+ (select .cse43 ~B~0.offset) .cse40)) (<= (+ c_~minc~0 .cse42) (+ .cse3 .cse40)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse44))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (exists ((~A~0.base Int)) (let ((.cse48 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse47 (select .cse48 (+ ~A~0.offset 4))) (.cse46 (select .cse48 ~A~0.offset))) (and (<= (+ .cse46 c_~minb~0) c_~minc~0) (= .cse46 c_~mina~0) (<= (+ .cse46 1) .cse47) (<= (+ c_~minb~0 .cse47) .cse3) (= c_~minc~0 (+ .cse46 .cse12)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse53 (select |c_#memory_int#4| ~B~0.base)) (.cse54 (+ ~B~0.offset 4))) (let ((.cse51 (select .cse53 .cse54))) (and (exists ((~A~0.offset Int)) (let ((.cse49 (+ ~A~0.offset 4))) (and (not (= .cse49 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse52 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse50 (select .cse52 ~A~0.offset))) (and (<= c_~mina~0 .cse50) (<= .cse5 (+ .cse51 .cse50)) (= c_~minc~0 (+ .cse50 c_~minb~0)) (= c_~mina~0 (select .cse52 .cse49)) (= c_~minc~0 (+ (select .cse53 ~B~0.offset) .cse50)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse54))))) (<= (+ .cse51 c_~mina~0) .cse3))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse60 (select |c_#memory_int#4| ~A~0.base)) (.cse58 (+ ~A~0.offset 4))) (let ((.cse57 (select .cse60 .cse58)) (.cse55 (select .cse60 ~A~0.offset))) (and (= .cse55 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse59 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse56 (select .cse59 (+ ~B~0.offset 4)))) (and (<= (+ .cse56 .cse57) .cse3) (not (= .cse58 ~B~0.offset)) (<= .cse5 (+ .cse56 .cse55)) (= .cse56 .cse55) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse59 ~B~0.offset) .cse55)))))) (<= (+ .cse55 1) .cse57) (= c_~minc~0 (+ .cse55 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse63 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse62 (select .cse63 (+ ~A~0.offset 4))) (.cse61 (select .cse63 ~A~0.offset))) (and (<= (+ .cse61 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse61 c_~mina~0) (<= (+ .cse61 1) .cse62) (<= (+ c_~minb~0 .cse62) .cse3) (= c_~minc~0 (+ .cse61 .cse12)))))))) (and .cse27 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse65 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse64 (select .cse65 ~A~0.offset))) (and (<= (+ .cse64 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse64) (= c_~mina~0 (select .cse65 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse64 .cse12))))))) (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 4)))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse68 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse66 (select .cse68 ~A~0.offset))) (and (<= c_~mina~0 .cse66) (<= .cse5 (+ .cse67 .cse66)) (= c_~minc~0 (+ .cse66 c_~minb~0)) (= c_~mina~0 (select .cse68 (+ ~A~0.offset 4))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse69 ~B~0.offset) .cse66)))))))) (<= (+ .cse67 c_~mina~0) .cse3))))) (and .cse27 (or (and .cse18 .cse70 .cse19) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#4| ~B~0.base))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse73 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse72 (+ ~A~0.offset 4)) (.cse71 (select .cse73 ~A~0.offset))) (and (<= (+ .cse71 c_~minb~0) c_~minc~0) (not (= .cse72 ~B~0.offset)) (<= c_~mina~0 .cse71) (= c_~mina~0 (select .cse73 .cse72)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse74 ~B~0.offset) .cse71)))))))) (= (select .cse74 (+ ~B~0.offset 4)) c_~minb~0)))))) (and .cse75 .cse27 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse76 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse77 (select .cse76 ~B~0.offset))) (and (= (select .cse76 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse77 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse77)))))) (and .cse78 .cse79 .cse19 .cse22) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse82 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse80 (select .cse82 ~A~0.offset))) (and (<= (+ .cse80 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse80 c_~mina~0)) (<= .cse16 (+ .cse3 .cse80)) (<= c_~minc~0 (* 2 .cse80)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse81 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse81 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse81 ~B~0.offset) .cse80))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse80 (select .cse82 (+ ~A~0.offset 4)))))))) (and .cse18 .cse13 .cse83 .cse22) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse88 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse85 (select .cse88 (+ ~A~0.offset 4))) (.cse84 (select .cse88 ~A~0.offset))) (and (= .cse84 c_~mina~0) (<= (+ .cse84 1) .cse85) (= c_~minc~0 (+ .cse84 c_~minb~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse87 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse86 (select .cse87 (+ ~B~0.offset 4)))) (and (<= (+ .cse86 .cse85) .cse3) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse86 .cse84)) (= .cse86 .cse84) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse87 ~B~0.offset) .cse84)))))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse90 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse89 (select .cse90 (+ ~B~0.offset 4)))) (and (<= .cse5 (+ .cse89 c_~minb~0)) (= (select .cse90 ~B~0.offset) c_~minb~0) (= .cse89 .cse11) (<= (* .cse89 2) .cse3) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse89) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))) .cse93) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse98 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse96 (select .cse98 (+ ~B~0.offset 4)))) (and (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse97 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse94 (+ ~A~0.offset 4)) (.cse95 (select .cse97 ~A~0.offset))) (and (not (= .cse94 ~B~0.offset)) (<= c_~mina~0 .cse95) (<= .cse5 (+ .cse96 .cse95)) (= c_~minc~0 (+ .cse95 c_~minb~0)) (= c_~minc~0 (* 2 .cse95)) (= c_~mina~0 (select .cse97 .cse94)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse98 ~B~0.offset) .cse95)))))) (not (= ~A~0.base ~B~0.base)))) (<= (+ .cse96 c_~mina~0) .cse3))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse100 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse99 (select .cse100 ~B~0.offset))) (and (<= .cse5 (+ .cse99 .cse11)) (= (select .cse100 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse99 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (not (= .cse91 ~B~0.offset)) (<= c_~minb~0 .cse99) (not (= ~B~0.offset .cse45)))))) .cse101) (and .cse18 .cse13 .cse102) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse104 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse103 (select .cse104 ~A~0.offset))) (and (<= (+ .cse103 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse103 c_~mina~0) (<= (+ (* 2 .cse103) 1) c_~minc~0) (<= .cse16 (+ .cse3 .cse103)) (= c_~minc~0 (+ .cse103 (select .cse104 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse103 .cse12)))))))) (and .cse105 .cse75 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse107 (select .cse106 (+ ~B~0.offset 4)))) (and (= (select .cse106 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse107 c_~mina~0) .cse3) (<= .cse92 .cse107) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (exists ((~A~0.base Int)) (let ((.cse110 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse108 (select .cse110 ~A~0.offset)) (.cse109 (select .cse110 (+ ~A~0.offset 4)))) (and (= .cse108 c_~mina~0) (<= (+ .cse108 1) .cse109) (<= .cse5 (+ .cse11 .cse108)) (= c_~minc~0 (+ .cse108 c_~minb~0)) (<= (+ .cse11 .cse109) .cse3))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse111 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse112 (select .cse111 ~B~0.offset))) (and (= (select .cse111 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse112 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse112) (not (= ~B~0.offset .cse45)))))) .cse75 .cse27) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse113 (select .cse116 (+ ~B~0.offset 4)))) (and (<= (+ .cse113 c_~mina~0) .cse3) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse115 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse114 (select .cse115 ~A~0.offset))) (and (<= c_~mina~0 .cse114) (<= .cse5 (+ .cse113 .cse114)) (= c_~minc~0 (+ .cse114 c_~minb~0)) (= c_~minc~0 (* 2 .cse114)) (= c_~mina~0 (select .cse115 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse116 ~B~0.offset) .cse114)))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse117 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse120 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse119 (select .cse120 (+ ~A~0.offset 4))) (.cse118 (select .cse120 ~A~0.offset))) (and (= .cse118 c_~mina~0) (<= (+ .cse118 1) .cse119) (= .cse118 c_~minb~0) (= c_~minc~0 (* 2 .cse118)) (<= (+ c_~minb~0 .cse119) .cse3) (= c_~minc~0 (+ (select .cse117 ~B~0.offset) .cse118))))))))))) (and (or (and .cse18 .cse121 .cse122 .cse22) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse123 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse123 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse126 (+ ~A~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse125 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse124 (select .cse125 ~A~0.offset))) (and (<= c_~mina~0 .cse124) (= .cse124 c_~minb~0) (= c_~minc~0 (* 2 .cse124)) (= c_~mina~0 (select .cse125 .cse126)) (= c_~minc~0 (+ (select .cse123 ~B~0.offset) .cse124)))))) (not (= .cse126 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset))))))))) .cse27) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse127 (select |c_#memory_int#4| ~B~0.base)) (.cse128 (+ ~B~0.offset 4))) (and (= (select .cse127 .cse128) c_~minb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse130 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse129 (select .cse130 ~A~0.offset))) (and (<= (+ .cse129 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse129 c_~mina~0)) (<= .cse16 (+ .cse3 .cse129)) (= c_~minc~0 (+ .cse129 (select .cse130 (+ ~A~0.offset 4)))) (= c_~minc~0 (* 2 .cse129)) (= c_~minc~0 (+ (select .cse127 ~B~0.offset) .cse129)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse128))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse132 (select |c_#memory_int#4| ~A~0.base)) (.cse134 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse133 (select .cse134 (+ ~B~0.offset 4))) (.cse131 (select .cse132 ~A~0.offset))) (and (= c_~minc~0 (+ .cse131 c_~mina~0)) (= c_~minc~0 (+ .cse131 (select .cse132 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse133 .cse131)) (= c_~minc~0 (+ .cse131 c_~minb~0)) (= c_~minc~0 (* 2 .cse131)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse134 ~B~0.offset) .cse131)) (<= (+ c_~minc~0 .cse133) (+ .cse3 .cse131)))))) (and .cse135 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (exists ((~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse136 (select .cse137 ~A~0.offset))) (and (= .cse136 c_~mina~0) (<= (+ .cse136 1) .cse11) (<= .cse5 (+ .cse11 .cse136)) (= c_~minc~0 (+ .cse136 c_~minb~0)) (= .cse11 (select .cse137 (+ ~A~0.offset 4))))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse139 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse138 (select .cse139 ~A~0.offset))) (and (= .cse138 c_~mina~0) (<= .cse5 (+ .cse11 .cse138)) (= c_~minc~0 (+ .cse138 c_~minb~0)) (= c_~minc~0 (* 2 .cse138)) (= .cse11 (select .cse139 (+ ~A~0.offset 4))))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse141 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse140 (select .cse141 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse140 c_~mina~0) (<= (+ .cse140 1) .cse11) (<= .cse5 (+ .cse11 .cse140)) (= c_~minc~0 (+ .cse140 c_~minb~0)) (= .cse11 (select .cse141 (+ ~A~0.offset 4))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse148 (select |c_#memory_int#4| ~A~0.base)) (.cse144 (+ ~A~0.offset 4))) (let ((.cse143 (select .cse148 .cse144)) (.cse145 (select .cse148 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse146 (select |c_#memory_int#4| ~B~0.base)) (.cse147 (+ ~B~0.offset 4))) (let ((.cse142 (select .cse146 .cse147))) (and (<= (+ .cse142 .cse143) .cse3) (not (= .cse144 ~B~0.offset)) (<= .cse5 (+ .cse142 .cse145)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse146 ~B~0.offset) .cse145)) (not (= ~A~0.offset .cse147)))))) (= .cse145 c_~mina~0) (<= (+ .cse145 1) .cse143) (= c_~minc~0 (+ .cse145 c_~minb~0)))))) (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_~minb~0) c_~minc~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse150 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse150 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse150 ~B~0.offset) .cse149))))) (= c_~minc~0 (+ .cse149 c_~mina~0)) (<= .cse16 (+ .cse3 .cse149)) (<= c_~minc~0 (* 2 .cse149)) (= .cse149 c_~minb~0) (= c_~minc~0 (+ .cse149 (select .cse151 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (exists ((~A~0.base Int)) (let ((.cse155 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse154 (select .cse155 ~A~0.offset))) (let ((.cse153 (* 2 .cse154))) (and (<= .cse152 (+ .cse3 .cse153)) (= c_~minc~0 (+ .cse154 c_~mina~0)) (<= c_~minc~0 .cse153) (= c_~minc~0 (+ .cse154 (select .cse155 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse154 c_~minb~0)) (= c_~minc~0 (+ .cse154 .cse12))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse159 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse156 (select .cse159 (+ ~B~0.offset 4)))) (and (<= (+ .cse156 c_~mina~0) .cse3) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse158 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse157 (select .cse158 ~A~0.offset))) (and (<= c_~mina~0 .cse157) (<= .cse5 (+ .cse156 .cse157)) (= c_~minc~0 (+ .cse157 c_~minb~0)) (= c_~mina~0 (select .cse158 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse159 ~B~0.offset) .cse157)))))) (not (= ~A~0.base ~B~0.base)))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse160 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse161 (select .cse160 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse160 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse161 .cse12)) (not (= c_~C~0.base ~B~0.base)) (<= (+ c_~minc~0 .cse161) .cse10) (not (= ~B~0.offset c_~C~0.offset)))))) .cse8 .cse13) (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)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse163 (+ ~A~0.offset 4))) (and (not (= .cse163 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse166 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse165 (select .cse166 .cse163)) (.cse164 (select .cse166 ~A~0.offset))) (and (= .cse164 c_~mina~0) (<= (+ .cse164 1) .cse165) (= .cse164 c_~minb~0) (= c_~minc~0 (* 2 .cse164)) (<= (+ c_~minb~0 .cse165) .cse3) (= c_~minc~0 (+ (select .cse162 ~B~0.offset) .cse164)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse167 .cse168 .cse169 .cse75 .cse27) (and .cse170 .cse8 .cse171 .cse19) (and (or (and .cse18 .cse172 .cse19 .cse22) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse173 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse173 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse175 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse174 (select .cse175 ~A~0.offset))) (and (<= (+ .cse174 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse174) (= c_~minc~0 (* 2 .cse174)) (= c_~mina~0 (select .cse175 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse173 ~B~0.offset) .cse174)))))))))))) .cse27) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse178 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse177 (+ ~A~0.offset 4)) (.cse176 (select |c_#memory_int#4| ~B~0.base)) (.cse179 (select .cse178 ~A~0.offset))) (and (= (select .cse176 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse177 ~B~0.offset)) (= c_~minb~0 (select .cse178 .cse177)) (= .cse179 c_~minb~0) (= c_~minc~0 (* 2 .cse179)) (= c_~minc~0 (+ (select .cse176 ~B~0.offset) .cse179)))))) .cse78 .cse79) (and .cse167 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse180 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse181 (select .cse180 (+ ~B~0.offset 4)))) (and (= (select .cse180 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse181 c_~minb~0) .cse3) (<= .cse92 .cse181) (not (= ~B~0.offset .cse45)))))) .cse182) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse187 (select |c_#memory_int#4| ~B~0.base)) (.cse188 (+ ~B~0.offset 4))) (let ((.cse185 (select .cse187 .cse188))) (and (exists ((~A~0.offset Int)) (let ((.cse183 (+ ~A~0.offset 4))) (and (not (= .cse183 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse186 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse184 (select .cse186 ~A~0.offset))) (and (<= c_~mina~0 .cse184) (<= .cse5 (+ .cse185 .cse184)) (= c_~minc~0 (+ .cse184 c_~minb~0)) (= c_~minc~0 (* 2 .cse184)) (= c_~mina~0 (select .cse186 .cse183)) (= c_~minc~0 (+ (select .cse187 ~B~0.offset) .cse184)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse188))))) (<= (+ .cse185 c_~mina~0) .cse3))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse192 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse189 (select .cse192 ~A~0.offset)) (.cse190 (select .cse192 (+ ~A~0.offset 4)))) (and (<= (+ .cse189 c_~minb~0) c_~minc~0) (= .cse189 c_~mina~0) (<= (+ .cse189 1) .cse190) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse191 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse191 ~B~0.offset) .cse189))))) (<= (+ c_~minb~0 .cse190) .cse3))))) (and .cse27 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse193 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse193 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse195 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse194 (select .cse195 ~A~0.offset))) (and (<= c_~mina~0 .cse194) (= .cse194 c_~minb~0) (= c_~minc~0 (* 2 .cse194)) (= c_~mina~0 (select .cse195 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse193 ~B~0.offset) .cse194))))))))))) (and .cse18 .cse172 .cse121 .cse22))) (and .cse105 .cse75 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse197 (select .cse196 (+ ~B~0.offset 4)))) (and (= (select .cse196 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse197 c_~mina~0) .cse3) (= c_~minc~0 (+ .cse197 c_~minb~0)) (<= .cse92 .cse197) (not (= ~B~0.offset .cse45))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (exists ((~A~0.base Int)) (let ((.cse200 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse199 (select .cse200 (+ ~A~0.offset 4))) (.cse198 (select .cse200 ~A~0.offset))) (and (= .cse198 c_~mina~0) (<= (+ .cse198 1) .cse199) (= c_~minc~0 (+ .cse198 c_~minb~0)) (<= (+ c_~minc~0 .cse199 1) (+ .cse3 .cse198)) (= c_~minc~0 (+ .cse198 .cse12)))))))) (and .cse18 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse202 (select .cse201 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse201 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse202 .cse12)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse202 c_~mina~0) .cse3) (not (= ~B~0.offset c_~C~0.offset)))))) .cse13) (and .cse167 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse203 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse204 (select .cse203 (+ ~B~0.offset 4)))) (and (= (select .cse203 ~B~0.offset) c_~minb~0) (<= (+ .cse204 c_~minb~0) .cse3) (<= .cse92 .cse204) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))) .cse182) (exists ((~A~0.offset Int) (~B~0.offset Int)) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse206 (select |c_#memory_int#4| ~A~0.base)) (.cse208 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse207 (select .cse208 (+ ~B~0.offset 4))) (.cse205 (select .cse206 ~A~0.offset))) (and (= c_~minc~0 (+ .cse205 c_~mina~0)) (= c_~minc~0 (+ .cse205 (select .cse206 (+ ~A~0.offset 4)))) (<= .cse5 (+ .cse207 .cse205)) (= c_~minc~0 (+ .cse205 c_~minb~0)) (= .cse207 .cse205) (= c_~minc~0 (+ (select .cse208 ~B~0.offset) .cse205)) (<= (+ c_~minc~0 .cse207) (+ .cse3 .cse205)))))) (not (= ~B~0.offset ~A~0.offset)))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse212 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse209 (select .cse212 ~A~0.offset)) (.cse210 (+ ~A~0.offset 4))) (and (<= (+ .cse209 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse210 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse211 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse211 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse211 ~B~0.offset) .cse209))))) (not (= ~B~0.offset ~A~0.offset)))) (<= c_~mina~0 .cse209) (= c_~mina~0 (select .cse212 .cse210)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse216 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse213 (select .cse216 ~A~0.offset)) (.cse215 (+ ~A~0.offset 4))) (and (<= (+ .cse213 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse213) (= .cse213 c_~minb~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse214 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse214 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse215 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse214 ~B~0.offset) .cse213))))) (= c_~mina~0 (select .cse216 .cse215)))))) (and .cse18 .cse217 .cse19) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse222 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse218 (select .cse222 ~A~0.offset)) (.cse219 (+ ~A~0.offset 4))) (and (<= (+ .cse218 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (let ((.cse221 (+ ~B~0.offset 4))) (and (not (= .cse219 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse220 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse220 .cse221) c_~minb~0) (= c_~minc~0 (+ (select .cse220 ~B~0.offset) .cse218))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse221))))) (<= c_~mina~0 .cse218) (= c_~mina~0 (select .cse222 .cse219))))))) .cse27) (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 (<= (+ .cse223 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ .cse223 c_~mina~0)) (<= .cse16 (+ .cse3 .cse223)) (<= c_~minc~0 (* 2 .cse223)) (= c_~minc~0 (+ .cse223 (select .cse224 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse223 .cse12)))))))) (and .cse168 .cse169 (let ((.cse241 (+ c_~minc~0 .cse226))) (let ((.cse230 (<= c_~mina~0 .cse241)) (.cse235 (= c_~mina~0 .cse241)) (.cse236 (<= (+ c_~minc~0 .cse226 1) .cse11))) (let ((.cse231 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse245 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse245 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse245 ~B~0.offset) .cse226) 0) (not (= c_~C~0.base ~B~0.base)))))) (.cse233 (or (and .cse75 .cse230 .cse27) (and .cse235 .cse236 .cse101))) (.cse227 (= (+ .cse226 .cse11) 0)) (.cse228 (<= c_~minb~0 (+ .cse3 .cse226))) (.cse229 (= (+ .cse226 c_~mina~0) 0))) (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse225 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse225 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse225 ~B~0.offset) .cse226) 0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45))))) .cse227 .cse228 .cse229) (and .cse75 .cse230 .cse231 .cse27) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse232 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse232 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse232 ~B~0.offset) .cse226) 0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse91 ~B~0.offset)) (not (= ~B~0.offset .cse45))))) .cse233) (and .cse227 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse234 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse234 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse234 ~B~0.offset) .cse226) 0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset .cse45))))) .cse228 .cse229) (and .cse231 .cse235 .cse236 .cse101) (and .cse167 .cse78 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse237 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse237 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse237 ~B~0.offset) .cse226) 0) (not (= .cse91 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset))))) .cse79) (and .cse167 .cse78 .cse79 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse238 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse238 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse238 ~B~0.offset) .cse226) 0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse91 ~B~0.offset)))))) (and .cse233 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse239 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse239 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse239 ~B~0.offset) .cse226) 0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset c_~C~0.offset)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse240 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse240 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse240 ~B~0.offset) .cse226) 0) (not (= .cse91 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45))))) .cse233) (and (= c_~minb~0 .cse241) (or (and .cse231 .cse233) (and .cse167 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse242 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse242 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse242 ~B~0.offset) .cse226) 0) (not (= .cse91 ~B~0.offset))))) .cse78 .cse79) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse243 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse243 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse243 ~B~0.offset) .cse226) 0) (not (= .cse91 ~B~0.offset)) (not (= ~B~0.offset .cse45))))) .cse233) (and .cse227 .cse228 .cse229 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse244 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse244 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse244 ~B~0.offset) .cse226) 0) (not (= ~B~0.offset .cse45))))))))))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse249 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse247 (+ ~A~0.offset 4)) (.cse246 (select .cse249 ~A~0.offset))) (and (<= (+ .cse246 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse247 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse248 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse248 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse248 ~B~0.offset) .cse246))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minb~0 (select .cse249 .cse247)) (<= c_~minb~0 .cse246))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse252 (+ ~A~0.offset 4)) (.cse250 (select .cse251 ~A~0.offset))) (and (<= (+ .cse250 c_~minb~0) c_~minc~0) (= c_~minb~0 (select .cse251 .cse252)) (= .cse250 c_~minb~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse253 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse252 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse250))))))))) (and .cse254 .cse217 .cse19) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse259 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse256 (+ ~A~0.offset 4)) (.cse255 (select .cse259 ~A~0.offset))) (and (<= (+ .cse255 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (let ((.cse258 (+ ~B~0.offset 4))) (and (not (= .cse256 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse257 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse257 .cse258) c_~minb~0) (= c_~minc~0 (+ (select .cse257 ~B~0.offset) .cse255))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse258))))) (= c_~minb~0 (select .cse259 .cse256)) (<= c_~minb~0 .cse255)))))) .cse78 .cse79) (and (<= .cse260 c_~minc~0) .cse254 .cse75 .cse27 .cse13) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse261 (select .cse262 ~B~0.offset))) (and (<= .cse5 (+ .cse261 .cse11)) (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse261 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= c_~minb~0 .cse261) (not (= ~B~0.offset .cse45)))))) .cse101) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse263 (select |c_#memory_int#4| ~B~0.base)) (.cse264 (+ ~B~0.offset 4))) (and (= (select .cse263 .cse264) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse265 (+ ~A~0.offset 4))) (and (not (= .cse265 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse267 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse266 (select .cse267 ~A~0.offset))) (and (<= (+ .cse266 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse266) (= c_~minc~0 (* 2 .cse266)) (= c_~mina~0 (select .cse267 .cse265)) (= c_~minc~0 (+ (select .cse263 ~B~0.offset) .cse266)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse264)))))))) (and .cse18 .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse268 (select |c_#memory_int#4| ~B~0.base)) (.cse269 (+ ~B~0.offset 4))) (and (= c_~minc~0 (+ (select .cse268 ~B~0.offset) .cse12)) (= (select .cse268 .cse269) c_~minb~0) (not (= c_~C~0.offset .cse269)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45))))) .cse22)) .cse27) (and .cse8 .cse13 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse270 (select .cse271 (+ ~B~0.offset 4)))) (and (= .cse270 .cse12) (= c_~minc~0 (+ (select .cse271 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse270 .cse12)) (<= (+ c_~minc~0 .cse270) .cse10) (not (= ~B~0.offset c_~C~0.offset))))))) (and .cse93 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse273 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse272 (select .cse273 (+ ~B~0.offset 4)))) (and (<= .cse5 (+ .cse272 c_~minb~0)) (= (select .cse273 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse272 .cse11) (<= (* .cse272 2) .cse3) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse272) (not (= ~B~0.offset .cse45))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse275 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse274 (select .cse275 ~A~0.offset))) (and (<= (+ .cse274 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse274) (= .cse274 c_~minb~0) (= c_~mina~0 (select .cse275 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse274 .cse12)))))) .cse27) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse276 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse276 (+ ~B~0.offset 4)) c_~minb~0) (= (select .cse276 ~B~0.offset) .cse11) (not (= ~B~0.offset .cse45))))) (= c_~minc~0 .cse277)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse278 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse278 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= (select .cse278 ~B~0.offset) .cse11)))) (not (= ~B~0.offset .cse45)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse279 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse279 (+ ~B~0.offset 4)) c_~minb~0) (= (select .cse279 ~B~0.offset) .cse11)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45))))) (<= c_~minb~0 .cse11) (or (and .cse75 (<= .cse280 c_~minc~0)) (and (<= .cse5 .cse280) (= c_~minc~0 .cse281))) .cse101) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse285 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse282 (select .cse285 ~A~0.offset))) (and (= .cse282 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse286 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse284 (select .cse286 (+ ~B~0.offset 4))) (.cse283 (+ ~A~0.offset 4))) (and (not (= .cse283 ~B~0.offset)) (<= (* .cse284 2) .cse3) (<= (+ .cse282 1) .cse284) (not (= ~A~0.base ~B~0.base)) (= .cse284 (select .cse285 .cse283)) (= c_~minc~0 (+ (select .cse286 ~B~0.offset) .cse282)))))) (= c_~minc~0 (+ .cse282 c_~minb~0)) (= c_~minc~0 (* 2 .cse282)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse288 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse287 (select .cse288 ~A~0.offset))) (and (<= c_~mina~0 .cse287) (= c_~minc~0 (+ .cse287 c_~minb~0)) (<= .cse5 (* 2 .cse287)) (= c_~mina~0 (select .cse288 (+ ~A~0.offset 4))) (<= (+ .cse287 c_~mina~0) .cse3) (= c_~minc~0 (+ .cse287 .cse12)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse290 (select |c_#memory_int#4| ~A~0.base)) (.cse292 (select |c_#memory_int#4| ~B~0.base)) (.cse293 (+ ~B~0.offset 4))) (let ((.cse291 (select .cse292 .cse293)) (.cse289 (select .cse290 ~A~0.offset))) (and (= c_~minc~0 (+ .cse289 c_~mina~0)) (= c_~minc~0 (+ .cse289 (select .cse290 (+ ~A~0.offset 4)))) (<= .cse5 (+ .cse291 .cse289)) (= c_~minc~0 (+ .cse289 c_~minb~0)) (= c_~minc~0 (* 2 .cse289)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse292 ~B~0.offset) .cse289)) (<= (+ c_~minc~0 .cse291) (+ .cse3 .cse289)) (not (= ~A~0.offset .cse293)))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse298 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse297 (+ ~A~0.offset 4)) (.cse295 (select |c_#memory_int#4| ~B~0.base)) (.cse294 (select .cse298 ~A~0.offset)) (.cse296 (+ ~B~0.offset 4))) (and (<= (+ .cse294 c_~minb~0) c_~minc~0) (= (select .cse295 .cse296) c_~minb~0) (not (= .cse297 ~B~0.offset)) (= c_~minb~0 (select .cse298 .cse297)) (= c_~minc~0 (* 2 .cse294)) (= c_~minc~0 (+ (select .cse295 ~B~0.offset) .cse294)) (not (= ~A~0.offset .cse296)))))) .cse78 .cse79) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse302 (+ ~A~0.offset 4)) (.cse303 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse299 (select .cse303 ~A~0.offset)) (.cse300 (select .cse303 .cse302))) (and (<= (+ .cse299 c_~minb~0) c_~minc~0) (= .cse299 c_~mina~0) (<= (+ .cse299 1) .cse300) (= .cse299 c_~minb~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse301 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse301 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse302 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse301 ~B~0.offset) .cse299))))) (<= (+ c_~minb~0 .cse300) .cse3))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse305 (select .cse306 (+ ~A~0.offset 4))) (.cse304 (select .cse306 ~A~0.offset))) (and (<= (+ .cse304 c_~minb~0) c_~minc~0) (= .cse304 c_~mina~0) (<= (+ .cse304 1) .cse305) (= .cse304 c_~minb~0) (<= (+ c_~minb~0 .cse305) .cse3) (= c_~minc~0 (+ .cse304 .cse12)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse311 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse308 (select .cse311 (+ ~A~0.offset 4))) (.cse307 (select .cse311 ~A~0.offset))) (and (= .cse307 c_~mina~0) (<= (+ .cse307 1) .cse308) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse310 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse309 (select .cse310 (+ ~B~0.offset 4)))) (and (<= (+ .cse309 .cse308) .cse3) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse309 .cse307)) (= c_~minc~0 (+ (select .cse310 ~B~0.offset) .cse307)))))) (= c_~minc~0 (+ .cse307 c_~minb~0)) (= c_~minc~0 (* 2 .cse307)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse313 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse312 (select .cse313 ~A~0.offset))) (and (<= (+ .cse312 c_~minb~0) c_~minc~0) (= .cse312 c_~mina~0) (<= .cse16 (+ .cse3 .cse312)) (= .cse312 c_~minb~0) (= c_~minc~0 (+ .cse312 (select .cse313 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse312 .cse12)))))))) (and .cse18 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse315 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse314 (select .cse315 (+ ~B~0.offset 4)))) (and (= .cse314 .cse12) (= c_~minc~0 (+ (select .cse315 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse314 .cse12)) (<= (+ .cse314 c_~mina~0) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))) .cse13) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse316 (select .cse318 ~A~0.offset)) (.cse317 (select .cse318 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse316 c_~mina~0) (<= (+ .cse316 1) .cse317) (<= .cse5 (+ .cse11 .cse316)) (= c_~minc~0 (+ .cse316 c_~minb~0)) (<= (+ .cse11 .cse317) .cse3))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse319 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse319 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse321 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse320 (select .cse321 ~A~0.offset))) (and (<= (+ .cse320 c_~minb~0) c_~minc~0) (= .cse320 c_~mina~0) (<= (+ (* 2 .cse320) 1) c_~minc~0) (<= .cse16 (+ .cse3 .cse320)) (= c_~minc~0 (+ .cse320 (select .cse321 (+ ~A~0.offset 4)))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse319 ~B~0.offset) .cse320))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse322 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse322 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse326 (select |c_#memory_int#4| ~A~0.base)) (.cse324 (+ ~A~0.offset 4))) (let ((.cse325 (select .cse326 .cse324)) (.cse323 (select .cse326 ~A~0.offset))) (and (<= (+ .cse323 c_~minb~0) c_~minc~0) (= .cse323 c_~mina~0) (not (= .cse324 ~B~0.offset)) (<= (+ .cse323 1) .cse325) (= c_~minc~0 (* 2 .cse323)) (<= (+ c_~minb~0 .cse325) .cse3) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse322 ~B~0.offset) .cse323))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse328 (select .cse332 (+ ~A~0.offset 4))) (.cse329 (select .cse332 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse330 (select |c_#memory_int#4| ~B~0.base)) (.cse331 (+ ~B~0.offset 4))) (let ((.cse327 (select .cse330 .cse331))) (and (<= (+ .cse327 .cse328) .cse3) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse327 .cse329)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse330 ~B~0.offset) .cse329)) (not (= ~A~0.offset .cse331)))))) (= .cse329 c_~mina~0) (<= (+ .cse329 1) .cse328) (= c_~minc~0 (+ .cse329 c_~minb~0)))))) (and .cse93 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse334 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse333 (select .cse334 (+ ~B~0.offset 4)))) (and (<= .cse5 (+ .cse333 c_~minb~0)) (= (select .cse334 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse333 .cse11) (<= (* .cse333 2) .cse3) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse333)))))) (and .cse18 .cse13 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse336 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse335 (select .cse336 (+ ~B~0.offset 4)))) (and (= .cse335 .cse12) (= c_~minc~0 (+ (select .cse336 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse335 .cse12)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse335 c_~mina~0) .cse3) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse337 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse338 (select .cse337 ~B~0.offset))) (and (= (select .cse337 (+ ~B~0.offset 4)) c_~minb~0) (<= (* .cse338 2) c_~minc~0) (= .cse338 .cse11) (<= (+ .cse338 c_~minb~0) .cse3) (= .cse338 c_~mina~0) (<= c_~minb~0 .cse338) (not (= ~B~0.offset .cse45)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse339 (select .cse341 ~A~0.offset))) (and (<= (+ .cse339 c_~minb~0) c_~minc~0) (= .cse339 c_~mina~0) (<= (+ (* 2 .cse339) 1) c_~minc~0) (<= .cse16 (+ .cse3 .cse339)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse340 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse340 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse340 ~B~0.offset) .cse339))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse339 (select .cse341 (+ ~A~0.offset 4)))))))) (and .cse8 .cse171 (or (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse342 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse342 ~B~0.offset) .cse12)) (= (select .cse342 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse343 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse343 ~B~0.offset) .cse12)) (= (select .cse343 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))) .cse121) (exists ((~B~0.offset Int)) (let ((.cse344 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse344)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse345 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse345 ~B~0.offset) .cse12)) (= (select .cse345 .cse344) c_~minb~0)))))))) .cse19) .cse346 (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse347 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse348 (select .cse347 ~B~0.offset))) (and (= (select .cse347 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse348 c_~mina~0)) (<= .cse5 (* .cse348 2)) (= .cse348 .cse11) (<= (+ .cse348 c_~minb~0) .cse3) (<= c_~minb~0 .cse348) (not (= ~B~0.offset .cse45)))))))) (and .cse75 (or .cse349 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse350 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse351 (select .cse350 ~B~0.offset))) (and (= (select .cse350 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse91 ~B~0.offset)) (<= (+ .cse351 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse351) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse352 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse353 (select .cse352 ~B~0.offset))) (and (= (select .cse352 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse353 c_~minb~0)) (not (= .cse91 ~B~0.offset)) (<= (+ .cse353 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse353) (not (= ~B~0.offset .cse45))))))) .cse27) (and .cse167 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse354 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse355 (select .cse354 ~B~0.offset))) (and (= (select .cse354 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse91 ~B~0.offset)) (<= (+ .cse355 c_~minb~0) c_~minc~0) (<= c_~minb~0 .cse355))))) .cse78 .cse79) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse356 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse356 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse359 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse358 (select .cse359 (+ ~A~0.offset 4))) (.cse357 (select .cse359 ~A~0.offset))) (and (<= (+ .cse357 c_~minb~0) c_~minc~0) (= .cse357 c_~mina~0) (<= (+ .cse357 1) .cse358) (<= (+ c_~minb~0 .cse358) .cse3) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse356 ~B~0.offset) .cse357))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse360 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse360 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse362 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse361 (select .cse362 ~A~0.offset))) (and (<= (+ .cse361 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse361 c_~mina~0)) (<= .cse16 (+ .cse3 .cse361)) (<= c_~minc~0 (* 2 .cse361)) (= c_~minc~0 (+ .cse361 (select .cse362 (+ ~A~0.offset 4)))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse360 ~B~0.offset) .cse361))))))))))) (and .cse18 .cse13 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse363 (select |c_#memory_int#4| ~B~0.base)) (.cse365 (+ ~B~0.offset 4))) (let ((.cse364 (select .cse363 .cse365))) (and (= c_~minc~0 (+ (select .cse363 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse364 .cse12)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse364 c_~mina~0) .cse3) (not (= c_~C~0.offset .cse365)))))) .cse22) (and (or (and .cse170 .cse18 .cse19) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse366 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse366 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse368 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse367 (select .cse368 ~A~0.offset))) (and (<= (+ .cse367 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse367) (= c_~mina~0 (select .cse368 (+ ~A~0.offset 4))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse366 ~B~0.offset) .cse367)))))))))))) .cse27) .cse369 (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse371 (select |c_#memory_int#4| ~A~0.base)) (.cse373 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse372 (select .cse373 (+ ~B~0.offset 4))) (.cse370 (select .cse371 ~A~0.offset))) (and (= .cse370 c_~mina~0) (<= (+ (* 2 .cse370) 1) c_~minc~0) (= c_~minc~0 (+ .cse370 (select .cse371 (+ ~A~0.offset 4)))) (<= .cse5 (+ .cse372 .cse370)) (= c_~minc~0 (+ .cse370 c_~minb~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse373 ~B~0.offset) .cse370)) (<= (+ c_~minc~0 .cse372) (+ .cse3 .cse370)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse377 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse374 (select .cse377 ~A~0.offset))) (and (= .cse374 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse378 (select |c_#memory_int#4| ~B~0.base)) (.cse379 (+ ~B~0.offset 4))) (let ((.cse376 (select .cse378 .cse379)) (.cse375 (+ ~A~0.offset 4))) (and (not (= .cse375 ~B~0.offset)) (<= (* .cse376 2) .cse3) (<= (+ .cse374 1) .cse376) (<= .cse5 (+ .cse376 .cse374)) (= .cse376 (select .cse377 .cse375)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse378 ~B~0.offset) .cse374)) (not (= ~A~0.offset .cse379)))))) (= c_~minc~0 (+ .cse374 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse382 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse381 (select .cse382 (+ ~A~0.offset 4))) (.cse380 (select .cse382 ~A~0.offset))) (and (= .cse380 c_~mina~0) (<= (+ .cse380 1) .cse381) (= c_~minc~0 (+ .cse380 c_~minb~0)) (<= (+ c_~minc~0 .cse381 1) (+ .cse3 .cse380)) (= c_~minc~0 (+ .cse380 .cse12)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse386 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse385 (+ ~A~0.offset 4)) (.cse384 (select |c_#memory_int#4| ~B~0.base)) (.cse383 (select .cse386 ~A~0.offset))) (and (<= (+ .cse383 c_~minb~0) c_~minc~0) (= (select .cse384 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse385 ~B~0.offset)) (= c_~minb~0 (select .cse386 .cse385)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse383)) (= c_~minc~0 (+ (select .cse384 ~B~0.offset) .cse383)))))) .cse78 .cse79) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse393 (select |c_#memory_int#4| ~A~0.base)) (.cse389 (+ ~A~0.offset 4))) (let ((.cse388 (select .cse393 .cse389)) (.cse390 (select .cse393 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#4| ~B~0.base)) (.cse392 (+ ~B~0.offset 4))) (let ((.cse387 (select .cse391 .cse392))) (and (<= (+ .cse387 .cse388) .cse3) (not (= .cse389 ~B~0.offset)) (<= .cse5 (+ .cse387 .cse390)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse391 ~B~0.offset) .cse390)) (not (= ~A~0.offset .cse392)))))) (= .cse390 c_~mina~0) (<= (+ .cse390 1) .cse388) (= c_~minc~0 (+ .cse390 c_~minb~0)) (= c_~minc~0 (* 2 .cse390)))))) (and (<= (+ c_~mina~0 1) .cse11) .cse105 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse394 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse394 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse394 ~B~0.offset) c_~mina~0)) (not (= c_~C~0.base ~B~0.base))))) (not (= .cse91 ~B~0.offset)) (not (= ~B~0.offset .cse45)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse395 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse395 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse395 ~B~0.offset) c_~mina~0)) (not (= .cse91 ~B~0.offset)) (not (= ~B~0.offset .cse45))))) .cse79) (exists ((~B~0.offset Int)) (and (not (= .cse91 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse396 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse396 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse396 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset .cse45))))) .cse101) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse397 (select .cse399 ~A~0.offset)) (.cse398 (select .cse399 (+ ~A~0.offset 4)))) (and (= .cse397 c_~mina~0) (<= (+ .cse397 1) .cse398) (<= .cse5 (+ .cse11 .cse397)) (= c_~minc~0 (+ .cse397 c_~minb~0)) (= c_~minc~0 (* 2 .cse397)) (<= (+ .cse11 .cse398) .cse3))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse403 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse400 (select .cse403 (+ ~B~0.offset 4)))) (and (<= (+ .cse400 c_~mina~0) .cse3) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse402 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse401 (select .cse402 ~A~0.offset))) (and (<= c_~mina~0 .cse401) (<= .cse5 (+ .cse400 .cse401)) (= c_~minc~0 (+ .cse401 c_~minb~0)) (= c_~mina~0 (select .cse402 (+ ~A~0.offset 4))) (= .cse400 .cse401) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse403 ~B~0.offset) .cse401)))))))))))) (and .cse18 .cse404 .cse13 .cse22) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse407 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse406 (select .cse407 ~A~0.offset))) (let ((.cse405 (* 2 .cse406))) (and (<= .cse152 (+ .cse3 .cse405)) (= .cse406 c_~mina~0) (<= (+ .cse405 1) c_~minc~0) (= c_~minc~0 (+ .cse406 (select .cse407 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse406 c_~minb~0)) (= c_~minc~0 (+ .cse406 .cse12))))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse413 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse409 (select .cse413 (+ ~A~0.offset 4))) (.cse410 (select .cse413 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse411 (select |c_#memory_int#4| ~B~0.base)) (.cse412 (+ ~B~0.offset 4))) (let ((.cse408 (select .cse411 .cse412))) (and (<= (+ .cse408 .cse409) .cse3) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse408 .cse410)) (= c_~minc~0 (+ (select .cse411 ~B~0.offset) .cse410)) (not (= ~A~0.offset .cse412)))))) (= .cse410 c_~mina~0) (<= (+ .cse410 1) .cse409) (= c_~minc~0 (+ .cse410 c_~minb~0)) (= c_~minc~0 (* 2 .cse410)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (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) (= c_~minc~0 (+ .cse414 c_~mina~0)) (<= .cse16 (+ .cse3 .cse414)) (<= c_~minc~0 (* 2 .cse414)) (= c_~minc~0 (+ .cse414 (select .cse415 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse414 .cse12)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse419 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse416 (select .cse419 ~A~0.offset))) (and (<= (+ .cse416 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse416 c_~mina~0)) (<= .cse16 (+ .cse3 .cse416)) (<= c_~minc~0 (* 2 .cse416)) (exists ((~B~0.offset Int)) (let ((.cse418 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse417 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse417 .cse418) c_~minb~0) (= c_~minc~0 (+ (select .cse417 ~B~0.offset) .cse416))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse418))))) (= c_~minc~0 (+ .cse416 (select .cse419 (+ ~A~0.offset 4)))))))) (and .cse18 .cse404 .cse13) (and (or (and .cse105 .cse75 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse420 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse421 (select .cse420 (+ ~B~0.offset 4)))) (and (= (select .cse420 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse421 c_~mina~0) .cse3) (<= .cse92 .cse421) (not (= ~B~0.offset c_~C~0.offset))))))) .cse346 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse422 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse423 (select .cse422 (+ ~B~0.offset 4)))) (and (= (select .cse422 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse423 .cse11) .cse3) (<= .cse92 .cse423) (not (= ~B~0.offset c_~C~0.offset)))))) .cse93 .cse424) .cse369 .cse425 .cse426 .cse427 .cse428) .cse429) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse431 (select |c_#memory_int#4| ~A~0.base)) (.cse433 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse432 (select .cse433 (+ ~B~0.offset 4))) (.cse430 (select .cse431 ~A~0.offset))) (and (= c_~minc~0 (+ .cse430 c_~mina~0)) (<= c_~minc~0 (* 2 .cse430)) (= c_~minc~0 (+ .cse430 (select .cse431 (+ ~A~0.offset 4)))) (<= .cse5 (+ .cse432 .cse430)) (= c_~minc~0 (+ .cse430 c_~minb~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse433 ~B~0.offset) .cse430)) (<= (+ c_~minc~0 .cse432) (+ .cse3 .cse430)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse435 (+ ~A~0.offset 4)) (.cse438 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse434 (select .cse438 ~A~0.offset)) (.cse437 (select .cse438 .cse435))) (and (<= (+ .cse434 c_~minb~0) c_~minc~0) (= .cse434 c_~mina~0) (exists ((~B~0.offset Int)) (and (not (= .cse435 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse436 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse436 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse436 ~B~0.offset) .cse434))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse434 1) .cse437) (<= (+ c_~minb~0 .cse437) .cse3))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (exists ((~A~0.base Int)) (let ((.cse441 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse439 (select .cse441 ~A~0.offset))) (and (<= c_~mina~0 .cse439) (<= .cse440 (+ .cse3 .cse439)) (= c_~minc~0 (+ .cse439 c_~minb~0)) (= c_~mina~0 (select .cse441 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse439 .cse12)))))))) (and (<= .cse92 .cse11) .cse135 .cse93 .cse429) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse443 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse442 (select .cse443 ~A~0.offset))) (and (<= (+ .cse442 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse442) (= c_~mina~0 (select .cse443 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse442 .cse12)))))) .cse27) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse445 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse444 (select .cse445 ~A~0.offset))) (and (<= (+ .cse444 c_~minb~0) c_~minc~0) (= .cse444 c_~mina~0) (<= (+ (* 2 .cse444) 1) c_~minc~0) (<= .cse16 (+ .cse3 .cse444)) (= c_~minc~0 (+ .cse444 (select .cse445 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse444 .cse12)))))) (not (= ~A~0.offset .cse45)))) (and .cse170 .cse171 .cse19 .cse446 .cse22) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse451 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse448 (select |c_#memory_int#4| ~A~0.base)) (.cse450 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse449 (select .cse450 .cse451)) (.cse447 (select .cse448 ~A~0.offset))) (and (= c_~minc~0 (+ .cse447 c_~mina~0)) (<= c_~minc~0 (* 2 .cse447)) (= c_~minc~0 (+ .cse447 (select .cse448 (+ ~A~0.offset 4)))) (<= .cse5 (+ .cse449 .cse447)) (= c_~minc~0 (+ .cse447 c_~minb~0)) (= c_~minc~0 (+ (select .cse450 ~B~0.offset) .cse447)) (<= (+ c_~minc~0 .cse449) (+ .cse3 .cse447)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse451))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse453 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse452 (select .cse453 ~A~0.offset))) (and (<= (+ .cse452 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (<= c_~mina~0 .cse452) (= c_~mina~0 (select .cse453 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse452 .cse12)))))) .cse27) (and .cse105 .cse75 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse454 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse455 (select .cse454 (+ ~B~0.offset 4)))) (and (= (select .cse454 ~B~0.offset) c_~minb~0) (<= (+ .cse455 c_~mina~0) .cse3) (= c_~minc~0 (+ .cse455 c_~minb~0)) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse455) (not (= ~B~0.offset .cse45))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse458 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse456 (select |c_#memory_int#4| ~B~0.base)) (.cse457 (select .cse458 ~A~0.offset))) (and (= (select .cse456 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse457 c_~mina~0)) (<= .cse16 (+ .cse3 .cse457)) (= .cse457 c_~minb~0) (= c_~minc~0 (+ .cse457 (select .cse458 (+ ~A~0.offset 4)))) (= c_~minc~0 (* 2 .cse457)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse456 ~B~0.offset) .cse457)))))) (and .cse349 .cse75 .cse27) (and .cse105 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse459 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse460 (select .cse459 (+ ~B~0.offset 4)))) (and (= (select .cse459 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse460 c_~mina~0) .cse3) (<= .cse92 .cse460) (not (= ~B~0.offset .cse45)))))) .cse75) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse464 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse461 (select .cse464 ~A~0.offset)) (.cse462 (select .cse464 (+ ~A~0.offset 4)))) (and (<= (+ .cse461 c_~minb~0) c_~minc~0) (= .cse461 c_~mina~0) (<= (+ .cse461 1) .cse462) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse463 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse463 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse463 ~B~0.offset) .cse461))))) (= c_~minc~0 (* 2 .cse461)) (<= (+ c_~minb~0 .cse462) .cse3))))) (and .cse18 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse465 (select |c_#memory_int#4| ~B~0.base)) (.cse467 (+ ~B~0.offset 4))) (let ((.cse466 (select .cse465 .cse467))) (and (= c_~minc~0 (+ (select .cse465 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse466 .cse12)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse466 c_~mina~0) .cse3) (not (= c_~C~0.offset .cse467)) (not (= ~B~0.offset c_~C~0.offset)))))) .cse13) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse472 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse470 (select .cse472 (+ ~B~0.offset 4)))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse471 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse468 (+ ~A~0.offset 4)) (.cse469 (select .cse471 ~A~0.offset))) (and (not (= .cse468 ~B~0.offset)) (<= c_~mina~0 .cse469) (<= .cse5 (+ .cse470 .cse469)) (= c_~minc~0 (+ .cse469 c_~minb~0)) (= c_~mina~0 (select .cse471 .cse468)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse472 ~B~0.offset) .cse469)))))))) (<= (+ .cse470 c_~mina~0) .cse3))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse474 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse473 (select .cse474 ~A~0.offset))) (and (<= c_~mina~0 .cse473) (<= .cse440 (+ .cse3 .cse473)) (= c_~minc~0 (+ .cse473 c_~minb~0)) (= c_~mina~0 (select .cse474 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse473 .cse12)))))))) (and (<= (+ .cse475 1) c_~minc~0) .cse121 (let ((.cse476 (+ .cse3 c_~minb~0))) (or (and .cse105 .cse75 (<= (+ c_~minc~0 c_~mina~0) .cse476)) (and .cse93 .cse424 (<= .cse9 .cse476))))) (and .cse30 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse478 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse477 (select .cse478 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse477) (<= .cse5 (+ .cse11 .cse477)) (= c_~minc~0 (+ .cse477 c_~minb~0)) (= c_~mina~0 (select .cse478 (+ ~A~0.offset 4)))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse480 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse479 (select .cse480 ~B~0.offset))) (and (<= .cse5 (+ .cse479 .cse11)) (= (select .cse480 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse479 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= c_~minb~0 .cse479))))) .cse101) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse485 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse483 (select .cse485 (+ ~B~0.offset 4)))) (and (exists ((~A~0.offset Int)) (let ((.cse481 (+ ~A~0.offset 4))) (and (not (= .cse481 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse484 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse482 (select .cse484 ~A~0.offset))) (and (<= c_~mina~0 .cse482) (<= .cse5 (+ .cse483 .cse482)) (= c_~minc~0 (+ .cse482 c_~minb~0)) (= c_~mina~0 (select .cse484 .cse481)) (= .cse483 .cse482) (= c_~minc~0 (+ (select .cse485 ~B~0.offset) .cse482)))))) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse483 c_~mina~0) .cse3))))) (and .cse93 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse486 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse487 (select .cse486 (+ ~B~0.offset 4)))) (and (= (select .cse486 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse487 .cse11) .cse3) (<= .cse92 .cse487) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45)))))) .cse424) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse488 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse489 (select .cse488 (+ ~B~0.offset 4)))) (and (= (select .cse488 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse489 .cse11) .cse3) (= c_~minc~0 (+ .cse489 c_~minb~0)) (<= .cse92 .cse489) (not (= ~B~0.offset .cse45)))))) .cse93 .cse424) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse491 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse490 (select .cse491 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse490) (<= .cse5 (+ .cse11 .cse490)) (= c_~minc~0 (+ .cse490 c_~minb~0)) (= c_~minc~0 (* 2 .cse490)) (= c_~mina~0 (select .cse491 (+ ~A~0.offset 4))))))) .cse30) (and (or (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse493 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse492 (select .cse493 ~A~0.offset))) (and (<= (+ .cse492 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse492) (= c_~mina~0 (select .cse493 (+ ~A~0.offset 4))))))) .cse27) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse496 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse494 (select .cse496 ~A~0.offset)) (.cse495 (select .cse496 (+ ~A~0.offset 4)))) (and (<= (+ .cse494 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse494 c_~mina~0) (<= (+ .cse494 1) .cse495) (<= (+ c_~minb~0 .cse495) .cse3))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse497 (select .cse498 ~A~0.offset))) (and (<= (+ .cse497 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse497) (= c_~mina~0 (select .cse498 (+ ~A~0.offset 4))))))) .cse27) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse500 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse499 (select .cse500 ~A~0.offset))) (and (<= (+ .cse499 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (<= c_~mina~0 .cse499) (= c_~mina~0 (select .cse500 (+ ~A~0.offset 4))))))) .cse27) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse502 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse501 (select .cse502 ~A~0.offset))) (and (<= (+ .cse501 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse501) (= c_~minc~0 (* 2 .cse501)) (= c_~mina~0 (select .cse502 (+ ~A~0.offset 4))))))) .cse27) (and .cse8 .cse171 .cse19) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse505 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse503 (select .cse505 ~A~0.offset)) (.cse504 (select .cse505 (+ ~A~0.offset 4)))) (and (<= (+ .cse503 c_~minb~0) c_~minc~0) (= .cse503 c_~mina~0) (<= (+ .cse503 1) .cse504) (= c_~minc~0 (* 2 .cse503)) (<= (+ c_~minb~0 .cse504) .cse3))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (exists ((~A~0.base Int)) (let ((.cse508 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse506 (select .cse508 ~A~0.offset)) (.cse507 (select .cse508 (+ ~A~0.offset 4)))) (and (<= (+ .cse506 c_~minb~0) c_~minc~0) (= .cse506 c_~mina~0) (<= (+ .cse506 1) .cse507) (<= (+ c_~minb~0 .cse507) .cse3))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse511 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse509 (select .cse511 ~A~0.offset)) (.cse510 (select .cse511 (+ ~A~0.offset 4)))) (and (<= (+ .cse509 c_~minb~0) c_~minc~0) (= .cse509 c_~mina~0) (<= (+ .cse509 1) .cse510) (<= (+ c_~minb~0 .cse510) .cse3)))))))) .cse167) (and .cse18 .cse13 .cse102 .cse22) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse515 (select |c_#memory_int#4| ~B~0.base))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse514 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse513 (+ ~A~0.offset 4)) (.cse512 (select .cse514 ~A~0.offset))) (and (<= (+ .cse512 c_~minb~0) c_~minc~0) (not (= .cse513 ~B~0.offset)) (<= c_~mina~0 .cse512) (= c_~minc~0 (* 2 .cse512)) (= c_~mina~0 (select .cse514 .cse513)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse515 ~B~0.offset) .cse512)))))))) (= (select .cse515 (+ ~B~0.offset 4)) c_~minb~0)))) (and .cse18 .cse70 .cse19 .cse22)) .cse27) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (+ ~A~0.offset 4)) (.cse521 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse516 (select .cse521 ~A~0.offset)) (.cse520 (select .cse521 .cse517))) (and (<= (+ .cse516 c_~minb~0) c_~minc~0) (= .cse516 c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse519 (+ ~B~0.offset 4))) (and (not (= .cse517 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse518 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse518 .cse519) c_~minb~0) (= c_~minc~0 (+ (select .cse518 ~B~0.offset) .cse516))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse519))))) (<= (+ .cse516 1) .cse520) (<= (+ c_~minb~0 .cse520) .cse3))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse522 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse522 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse524 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse523 (select .cse524 ~A~0.offset))) (and (<= (+ .cse523 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse523 c_~mina~0)) (<= .cse16 (+ .cse3 .cse523)) (= c_~minc~0 (+ .cse523 (select .cse524 (+ ~A~0.offset 4)))) (= c_~minc~0 (* 2 .cse523)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse522 ~B~0.offset) .cse523))))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse526 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse525 (select .cse526 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse45)) (<= c_~mina~0 .cse525) (<= .cse5 (+ .cse11 .cse525)) (= c_~minc~0 (+ .cse525 c_~minb~0)) (= c_~mina~0 (select .cse526 (+ ~A~0.offset 4))))))) .cse30) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse527 (select |c_#memory_int#4| ~B~0.base)) (.cse528 (+ ~B~0.offset 4))) (and (= (select .cse527 .cse528) c_~minb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse531 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse530 (select .cse531 (+ ~A~0.offset 4))) (.cse529 (select .cse531 ~A~0.offset))) (and (<= (+ .cse529 c_~minb~0) c_~minc~0) (= .cse529 c_~mina~0) (<= (+ .cse529 1) .cse530) (= c_~minc~0 (* 2 .cse529)) (<= (+ c_~minb~0 .cse530) .cse3) (= c_~minc~0 (+ (select .cse527 ~B~0.offset) .cse529)) (not (= ~A~0.offset .cse528)))))) (not (= ~A~0.base ~B~0.base))))))) .cse425 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse537 (select |c_#memory_int#4| ~A~0.base)) (.cse535 (+ ~A~0.offset 4))) (let ((.cse533 (select .cse537 .cse535)) (.cse532 (select .cse537 ~A~0.offset))) (and (= .cse532 c_~mina~0) (<= (+ .cse532 1) .cse533) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse536 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse534 (select .cse536 (+ ~B~0.offset 4)))) (and (<= (+ .cse534 .cse533) .cse3) (not (= .cse535 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse534 .cse532)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse536 ~B~0.offset) .cse532)))))) (= c_~minc~0 (+ .cse532 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse540 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse539 (select .cse540 (+ ~A~0.offset 4))) (.cse538 (select .cse540 ~A~0.offset))) (and (<= (+ .cse538 c_~minb~0) c_~minc~0) (= .cse538 c_~mina~0) (<= (+ .cse538 1) .cse539) (<= (+ c_~minb~0 .cse539) .cse3) (= c_~minc~0 (+ .cse538 .cse12)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse544 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse541 (select .cse544 ~A~0.offset))) (and (= .cse541 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse545 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse543 (select .cse545 (+ ~B~0.offset 4))) (.cse542 (+ ~A~0.offset 4))) (and (not (= .cse542 ~B~0.offset)) (<= (* .cse543 2) .cse3) (<= (+ .cse541 1) .cse543) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse543 .cse541)) (= .cse543 (select .cse544 .cse542)) (= c_~minc~0 (+ (select .cse545 ~B~0.offset) .cse541)))))) (= c_~minc~0 (+ .cse541 c_~minb~0)))))) (and .cse167 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse546 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse548 (select .cse546 (+ ~B~0.offset 4)))) (let ((.cse547 (+ .cse548 c_~minb~0))) (and (= (select .cse546 ~B~0.offset) c_~minb~0) (<= .cse547 .cse3) (= c_~minc~0 .cse547) (<= .cse92 .cse548) (not (= ~B~0.offset .cse45))))))) .cse182) .cse426 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse553 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse550 (select .cse553 (+ ~A~0.offset 4))) (.cse549 (select .cse553 ~A~0.offset))) (and (= .cse549 c_~mina~0) (<= (+ .cse549 1) .cse550) (= c_~minc~0 (+ .cse549 c_~minb~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse552 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse551 (select .cse552 (+ ~B~0.offset 4)))) (and (<= (+ .cse551 .cse550) .cse3) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse551 .cse549)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse552 ~B~0.offset) .cse549)))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse557 (select |c_#memory_int#4| ~B~0.base)) (.cse558 (+ ~B~0.offset 4))) (let ((.cse554 (select .cse557 .cse558))) (and (<= (+ .cse554 c_~mina~0) .cse3) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse556 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse555 (select .cse556 ~A~0.offset))) (and (<= c_~mina~0 .cse555) (<= .cse5 (+ .cse554 .cse555)) (= c_~minc~0 (+ .cse555 c_~minb~0)) (= c_~minc~0 (* 2 .cse555)) (= c_~mina~0 (select .cse556 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse557 ~B~0.offset) .cse555)) (not (= ~A~0.offset .cse558)))))) (not (= ~A~0.base ~B~0.base)))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse559 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse560 (select .cse559 (+ ~B~0.offset 4)))) (and (= (select .cse559 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse560 .cse11) .cse3) (<= .cse92 .cse560) (not (= ~B~0.offset .cse45)))))) .cse93 .cse424) .cse427 .cse428 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse563 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse561 (select .cse563 ~A~0.offset)) (.cse562 (select .cse563 (+ ~A~0.offset 4)))) (and (= .cse561 c_~mina~0) (<= (+ .cse561 1) .cse562) (<= .cse5 (+ .cse11 .cse561)) (= c_~minc~0 (+ .cse561 c_~minb~0)) (<= (+ .cse11 .cse562) .cse3))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse567 (select |c_#memory_int#4| ~B~0.base)) (.cse568 (+ ~B~0.offset 4))) (let ((.cse564 (select .cse567 .cse568))) (and (<= (+ .cse564 c_~mina~0) .cse3) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse566 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse565 (select .cse566 ~A~0.offset))) (and (<= c_~mina~0 .cse565) (<= .cse5 (+ .cse564 .cse565)) (= c_~minc~0 (+ .cse565 c_~minb~0)) (= c_~mina~0 (select .cse566 (+ ~A~0.offset 4))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse567 ~B~0.offset) .cse565)) (not (= ~A~0.offset .cse568)))))))))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse569 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse569 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse572 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse571 (+ ~A~0.offset 4)) (.cse570 (select .cse572 ~A~0.offset))) (and (<= (+ .cse570 c_~minb~0) c_~minc~0) (not (= .cse571 ~B~0.offset)) (= c_~minb~0 (select .cse572 .cse571)) (= c_~minc~0 (+ (select .cse569 ~B~0.offset) .cse570)) (<= c_~minb~0 .cse570)))))))))) (and .cse254 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse573 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse573 ~B~0.offset) .cse12)) (= (select .cse573 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset .cse45))))) .cse19)) .cse78 .cse79) (and .cse167 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse574 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse575 (select .cse574 ~B~0.offset))) (and (= (select .cse574 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse575 c_~minb~0)) (not (= .cse91 ~B~0.offset)) (<= c_~minb~0 .cse575) (not (= ~B~0.offset .cse45)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse576 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse577 (select .cse576 ~B~0.offset))) (and (= (select .cse576 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse91 ~B~0.offset)) (<= (+ .cse577 c_~minb~0) c_~minc~0) (<= c_~minb~0 .cse577) (not (= ~B~0.offset .cse45)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse578 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse579 (select .cse578 ~B~0.offset))) (and (= (select .cse578 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse91 ~B~0.offset)) (<= (+ .cse579 c_~minb~0) c_~minc~0) (<= c_~minb~0 .cse579) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse45))))))) .cse78 .cse79) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse584 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse581 (select .cse584 (+ ~A~0.offset 4))) (.cse580 (select .cse584 ~A~0.offset))) (and (= .cse580 c_~mina~0) (<= (+ .cse580 1) .cse581) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse583 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse582 (select .cse583 (+ ~B~0.offset 4)))) (and (<= (+ .cse582 .cse581) .cse3) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse582 .cse580)) (= c_~minc~0 (+ (select .cse583 ~B~0.offset) .cse580)))))) (= c_~minc~0 (+ .cse580 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse588 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse587 (select .cse588 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse589 (select |c_#memory_int#4| ~B~0.base)) (.cse590 (+ ~B~0.offset 4))) (let ((.cse586 (select .cse589 .cse590)) (.cse585 (+ ~A~0.offset 4))) (and (not (= .cse585 ~B~0.offset)) (<= (* .cse586 2) .cse3) (<= (+ .cse587 1) .cse586) (= .cse586 (select .cse588 .cse585)) (= c_~minc~0 (+ (select .cse589 ~B~0.offset) .cse587)) (not (= ~A~0.offset .cse590)))))) (= .cse587 c_~mina~0) (= c_~minc~0 (+ .cse587 c_~minb~0)) (= c_~minc~0 (* 2 .cse587)))))) (and .cse27 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse591 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse591 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse593 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse592 (select .cse593 ~A~0.offset))) (and (<= (+ .cse592 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse592) (= c_~mina~0 (select .cse593 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse591 ~B~0.offset) .cse592)))))) (not (= ~A~0.base ~B~0.base))))))) (and .cse18 .cse172 .cse19))) (and .cse171 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse594 (select |c_#memory_int#4| ~B~0.base)) (.cse595 (+ ~B~0.offset 4))) (and (= c_~minc~0 (+ (select .cse594 ~B~0.offset) .cse12)) (= (select .cse594 .cse595) c_~minb~0) (not (= c_~C~0.offset .cse595)) (not (= ~B~0.offset c_~C~0.offset))))) .cse19 .cse446 .cse22) (and .cse8 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse596 (select |c_#memory_int#4| ~B~0.base)) (.cse598 (+ ~B~0.offset 4))) (let ((.cse597 (select .cse596 .cse598))) (and (= c_~minc~0 (+ (select .cse596 ~B~0.offset) .cse12)) (<= .cse5 (+ .cse597 .cse12)) (not (= c_~C~0.offset .cse598)) (<= (+ c_~minc~0 .cse597) .cse10) (not (= ~B~0.offset c_~C~0.offset)))))) .cse13) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse599 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse600 (select .cse599 (+ ~B~0.offset 4)))) (and (= (select .cse599 ~B~0.offset) c_~minb~0) (<= (+ .cse600 .cse11) .cse3) (= c_~minc~0 (+ .cse600 c_~minb~0)) (not (= .cse91 ~B~0.offset)) (<= .cse92 .cse600) (not (= ~B~0.offset .cse45)))))) .cse93 .cse424) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse601 (select |c_#memory_int#4| ~B~0.base)) (.cse602 (+ ~B~0.offset 4))) (and (= (select .cse601 .cse602) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse603 (+ ~A~0.offset 4))) (and (not (= .cse603 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse606 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse605 (select .cse606 .cse603)) (.cse604 (select .cse606 ~A~0.offset))) (and (<= (+ .cse604 c_~minb~0) c_~minc~0) (= .cse604 c_~mina~0) (<= (+ .cse604 1) .cse605) (= c_~minc~0 (* 2 .cse604)) (<= (+ c_~minb~0 .cse605) .cse3) (= c_~minc~0 (+ (select .cse601 ~B~0.offset) .cse604)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse602)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse609 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse608 (select .cse609 (+ ~A~0.offset 4))) (.cse607 (select .cse609 ~A~0.offset))) (and (= .cse607 c_~mina~0) (<= (+ .cse607 1) .cse608) (= c_~minc~0 (+ .cse607 c_~minb~0)) (<= (+ .cse607 .cse608) .cse3) (<= .cse5 (* 2 .cse607)) (= c_~minc~0 (+ .cse607 .cse12)))))))) (and .cse18 .cse13 .cse83) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse613 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse610 (select .cse613 ~A~0.offset))) (and (= .cse610 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse614 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse612 (select .cse614 (+ ~B~0.offset 4))) (.cse611 (+ ~A~0.offset 4))) (and (not (= .cse611 ~B~0.offset)) (<= (* .cse612 2) .cse3) (<= (+ .cse610 1) .cse612) (not (= ~A~0.base ~B~0.base)) (<= .cse5 (+ .cse612 .cse610)) (= .cse612 (select .cse613 .cse611)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse614 ~B~0.offset) .cse610)))))) (= c_~minc~0 (+ .cse610 c_~minb~0)))))))))))) is different from true [2024-02-19 15:21:18,473 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse96 (+ c_~C~0.offset 8)) (.cse640 (select |c_#memory_int#4| c_~C~0.base))) (let ((.cse18 (select .cse640 c_~C~0.offset)) (.cse1 (+ c_~C~0.offset 4)) (.cse3 (select .cse640 .cse96))) (let ((.cse4 (+ c_~minc~0 1)) (.cse271 (+ .cse3 c_~minb~0)) (.cse614 (+ c_~mina~0 c_~minb~0)) (.cse11 (select .cse640 .cse1)) (.cse237 (+ c_~mina~0 .cse18))) (let ((.cse440 (= c_~minc~0 .cse237)) (.cse612 (* 2 .cse18)) (.cse611 (+ c_~minb~0 .cse18)) (.cse22 (+ c_~minc~0 c_~minb~0)) (.cse17 (+ .cse11 .cse18)) (.cse110 (<= .cse614 c_~minc~0)) (.cse80 (= .cse3 c_~mina~0)) (.cse84 (= c_~mina~0 c_~minb~0)) (.cse275 (+ .cse3 c_~mina~0)) (.cse469 (* 2 c_~minb~0)) (.cse274 (* 2 .cse3)) (.cse97 (+ c_~minb~0 1)) (.cse98 (= c_~minc~0 .cse614)) (.cse418 (<= .cse4 .cse271)) (.cse241 (div (* c_~minc~0 (- 1)) 2)) (.cse126 (= c_~minb~0 .cse18)) (.cse127 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse639 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse639 ~B~0.offset) .cse18)) (= (select .cse639 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))))) (let ((.cse215 (or (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse636 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse636 ~B~0.offset) .cse18)) (= (select .cse636 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base))))) (not (= ~B~0.offset .cse1)))) (and .cse126 .cse127) (exists ((~B~0.offset Int)) (let ((.cse637 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse637)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse638 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse638 ~B~0.offset) .cse18)) (= (select .cse638 .cse637) c_~minb~0)))) (not (= ~B~0.offset .cse1))))))) (.cse166 (= (mod c_~minc~0 2) 0)) (.cse167 (<= (+ .cse241 c_~minb~0) 0)) (.cse150 (+ (* c_~minc~0 2) 1)) (.cse398 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse634 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse635 (select .cse634 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse634 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse635 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse635 c_~mina~0) .cse11)))))) (.cse340 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse632 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse633 (select .cse632 (+ ~B~0.offset 4)))) (and (= (select .cse632 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse633 .cse3) .cse11) (<= .cse97 .cse633))))) .cse98 .cse418)) (.cse363 (and .cse98 .cse418 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse630 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse631 (select .cse630 (+ ~B~0.offset 4)))) (and (= (select .cse630 ~B~0.offset) c_~minb~0) (<= (+ .cse631 .cse3) .cse11) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse631) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))))) (.cse0 (<= .cse274 .cse11)) (.cse423 (= c_~minc~0 .cse469)) (.cse168 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse629 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse629 ~B~0.offset) .cse18)) (= (select .cse629 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset c_~C~0.offset)))))) (.cse343 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse627 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse628 (select .cse627 ~B~0.offset))) (and (= (select .cse627 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse96 ~B~0.offset)) (<= (+ .cse628 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse628) (not (= ~B~0.offset .cse1))))))) (.cse434 (+ c_~minc~0 c_~mina~0 1)) (.cse16 (+ c_~minc~0 .cse3)) (.cse106 (<= .cse271 .cse11)) (.cse107 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse624 (select |c_#memory_int#4| ~B~0.base)) (.cse626 (+ ~B~0.offset 4))) (let ((.cse625 (select .cse624 .cse626))) (and (= c_~minc~0 (+ (select .cse624 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse625 .cse18)) (<= (+ .cse625 c_~mina~0) .cse11) (not (= c_~C~0.offset .cse626)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))))) (.cse75 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse623 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse623 ~B~0.offset) .cse18)) (= (select .cse623 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))) (.cse36 (<= .cse275 .cse11)) (.cse419 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse621 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse622 (select .cse621 (+ ~B~0.offset 4)))) (and (= (select .cse621 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse622 .cse3) .cse11) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse622) (not (= ~B~0.offset .cse1)))))) .cse98 .cse418)) (.cse180 (or (and (<= .cse469 c_~minc~0) .cse84) (and .cse98 (<= .cse4 .cse469)))) (.cse420 (and .cse110 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse619 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse620 (select .cse619 (+ ~B~0.offset 4)))) (and (= (select .cse619 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse620 c_~mina~0) .cse11) (<= .cse97 .cse620))))) .cse80)) (.cse421 (and .cse110 .cse80 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse617 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse618 (select .cse617 (+ ~B~0.offset 4)))) (and (= (select .cse617 ~B~0.offset) c_~minb~0) (<= (+ .cse618 c_~mina~0) .cse11) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse618) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))))) (.cse422 (and .cse110 .cse80 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse615 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse616 (select .cse615 (+ ~B~0.offset 4)))) (and (= (select .cse615 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse616 c_~mina~0) .cse11) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse616) (not (= ~B~0.offset .cse1)))))))) (.cse231 (<= c_~minb~0 .cse18)) (.cse165 (= .cse3 c_~minb~0)) (.cse83 (<= .cse469 .cse11)) (.cse33 (<= .cse614 .cse11)) (.cse170 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse613 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse613 ~B~0.offset) .cse18)) (= (select .cse613 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)))))) (.cse169 (<= .cse22 .cse17)) (.cse25 (<= .cse611 c_~minc~0)) (.cse28 (= c_~minc~0 .cse612)) (.cse15 (or (and (<= c_~minc~0 .cse612) .cse440) (and (= c_~mina~0 .cse18) (<= (+ .cse612 1) c_~minc~0)))) (.cse24 (<= c_~mina~0 .cse18)) (.cse19 (= c_~minc~0 .cse611)) (.cse88 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse609 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse610 (select .cse609 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse609 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse610 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse610 c_~mina~0) .cse11) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))))) (or (and .cse0 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse2 (select .cse5 ~A~0.offset))) (and (= .cse2 c_~mina~0) (<= (+ .cse2 1) .cse3) (<= .cse4 (+ .cse3 .cse2)) (= c_~minc~0 (+ .cse2 c_~minb~0)) (= .cse3 (select .cse5 (+ ~A~0.offset 4))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse7 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse6 (select .cse7 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse6 c_~mina~0) (<= (+ .cse6 1) .cse3) (<= .cse4 (+ .cse3 .cse6)) (= c_~minc~0 (+ .cse6 c_~minb~0)) (= .cse3 (select .cse7 (+ ~A~0.offset 4))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse14 (select |c_#memory_int#4| ~A~0.base)) (.cse12 (+ ~A~0.offset 4))) (let ((.cse9 (select .cse14 .cse12)) (.cse8 (select .cse14 ~A~0.offset))) (and (= .cse8 c_~mina~0) (<= (+ .cse8 1) .cse9) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse13 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse10 (select .cse13 (+ ~B~0.offset 4)))) (and (<= (+ .cse10 .cse9) .cse11) (not (= .cse12 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse10 .cse8)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse13 ~B~0.offset) .cse8)))))) (= c_~minc~0 (+ .cse8 c_~minb~0)) (= c_~minc~0 (* 2 .cse8)))))) (and .cse15 (<= .cse16 .cse17) (<= .cse4 (+ .cse3 .cse18)) .cse19) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse20 (select .cse23 ~A~0.offset))) (and (= .cse20 c_~mina~0) (<= (+ (* 2 .cse20) 1) c_~minc~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse21 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse21 ~B~0.offset) .cse20))))) (<= .cse22 (+ .cse11 .cse20)) (= .cse20 c_~minb~0) (= c_~minc~0 (+ .cse20 (select .cse23 (+ ~A~0.offset 4)))))))) (and (or (and .cse24 .cse25 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse26 (select |c_#memory_int#4| ~B~0.base)) (.cse27 (+ ~B~0.offset 4))) (and (= c_~minc~0 (+ (select .cse26 ~B~0.offset) .cse18)) (= (select .cse26 .cse27) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= c_~C~0.offset .cse27))))) .cse28) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse29 (select |c_#memory_int#4| ~B~0.base)) (.cse30 (+ ~B~0.offset 4))) (and (= (select .cse29 .cse30) c_~minb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse32 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse31 (select .cse32 ~A~0.offset))) (and (<= (+ .cse31 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse31) (= c_~minc~0 (* 2 .cse31)) (= c_~mina~0 (select .cse32 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse29 ~B~0.offset) .cse31)) (not (= ~A~0.offset .cse30)))))) (not (= ~A~0.base ~B~0.base)))))))) .cse33) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse35 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse34 (select .cse35 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse34) (<= .cse4 (+ .cse3 .cse34)) (= c_~minc~0 (+ .cse34 c_~minb~0)) (= c_~mina~0 (select .cse35 (+ ~A~0.offset 4))))))) .cse36) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse37 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse41 (select |c_#memory_int#4| ~A~0.base)) (.cse39 (+ ~A~0.offset 4))) (let ((.cse40 (select .cse41 .cse39)) (.cse38 (select .cse41 ~A~0.offset))) (and (<= (+ .cse38 c_~minb~0) c_~minc~0) (= .cse38 c_~mina~0) (not (= .cse39 ~B~0.offset)) (<= (+ .cse38 1) .cse40) (<= (+ c_~minb~0 .cse40) .cse11) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse38))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse45 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse42 (select .cse45 ~A~0.offset))) (and (<= (+ .cse42 c_~minb~0) c_~minc~0) (= .cse42 c_~mina~0) (<= (+ (* 2 .cse42) 1) c_~minc~0) (<= .cse22 (+ .cse11 .cse42)) (exists ((~B~0.offset Int)) (let ((.cse44 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse43 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse43 .cse44) c_~minb~0) (= c_~minc~0 (+ (select .cse43 ~B~0.offset) .cse42))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse44))))) (= c_~minc~0 (+ .cse42 (select .cse45 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse50 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse47 (select |c_#memory_int#4| ~A~0.base)) (.cse49 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse48 (select .cse49 .cse50)) (.cse46 (select .cse47 ~A~0.offset))) (and (= .cse46 c_~mina~0) (<= (+ (* 2 .cse46) 1) c_~minc~0) (= c_~minc~0 (+ .cse46 (select .cse47 (+ ~A~0.offset 4)))) (<= .cse4 (+ .cse48 .cse46)) (= c_~minc~0 (+ .cse46 c_~minb~0)) (= c_~minc~0 (+ (select .cse49 ~B~0.offset) .cse46)) (<= (+ c_~minc~0 .cse48) (+ .cse11 .cse46)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse50))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse53 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse52 (select .cse53 (+ ~A~0.offset 4))) (.cse51 (select .cse53 ~A~0.offset))) (and (<= (+ .cse51 c_~minb~0) c_~minc~0) (= .cse51 c_~mina~0) (<= (+ .cse51 1) .cse52) (<= (+ c_~minb~0 .cse52) .cse11) (= c_~minc~0 (+ .cse51 .cse18)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse58 (select |c_#memory_int#4| ~B~0.base)) (.cse59 (+ ~B~0.offset 4))) (let ((.cse56 (select .cse58 .cse59))) (and (exists ((~A~0.offset Int)) (let ((.cse54 (+ ~A~0.offset 4))) (and (not (= .cse54 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse57 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse55 (select .cse57 ~A~0.offset))) (and (<= c_~mina~0 .cse55) (<= .cse4 (+ .cse56 .cse55)) (= c_~minc~0 (+ .cse55 c_~minb~0)) (= c_~mina~0 (select .cse57 .cse54)) (= c_~minc~0 (+ (select .cse58 ~B~0.offset) .cse55)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse59))))) (<= (+ .cse56 c_~mina~0) .cse11))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse65 (select |c_#memory_int#4| ~A~0.base)) (.cse63 (+ ~A~0.offset 4))) (let ((.cse62 (select .cse65 .cse63)) (.cse60 (select .cse65 ~A~0.offset))) (and (= .cse60 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse61 (select .cse64 (+ ~B~0.offset 4)))) (and (<= (+ .cse61 .cse62) .cse11) (not (= .cse63 ~B~0.offset)) (<= .cse4 (+ .cse61 .cse60)) (= .cse61 .cse60) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse64 ~B~0.offset) .cse60)))))) (<= (+ .cse60 1) .cse62) (= c_~minc~0 (+ .cse60 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse68 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse67 (select .cse68 (+ ~A~0.offset 4))) (.cse66 (select .cse68 ~A~0.offset))) (and (<= (+ .cse66 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse66 c_~mina~0) (<= (+ .cse66 1) .cse67) (<= (+ c_~minb~0 .cse67) .cse11) (= c_~minc~0 (+ .cse66 .cse18)))))))) (and .cse33 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse70 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse69 (select .cse70 ~A~0.offset))) (and (<= (+ .cse69 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse69) (= c_~mina~0 (select .cse70 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse69 .cse18))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse72 (select .cse74 (+ ~B~0.offset 4)))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse73 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse71 (select .cse73 ~A~0.offset))) (and (<= c_~mina~0 .cse71) (<= .cse4 (+ .cse72 .cse71)) (= c_~minc~0 (+ .cse71 c_~minb~0)) (= c_~mina~0 (select .cse73 (+ ~A~0.offset 4))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse74 ~B~0.offset) .cse71)))))))) (<= (+ .cse72 c_~mina~0) .cse11))))) (and .cse33 (or (and .cse24 .cse75 .cse25) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse79 (select |c_#memory_int#4| ~B~0.base))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse78 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse77 (+ ~A~0.offset 4)) (.cse76 (select .cse78 ~A~0.offset))) (and (<= (+ .cse76 c_~minb~0) c_~minc~0) (not (= .cse77 ~B~0.offset)) (<= c_~mina~0 .cse76) (= c_~mina~0 (select .cse78 .cse77)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse79 ~B~0.offset) .cse76)))))))) (= (select .cse79 (+ ~B~0.offset 4)) c_~minb~0)))))) (and .cse80 .cse33 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse81 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse82 (select .cse81 ~B~0.offset))) (and (= (select .cse81 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse82 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse82)))))) (and .cse83 .cse84 .cse25 .cse28) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse85 (select .cse87 ~A~0.offset))) (and (<= (+ .cse85 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse85 c_~mina~0)) (<= .cse22 (+ .cse11 .cse85)) (<= c_~minc~0 (* 2 .cse85)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse86 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse86 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse86 ~B~0.offset) .cse85))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse85 (select .cse87 (+ ~A~0.offset 4)))))))) (and .cse24 .cse19 .cse88 .cse28) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse93 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse90 (select .cse93 (+ ~A~0.offset 4))) (.cse89 (select .cse93 ~A~0.offset))) (and (= .cse89 c_~mina~0) (<= (+ .cse89 1) .cse90) (= c_~minc~0 (+ .cse89 c_~minb~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse91 (select .cse92 (+ ~B~0.offset 4)))) (and (<= (+ .cse91 .cse90) .cse11) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse91 .cse89)) (= .cse91 .cse89) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse89)))))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse95 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse94 (select .cse95 (+ ~B~0.offset 4)))) (and (<= .cse4 (+ .cse94 c_~minb~0)) (= (select .cse95 ~B~0.offset) c_~minb~0) (= .cse94 .cse3) (<= (* .cse94 2) .cse11) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse94) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))) .cse98) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse103 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse101 (select .cse103 (+ ~B~0.offset 4)))) (and (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse102 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse99 (+ ~A~0.offset 4)) (.cse100 (select .cse102 ~A~0.offset))) (and (not (= .cse99 ~B~0.offset)) (<= c_~mina~0 .cse100) (<= .cse4 (+ .cse101 .cse100)) (= c_~minc~0 (+ .cse100 c_~minb~0)) (= c_~minc~0 (* 2 .cse100)) (= c_~mina~0 (select .cse102 .cse99)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse103 ~B~0.offset) .cse100)))))) (not (= ~A~0.base ~B~0.base)))) (<= (+ .cse101 c_~mina~0) .cse11))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse105 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse104 (select .cse105 ~B~0.offset))) (and (<= .cse4 (+ .cse104 .cse3)) (= (select .cse105 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse104 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (not (= .cse96 ~B~0.offset)) (<= c_~minb~0 .cse104) (not (= ~B~0.offset .cse1)))))) .cse106) (and .cse24 .cse19 .cse107) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (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_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse108 c_~mina~0) (<= (+ (* 2 .cse108) 1) c_~minc~0) (<= .cse22 (+ .cse11 .cse108)) (= c_~minc~0 (+ .cse108 (select .cse109 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse108 .cse18)))))))) (and .cse110 .cse80 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse111 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse112 (select .cse111 (+ ~B~0.offset 4)))) (and (= (select .cse111 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse112 c_~mina~0) .cse11) (<= .cse97 .cse112) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse115 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse113 (select .cse115 ~A~0.offset)) (.cse114 (select .cse115 (+ ~A~0.offset 4)))) (and (= .cse113 c_~mina~0) (<= (+ .cse113 1) .cse114) (<= .cse4 (+ .cse3 .cse113)) (= c_~minc~0 (+ .cse113 c_~minb~0)) (<= (+ .cse3 .cse114) .cse11))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse117 (select .cse116 ~B~0.offset))) (and (= (select .cse116 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse117 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse117) (not (= ~B~0.offset .cse1)))))) .cse80 .cse33) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse118 (select .cse121 (+ ~B~0.offset 4)))) (and (<= (+ .cse118 c_~mina~0) .cse11) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse120 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse119 (select .cse120 ~A~0.offset))) (and (<= c_~mina~0 .cse119) (<= .cse4 (+ .cse118 .cse119)) (= c_~minc~0 (+ .cse119 c_~minb~0)) (= c_~minc~0 (* 2 .cse119)) (= c_~mina~0 (select .cse120 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse119)))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse122 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse122 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse125 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse124 (select .cse125 (+ ~A~0.offset 4))) (.cse123 (select .cse125 ~A~0.offset))) (and (= .cse123 c_~mina~0) (<= (+ .cse123 1) .cse124) (= .cse123 c_~minb~0) (= c_~minc~0 (* 2 .cse123)) (<= (+ c_~minb~0 .cse124) .cse11) (= c_~minc~0 (+ (select .cse122 ~B~0.offset) .cse123))))))))))) (and (or (and .cse24 .cse126 .cse127 .cse28) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse128 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse128 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse131 (+ ~A~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse130 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse129 (select .cse130 ~A~0.offset))) (and (<= c_~mina~0 .cse129) (= .cse129 c_~minb~0) (= c_~minc~0 (* 2 .cse129)) (= c_~mina~0 (select .cse130 .cse131)) (= c_~minc~0 (+ (select .cse128 ~B~0.offset) .cse129)))))) (not (= .cse131 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset))))))))) .cse33) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse132 (select |c_#memory_int#4| ~B~0.base)) (.cse133 (+ ~B~0.offset 4))) (and (= (select .cse132 .cse133) c_~minb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse135 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse134 (select .cse135 ~A~0.offset))) (and (<= (+ .cse134 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse134 c_~mina~0)) (<= .cse22 (+ .cse11 .cse134)) (= c_~minc~0 (+ .cse134 (select .cse135 (+ ~A~0.offset 4)))) (= c_~minc~0 (* 2 .cse134)) (= c_~minc~0 (+ (select .cse132 ~B~0.offset) .cse134)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse133))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#4| ~A~0.base)) (.cse139 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse138 (select .cse139 (+ ~B~0.offset 4))) (.cse136 (select .cse137 ~A~0.offset))) (and (= c_~minc~0 (+ .cse136 c_~mina~0)) (= c_~minc~0 (+ .cse136 (select .cse137 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse138 .cse136)) (= c_~minc~0 (+ .cse136 c_~minb~0)) (= c_~minc~0 (* 2 .cse136)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse139 ~B~0.offset) .cse136)) (<= (+ c_~minc~0 .cse138) (+ .cse11 .cse136)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse146 (select |c_#memory_int#4| ~A~0.base)) (.cse142 (+ ~A~0.offset 4))) (let ((.cse141 (select .cse146 .cse142)) (.cse143 (select .cse146 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse144 (select |c_#memory_int#4| ~B~0.base)) (.cse145 (+ ~B~0.offset 4))) (let ((.cse140 (select .cse144 .cse145))) (and (<= (+ .cse140 .cse141) .cse11) (not (= .cse142 ~B~0.offset)) (<= .cse4 (+ .cse140 .cse143)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse144 ~B~0.offset) .cse143)) (not (= ~A~0.offset .cse145)))))) (= .cse143 c_~mina~0) (<= (+ .cse143 1) .cse141) (= c_~minc~0 (+ .cse143 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse149 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse147 (select .cse149 ~A~0.offset))) (and (<= (+ .cse147 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse148 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse148 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse148 ~B~0.offset) .cse147))))) (= c_~minc~0 (+ .cse147 c_~mina~0)) (<= .cse22 (+ .cse11 .cse147)) (<= c_~minc~0 (* 2 .cse147)) (= .cse147 c_~minb~0) (= c_~minc~0 (+ .cse147 (select .cse149 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse153 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse152 (select .cse153 ~A~0.offset))) (let ((.cse151 (* 2 .cse152))) (and (<= .cse150 (+ .cse11 .cse151)) (= c_~minc~0 (+ .cse152 c_~mina~0)) (<= c_~minc~0 .cse151) (= c_~minc~0 (+ .cse152 (select .cse153 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse152 c_~minb~0)) (= c_~minc~0 (+ .cse152 .cse18))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse157 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse154 (select .cse157 (+ ~B~0.offset 4)))) (and (<= (+ .cse154 c_~mina~0) .cse11) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse156 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse155 (select .cse156 ~A~0.offset))) (and (<= c_~mina~0 .cse155) (<= .cse4 (+ .cse154 .cse155)) (= c_~minc~0 (+ .cse155 c_~minb~0)) (= c_~mina~0 (select .cse156 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse157 ~B~0.offset) .cse155)))))) (not (= ~A~0.base ~B~0.base)))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse158 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse159 (select .cse158 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse158 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse159 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ c_~minc~0 .cse159) .cse17) (not (= ~B~0.offset c_~C~0.offset)))))) .cse15 .cse19) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse160 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse160 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse161 (+ ~A~0.offset 4))) (and (not (= .cse161 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse164 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse163 (select .cse164 .cse161)) (.cse162 (select .cse164 ~A~0.offset))) (and (= .cse162 c_~mina~0) (<= (+ .cse162 1) .cse163) (= .cse162 c_~minb~0) (= c_~minc~0 (* 2 .cse162)) (<= (+ c_~minb~0 .cse163) .cse11) (= c_~minc~0 (+ (select .cse160 ~B~0.offset) .cse162)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse165 .cse166 .cse167 .cse80 .cse33) (and .cse168 .cse15 .cse169 .cse25) (and (or (and .cse24 .cse170 .cse25 .cse28) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse171 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse171 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse173 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse172 (select .cse173 ~A~0.offset))) (and (<= (+ .cse172 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse172) (= c_~minc~0 (* 2 .cse172)) (= c_~mina~0 (select .cse173 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse171 ~B~0.offset) .cse172)))))))))))) .cse33) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse176 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse175 (+ ~A~0.offset 4)) (.cse174 (select |c_#memory_int#4| ~B~0.base)) (.cse177 (select .cse176 ~A~0.offset))) (and (= (select .cse174 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse175 ~B~0.offset)) (= c_~minb~0 (select .cse176 .cse175)) (= .cse177 c_~minb~0) (= c_~minc~0 (* 2 .cse177)) (= c_~minc~0 (+ (select .cse174 ~B~0.offset) .cse177)))))) .cse83 .cse84) (and .cse165 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse178 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse179 (select .cse178 (+ ~B~0.offset 4)))) (and (= (select .cse178 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse179 c_~minb~0) .cse11) (<= .cse97 .cse179) (not (= ~B~0.offset .cse1)))))) .cse180) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse185 (select |c_#memory_int#4| ~B~0.base)) (.cse186 (+ ~B~0.offset 4))) (let ((.cse183 (select .cse185 .cse186))) (and (exists ((~A~0.offset Int)) (let ((.cse181 (+ ~A~0.offset 4))) (and (not (= .cse181 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse184 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse182 (select .cse184 ~A~0.offset))) (and (<= c_~mina~0 .cse182) (<= .cse4 (+ .cse183 .cse182)) (= c_~minc~0 (+ .cse182 c_~minb~0)) (= c_~minc~0 (* 2 .cse182)) (= c_~mina~0 (select .cse184 .cse181)) (= c_~minc~0 (+ (select .cse185 ~B~0.offset) .cse182)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse186))))) (<= (+ .cse183 c_~mina~0) .cse11))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse190 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse187 (select .cse190 ~A~0.offset)) (.cse188 (select .cse190 (+ ~A~0.offset 4)))) (and (<= (+ .cse187 c_~minb~0) c_~minc~0) (= .cse187 c_~mina~0) (<= (+ .cse187 1) .cse188) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse189 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse189 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse189 ~B~0.offset) .cse187))))) (<= (+ c_~minb~0 .cse188) .cse11))))) (and .cse33 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse191 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse193 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse192 (select .cse193 ~A~0.offset))) (and (<= c_~mina~0 .cse192) (= .cse192 c_~minb~0) (= c_~minc~0 (* 2 .cse192)) (= c_~mina~0 (select .cse193 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse191 ~B~0.offset) .cse192))))))))))) (and .cse24 .cse170 .cse126 .cse28))) (and .cse110 .cse80 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse194 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse195 (select .cse194 (+ ~B~0.offset 4)))) (and (= (select .cse194 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse195 c_~mina~0) .cse11) (= c_~minc~0 (+ .cse195 c_~minb~0)) (<= .cse97 .cse195) (not (= ~B~0.offset .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse198 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse197 (select .cse198 (+ ~A~0.offset 4))) (.cse196 (select .cse198 ~A~0.offset))) (and (= .cse196 c_~mina~0) (<= (+ .cse196 1) .cse197) (= c_~minc~0 (+ .cse196 c_~minb~0)) (<= (+ c_~minc~0 .cse197 1) (+ .cse11 .cse196)) (= c_~minc~0 (+ .cse196 .cse18)))))))) (and .cse24 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse199 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse200 (select .cse199 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse199 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse200 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse200 c_~mina~0) .cse11) (not (= ~B~0.offset c_~C~0.offset)))))) .cse19) (and .cse165 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse202 (select .cse201 (+ ~B~0.offset 4)))) (and (= (select .cse201 ~B~0.offset) c_~minb~0) (<= (+ .cse202 c_~minb~0) .cse11) (<= .cse97 .cse202) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))) .cse180) (exists ((~A~0.offset Int) (~B~0.offset Int)) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse204 (select |c_#memory_int#4| ~A~0.base)) (.cse206 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse205 (select .cse206 (+ ~B~0.offset 4))) (.cse203 (select .cse204 ~A~0.offset))) (and (= c_~minc~0 (+ .cse203 c_~mina~0)) (= c_~minc~0 (+ .cse203 (select .cse204 (+ ~A~0.offset 4)))) (<= .cse4 (+ .cse205 .cse203)) (= c_~minc~0 (+ .cse203 c_~minb~0)) (= .cse205 .cse203) (= c_~minc~0 (+ (select .cse206 ~B~0.offset) .cse203)) (<= (+ c_~minc~0 .cse205) (+ .cse11 .cse203)))))) (not (= ~B~0.offset ~A~0.offset)))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse210 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse207 (select .cse210 ~A~0.offset)) (.cse208 (+ ~A~0.offset 4))) (and (<= (+ .cse207 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse208 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse209 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse209 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse209 ~B~0.offset) .cse207))))) (not (= ~B~0.offset ~A~0.offset)))) (<= c_~mina~0 .cse207) (= c_~mina~0 (select .cse210 .cse208)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse214 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse211 (select .cse214 ~A~0.offset)) (.cse213 (+ ~A~0.offset 4))) (and (<= (+ .cse211 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse211) (= .cse211 c_~minb~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse212 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse212 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse213 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse212 ~B~0.offset) .cse211))))) (= c_~mina~0 (select .cse214 .cse213)))))) (and .cse24 .cse215 .cse25) (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 (<= (+ .cse216 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (let ((.cse219 (+ ~B~0.offset 4))) (and (not (= .cse217 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse218 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse218 .cse219) c_~minb~0) (= c_~minc~0 (+ (select .cse218 ~B~0.offset) .cse216))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse219))))) (<= c_~mina~0 .cse216) (= c_~mina~0 (select .cse220 .cse217))))))) .cse33) (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) (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ .cse221 c_~mina~0)) (<= .cse22 (+ .cse11 .cse221)) (<= c_~minc~0 (* 2 .cse221)) (= c_~minc~0 (+ .cse221 (select .cse222 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse221 .cse18)))))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse226 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse224 (+ ~A~0.offset 4)) (.cse223 (select .cse226 ~A~0.offset))) (and (<= (+ .cse223 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse224 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse225 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse225 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse225 ~B~0.offset) .cse223))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minb~0 (select .cse226 .cse224)) (<= c_~minb~0 .cse223))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse229 (+ ~A~0.offset 4)) (.cse227 (select .cse228 ~A~0.offset))) (and (<= (+ .cse227 c_~minb~0) c_~minc~0) (= c_~minb~0 (select .cse228 .cse229)) (= .cse227 c_~minb~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse230 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse230 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse229 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse230 ~B~0.offset) .cse227))))))))) (and .cse231 .cse215 .cse25) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse236 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse233 (+ ~A~0.offset 4)) (.cse232 (select .cse236 ~A~0.offset))) (and (<= (+ .cse232 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (let ((.cse235 (+ ~B~0.offset 4))) (and (not (= .cse233 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse234 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse234 .cse235) c_~minb~0) (= c_~minc~0 (+ (select .cse234 ~B~0.offset) .cse232))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse235))))) (= c_~minb~0 (select .cse236 .cse233)) (<= c_~minb~0 .cse232)))))) .cse83 .cse84) (and (<= .cse237 c_~minc~0) .cse231 .cse80 .cse33 .cse19) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse239 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse238 (select .cse239 ~B~0.offset))) (and (<= .cse4 (+ .cse238 .cse3)) (= (select .cse239 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse238 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= c_~minb~0 .cse238) (not (= ~B~0.offset .cse1)))))) .cse106) (and .cse166 .cse167 (let ((.cse254 (+ c_~minc~0 .cse241))) (let ((.cse245 (<= c_~mina~0 .cse254)) (.cse250 (= c_~mina~0 .cse254)) (.cse251 (<= (+ c_~minc~0 .cse241 1) .cse3))) (let ((.cse242 (= (+ .cse241 .cse3) 0)) (.cse243 (<= c_~minb~0 (+ .cse11 .cse241))) (.cse244 (= (+ .cse241 c_~mina~0) 0)) (.cse246 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse256 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse256 ~B~0.offset) .cse241) 0) (not (= c_~C~0.base ~B~0.base)))))) (.cse248 (or (and .cse80 .cse245 .cse33) (and .cse250 .cse251 .cse106)))) (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse240 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse240 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse240 ~B~0.offset) .cse241) 0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))) .cse242 .cse243 .cse244) (and .cse80 .cse245 .cse246 .cse33) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse247 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse247 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse247 ~B~0.offset) .cse241) 0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse96 ~B~0.offset)) (not (= ~B~0.offset .cse1))))) .cse248) (and .cse242 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse249 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse249 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse249 ~B~0.offset) .cse241) 0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset .cse1))))) .cse243 .cse244) (and .cse246 .cse250 .cse251 .cse106) (and .cse248 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse252 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse252 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse252 ~B~0.offset) .cse241) 0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset c_~C~0.offset)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse253 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse253 ~B~0.offset) .cse241) 0) (not (= .cse96 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))) .cse248) (and (= c_~minb~0 .cse254) (or (and .cse246 .cse248) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse255 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse255 (+ ~B~0.offset 4)) c_~minb~0) (= (+ (select .cse255 ~B~0.offset) .cse241) 0) (not (= .cse96 ~B~0.offset)) (not (= ~B~0.offset .cse1))))) .cse248)))))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse257 (select |c_#memory_int#4| ~B~0.base)) (.cse258 (+ ~B~0.offset 4))) (and (= (select .cse257 .cse258) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse259 (+ ~A~0.offset 4))) (and (not (= .cse259 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse261 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse260 (select .cse261 ~A~0.offset))) (and (<= (+ .cse260 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse260) (= c_~minc~0 (* 2 .cse260)) (= c_~mina~0 (select .cse261 .cse259)) (= c_~minc~0 (+ (select .cse257 ~B~0.offset) .cse260)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse258)))))))) (and .cse24 .cse25 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#4| ~B~0.base)) (.cse263 (+ ~B~0.offset 4))) (and (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse18)) (= (select .cse262 .cse263) c_~minb~0) (not (= c_~C~0.offset .cse263)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))) .cse28)) .cse33) (and .cse15 .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse265 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse264 (select .cse265 (+ ~B~0.offset 4)))) (and (= .cse264 .cse18) (= c_~minc~0 (+ (select .cse265 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse264 .cse18)) (<= (+ c_~minc~0 .cse264) .cse17) (not (= ~B~0.offset c_~C~0.offset))))))) (and .cse98 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse267 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse266 (select .cse267 (+ ~B~0.offset 4)))) (and (<= .cse4 (+ .cse266 c_~minb~0)) (= (select .cse267 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse266 .cse3) (<= (* .cse266 2) .cse11) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse266) (not (= ~B~0.offset .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse269 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse268 (select .cse269 ~A~0.offset))) (and (<= (+ .cse268 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse268) (= .cse268 c_~minb~0) (= c_~mina~0 (select .cse269 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse268 .cse18)))))) .cse33) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse270 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse270 (+ ~B~0.offset 4)) c_~minb~0) (= (select .cse270 ~B~0.offset) .cse3) (not (= ~B~0.offset .cse1))))) (= c_~minc~0 .cse271)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse272 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse272 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= (select .cse272 ~B~0.offset) .cse3)))) (not (= ~B~0.offset .cse1)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse273 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse273 (+ ~B~0.offset 4)) c_~minb~0) (= (select .cse273 ~B~0.offset) .cse3)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))) (<= c_~minb~0 .cse3) (or (and .cse80 (<= .cse274 c_~minc~0)) (and (<= .cse4 .cse274) (= c_~minc~0 .cse275))) .cse106) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse279 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse276 (select .cse279 ~A~0.offset))) (and (= .cse276 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse280 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse278 (select .cse280 (+ ~B~0.offset 4))) (.cse277 (+ ~A~0.offset 4))) (and (not (= .cse277 ~B~0.offset)) (<= (* .cse278 2) .cse11) (<= (+ .cse276 1) .cse278) (not (= ~A~0.base ~B~0.base)) (= .cse278 (select .cse279 .cse277)) (= c_~minc~0 (+ (select .cse280 ~B~0.offset) .cse276)))))) (= c_~minc~0 (+ .cse276 c_~minb~0)) (= c_~minc~0 (* 2 .cse276)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse282 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse281 (select .cse282 ~A~0.offset))) (and (<= c_~mina~0 .cse281) (= c_~minc~0 (+ .cse281 c_~minb~0)) (<= .cse4 (* 2 .cse281)) (= c_~mina~0 (select .cse282 (+ ~A~0.offset 4))) (<= (+ .cse281 c_~mina~0) .cse11) (= c_~minc~0 (+ .cse281 .cse18)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse284 (select |c_#memory_int#4| ~A~0.base)) (.cse286 (select |c_#memory_int#4| ~B~0.base)) (.cse287 (+ ~B~0.offset 4))) (let ((.cse285 (select .cse286 .cse287)) (.cse283 (select .cse284 ~A~0.offset))) (and (= c_~minc~0 (+ .cse283 c_~mina~0)) (= c_~minc~0 (+ .cse283 (select .cse284 (+ ~A~0.offset 4)))) (<= .cse4 (+ .cse285 .cse283)) (= c_~minc~0 (+ .cse283 c_~minb~0)) (= c_~minc~0 (* 2 .cse283)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse286 ~B~0.offset) .cse283)) (<= (+ c_~minc~0 .cse285) (+ .cse11 .cse283)) (not (= ~A~0.offset .cse287)))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse292 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse291 (+ ~A~0.offset 4)) (.cse289 (select |c_#memory_int#4| ~B~0.base)) (.cse288 (select .cse292 ~A~0.offset)) (.cse290 (+ ~B~0.offset 4))) (and (<= (+ .cse288 c_~minb~0) c_~minc~0) (= (select .cse289 .cse290) c_~minb~0) (not (= .cse291 ~B~0.offset)) (= c_~minb~0 (select .cse292 .cse291)) (= c_~minc~0 (* 2 .cse288)) (= c_~minc~0 (+ (select .cse289 ~B~0.offset) .cse288)) (not (= ~A~0.offset .cse290)))))) .cse83 .cse84) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse296 (+ ~A~0.offset 4)) (.cse297 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse293 (select .cse297 ~A~0.offset)) (.cse294 (select .cse297 .cse296))) (and (<= (+ .cse293 c_~minb~0) c_~minc~0) (= .cse293 c_~mina~0) (<= (+ .cse293 1) .cse294) (= .cse293 c_~minb~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse295 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse295 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse296 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse295 ~B~0.offset) .cse293))))) (<= (+ c_~minb~0 .cse294) .cse11))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse300 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse299 (select .cse300 (+ ~A~0.offset 4))) (.cse298 (select .cse300 ~A~0.offset))) (and (<= (+ .cse298 c_~minb~0) c_~minc~0) (= .cse298 c_~mina~0) (<= (+ .cse298 1) .cse299) (= .cse298 c_~minb~0) (<= (+ c_~minb~0 .cse299) .cse11) (= c_~minc~0 (+ .cse298 .cse18)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse302 (select .cse305 (+ ~A~0.offset 4))) (.cse301 (select .cse305 ~A~0.offset))) (and (= .cse301 c_~mina~0) (<= (+ .cse301 1) .cse302) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse304 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse303 (select .cse304 (+ ~B~0.offset 4)))) (and (<= (+ .cse303 .cse302) .cse11) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse303 .cse301)) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse301)))))) (= c_~minc~0 (+ .cse301 c_~minb~0)) (= c_~minc~0 (* 2 .cse301)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse307 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse306 (select .cse307 ~A~0.offset))) (and (<= (+ .cse306 c_~minb~0) c_~minc~0) (= .cse306 c_~mina~0) (<= .cse22 (+ .cse11 .cse306)) (= .cse306 c_~minb~0) (= c_~minc~0 (+ .cse306 (select .cse307 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse306 .cse18)))))))) (and .cse24 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse309 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse308 (select .cse309 (+ ~B~0.offset 4)))) (and (= .cse308 .cse18) (= c_~minc~0 (+ (select .cse309 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse308 .cse18)) (<= (+ .cse308 c_~mina~0) .cse11) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))) .cse19) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse310 (select .cse312 ~A~0.offset)) (.cse311 (select .cse312 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse310 c_~mina~0) (<= (+ .cse310 1) .cse311) (<= .cse4 (+ .cse3 .cse310)) (= c_~minc~0 (+ .cse310 c_~minb~0)) (<= (+ .cse3 .cse311) .cse11))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse313 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse313 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse315 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse314 (select .cse315 ~A~0.offset))) (and (<= (+ .cse314 c_~minb~0) c_~minc~0) (= .cse314 c_~mina~0) (<= (+ (* 2 .cse314) 1) c_~minc~0) (<= .cse22 (+ .cse11 .cse314)) (= c_~minc~0 (+ .cse314 (select .cse315 (+ ~A~0.offset 4)))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse313 ~B~0.offset) .cse314))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse316 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse316 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse320 (select |c_#memory_int#4| ~A~0.base)) (.cse318 (+ ~A~0.offset 4))) (let ((.cse319 (select .cse320 .cse318)) (.cse317 (select .cse320 ~A~0.offset))) (and (<= (+ .cse317 c_~minb~0) c_~minc~0) (= .cse317 c_~mina~0) (not (= .cse318 ~B~0.offset)) (<= (+ .cse317 1) .cse319) (= c_~minc~0 (* 2 .cse317)) (<= (+ c_~minb~0 .cse319) .cse11) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse316 ~B~0.offset) .cse317))))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse322 (select .cse326 (+ ~A~0.offset 4))) (.cse323 (select .cse326 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse324 (select |c_#memory_int#4| ~B~0.base)) (.cse325 (+ ~B~0.offset 4))) (let ((.cse321 (select .cse324 .cse325))) (and (<= (+ .cse321 .cse322) .cse11) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse321 .cse323)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse324 ~B~0.offset) .cse323)) (not (= ~A~0.offset .cse325)))))) (= .cse323 c_~mina~0) (<= (+ .cse323 1) .cse322) (= c_~minc~0 (+ .cse323 c_~minb~0)))))) (and .cse98 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse328 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse327 (select .cse328 (+ ~B~0.offset 4)))) (and (<= .cse4 (+ .cse327 c_~minb~0)) (= (select .cse328 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (= .cse327 .cse3) (<= (* .cse327 2) .cse11) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse327)))))) (and .cse24 .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse330 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse329 (select .cse330 (+ ~B~0.offset 4)))) (and (= .cse329 .cse18) (= c_~minc~0 (+ (select .cse330 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse329 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse329 c_~mina~0) .cse11) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse331 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse332 (select .cse331 ~B~0.offset))) (and (= (select .cse331 (+ ~B~0.offset 4)) c_~minb~0) (<= (* .cse332 2) c_~minc~0) (= .cse332 .cse3) (<= (+ .cse332 c_~minb~0) .cse11) (= .cse332 c_~mina~0) (<= c_~minb~0 .cse332) (not (= ~B~0.offset .cse1)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset))) (and (<= (+ .cse333 c_~minb~0) c_~minc~0) (= .cse333 c_~mina~0) (<= (+ (* 2 .cse333) 1) c_~minc~0) (<= .cse22 (+ .cse11 .cse333)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse334 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse334 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse334 ~B~0.offset) .cse333))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse333 (select .cse335 (+ ~A~0.offset 4)))))))) (and .cse15 .cse169 (or (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse336 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse336 ~B~0.offset) .cse18)) (= (select .cse336 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse337 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse337 ~B~0.offset) .cse18)) (= (select .cse337 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))) .cse126) (exists ((~B~0.offset Int)) (let ((.cse338 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse338)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse339 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse339 ~B~0.offset) .cse18)) (= (select .cse339 .cse338) c_~minb~0)))))))) .cse25) .cse340 (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse341 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse342 (select .cse341 ~B~0.offset))) (and (= (select .cse341 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse342 c_~mina~0)) (<= .cse4 (* .cse342 2)) (= .cse342 .cse3) (<= (+ .cse342 c_~minb~0) .cse11) (<= c_~minb~0 .cse342) (not (= ~B~0.offset .cse1)))))))) (and .cse80 (or .cse343 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse345 (select .cse344 ~B~0.offset))) (and (= (select .cse344 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse96 ~B~0.offset)) (<= (+ .cse345 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse345) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse346 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse347 (select .cse346 ~B~0.offset))) (and (= (select .cse346 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse347 c_~minb~0)) (not (= .cse96 ~B~0.offset)) (<= (+ .cse347 c_~mina~0) c_~minc~0) (<= c_~minb~0 .cse347) (not (= ~B~0.offset .cse1))))))) .cse33) (and .cse165 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse348 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse349 (select .cse348 ~B~0.offset))) (and (= (select .cse348 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse96 ~B~0.offset)) (<= (+ .cse349 c_~minb~0) c_~minc~0) (<= c_~minb~0 .cse349))))) .cse83 .cse84) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse350 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse350 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse353 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse352 (select .cse353 (+ ~A~0.offset 4))) (.cse351 (select .cse353 ~A~0.offset))) (and (<= (+ .cse351 c_~minb~0) c_~minc~0) (= .cse351 c_~mina~0) (<= (+ .cse351 1) .cse352) (<= (+ c_~minb~0 .cse352) .cse11) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse350 ~B~0.offset) .cse351))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse354 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse354 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse356 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse355 (select .cse356 ~A~0.offset))) (and (<= (+ .cse355 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse355 c_~mina~0)) (<= .cse22 (+ .cse11 .cse355)) (<= c_~minc~0 (* 2 .cse355)) (= c_~minc~0 (+ .cse355 (select .cse356 (+ ~A~0.offset 4)))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse354 ~B~0.offset) .cse355))))))))))) (and .cse24 .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse357 (select |c_#memory_int#4| ~B~0.base)) (.cse359 (+ ~B~0.offset 4))) (let ((.cse358 (select .cse357 .cse359))) (and (= c_~minc~0 (+ (select .cse357 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse358 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse358 c_~mina~0) .cse11) (not (= c_~C~0.offset .cse359)))))) .cse28) (and (or (and .cse168 .cse24 .cse25) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse360 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse360 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse362 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse361 (select .cse362 ~A~0.offset))) (and (<= (+ .cse361 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse361) (= c_~mina~0 (select .cse362 (+ ~A~0.offset 4))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse360 ~B~0.offset) .cse361)))))))))))) .cse33) .cse363 (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse365 (select |c_#memory_int#4| ~A~0.base)) (.cse367 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse366 (select .cse367 (+ ~B~0.offset 4))) (.cse364 (select .cse365 ~A~0.offset))) (and (= .cse364 c_~mina~0) (<= (+ (* 2 .cse364) 1) c_~minc~0) (= c_~minc~0 (+ .cse364 (select .cse365 (+ ~A~0.offset 4)))) (<= .cse4 (+ .cse366 .cse364)) (= c_~minc~0 (+ .cse364 c_~minb~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse367 ~B~0.offset) .cse364)) (<= (+ c_~minc~0 .cse366) (+ .cse11 .cse364)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse368 (select .cse371 ~A~0.offset))) (and (= .cse368 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse372 (select |c_#memory_int#4| ~B~0.base)) (.cse373 (+ ~B~0.offset 4))) (let ((.cse370 (select .cse372 .cse373)) (.cse369 (+ ~A~0.offset 4))) (and (not (= .cse369 ~B~0.offset)) (<= (* .cse370 2) .cse11) (<= (+ .cse368 1) .cse370) (<= .cse4 (+ .cse370 .cse368)) (= .cse370 (select .cse371 .cse369)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse372 ~B~0.offset) .cse368)) (not (= ~A~0.offset .cse373)))))) (= c_~minc~0 (+ .cse368 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse376 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse375 (select .cse376 (+ ~A~0.offset 4))) (.cse374 (select .cse376 ~A~0.offset))) (and (= .cse374 c_~mina~0) (<= (+ .cse374 1) .cse375) (= c_~minc~0 (+ .cse374 c_~minb~0)) (<= (+ c_~minc~0 .cse375 1) (+ .cse11 .cse374)) (= c_~minc~0 (+ .cse374 .cse18)))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse380 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse379 (+ ~A~0.offset 4)) (.cse378 (select |c_#memory_int#4| ~B~0.base)) (.cse377 (select .cse380 ~A~0.offset))) (and (<= (+ .cse377 c_~minb~0) c_~minc~0) (= (select .cse378 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse379 ~B~0.offset)) (= c_~minb~0 (select .cse380 .cse379)) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (* 2 .cse377)) (= c_~minc~0 (+ (select .cse378 ~B~0.offset) .cse377)))))) .cse83 .cse84) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse387 (select |c_#memory_int#4| ~A~0.base)) (.cse383 (+ ~A~0.offset 4))) (let ((.cse382 (select .cse387 .cse383)) (.cse384 (select .cse387 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse385 (select |c_#memory_int#4| ~B~0.base)) (.cse386 (+ ~B~0.offset 4))) (let ((.cse381 (select .cse385 .cse386))) (and (<= (+ .cse381 .cse382) .cse11) (not (= .cse383 ~B~0.offset)) (<= .cse4 (+ .cse381 .cse384)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse385 ~B~0.offset) .cse384)) (not (= ~A~0.offset .cse386)))))) (= .cse384 c_~mina~0) (<= (+ .cse384 1) .cse382) (= c_~minc~0 (+ .cse384 c_~minb~0)) (= c_~minc~0 (* 2 .cse384)))))) (and (<= (+ c_~mina~0 1) .cse3) .cse110 (or (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 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse388 ~B~0.offset) c_~mina~0)) (not (= c_~C~0.base ~B~0.base))))) (not (= .cse96 ~B~0.offset)) (not (= ~B~0.offset .cse1)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse389 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse389 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse389 ~B~0.offset) c_~mina~0)) (not (= .cse96 ~B~0.offset)) (not (= ~B~0.offset .cse1))))) .cse84) (exists ((~B~0.offset Int)) (and (not (= .cse96 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse390 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse390 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse390 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset .cse1))))) .cse106) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse393 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse391 (select .cse393 ~A~0.offset)) (.cse392 (select .cse393 (+ ~A~0.offset 4)))) (and (= .cse391 c_~mina~0) (<= (+ .cse391 1) .cse392) (<= .cse4 (+ .cse3 .cse391)) (= c_~minc~0 (+ .cse391 c_~minb~0)) (= c_~minc~0 (* 2 .cse391)) (<= (+ .cse3 .cse392) .cse11))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse397 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse394 (select .cse397 (+ ~B~0.offset 4)))) (and (<= (+ .cse394 c_~mina~0) .cse11) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse396 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse395 (select .cse396 ~A~0.offset))) (and (<= c_~mina~0 .cse395) (<= .cse4 (+ .cse394 .cse395)) (= c_~minc~0 (+ .cse395 c_~minb~0)) (= c_~mina~0 (select .cse396 (+ ~A~0.offset 4))) (= .cse394 .cse395) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse397 ~B~0.offset) .cse395)))))))))))) (and .cse24 .cse398 .cse19 .cse28) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse401 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse400 (select .cse401 ~A~0.offset))) (let ((.cse399 (* 2 .cse400))) (and (<= .cse150 (+ .cse11 .cse399)) (= .cse400 c_~mina~0) (<= (+ .cse399 1) c_~minc~0) (= c_~minc~0 (+ .cse400 (select .cse401 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse400 c_~minb~0)) (= c_~minc~0 (+ .cse400 .cse18))))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse407 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse403 (select .cse407 (+ ~A~0.offset 4))) (.cse404 (select .cse407 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse405 (select |c_#memory_int#4| ~B~0.base)) (.cse406 (+ ~B~0.offset 4))) (let ((.cse402 (select .cse405 .cse406))) (and (<= (+ .cse402 .cse403) .cse11) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse402 .cse404)) (= c_~minc~0 (+ (select .cse405 ~B~0.offset) .cse404)) (not (= ~A~0.offset .cse406)))))) (= .cse404 c_~mina~0) (<= (+ .cse404 1) .cse403) (= c_~minc~0 (+ .cse404 c_~minb~0)) (= c_~minc~0 (* 2 .cse404)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse409 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse408 (select .cse409 ~A~0.offset))) (and (<= (+ .cse408 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse408 c_~mina~0)) (<= .cse22 (+ .cse11 .cse408)) (<= c_~minc~0 (* 2 .cse408)) (= c_~minc~0 (+ .cse408 (select .cse409 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse408 .cse18)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse413 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse410 (select .cse413 ~A~0.offset))) (and (<= (+ .cse410 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse410 c_~mina~0)) (<= .cse22 (+ .cse11 .cse410)) (<= c_~minc~0 (* 2 .cse410)) (exists ((~B~0.offset Int)) (let ((.cse412 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse411 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse411 .cse412) c_~minb~0) (= c_~minc~0 (+ (select .cse411 ~B~0.offset) .cse410))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse412))))) (= c_~minc~0 (+ .cse410 (select .cse413 (+ ~A~0.offset 4)))))))) (and .cse24 .cse398 .cse19) (and (or (and .cse110 .cse80 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse415 (select .cse414 (+ ~B~0.offset 4)))) (and (= (select .cse414 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse415 c_~mina~0) .cse11) (<= .cse97 .cse415) (not (= ~B~0.offset c_~C~0.offset))))))) .cse340 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse416 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse417 (select .cse416 (+ ~B~0.offset 4)))) (and (= (select .cse416 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse417 .cse3) .cse11) (<= .cse97 .cse417) (not (= ~B~0.offset c_~C~0.offset)))))) .cse98 .cse418) .cse363 .cse419 .cse420 .cse421 .cse422) .cse423) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse425 (select |c_#memory_int#4| ~A~0.base)) (.cse427 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse426 (select .cse427 (+ ~B~0.offset 4))) (.cse424 (select .cse425 ~A~0.offset))) (and (= c_~minc~0 (+ .cse424 c_~mina~0)) (<= c_~minc~0 (* 2 .cse424)) (= c_~minc~0 (+ .cse424 (select .cse425 (+ ~A~0.offset 4)))) (<= .cse4 (+ .cse426 .cse424)) (= c_~minc~0 (+ .cse424 c_~minb~0)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse427 ~B~0.offset) .cse424)) (<= (+ c_~minc~0 .cse426) (+ .cse11 .cse424)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse429 (+ ~A~0.offset 4)) (.cse432 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse428 (select .cse432 ~A~0.offset)) (.cse431 (select .cse432 .cse429))) (and (<= (+ .cse428 c_~minb~0) c_~minc~0) (= .cse428 c_~mina~0) (exists ((~B~0.offset Int)) (and (not (= .cse429 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse430 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse430 ~B~0.offset) .cse428))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse428 1) .cse431) (<= (+ c_~minb~0 .cse431) .cse11))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse435 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse433 (select .cse435 ~A~0.offset))) (and (<= c_~mina~0 .cse433) (<= .cse434 (+ .cse11 .cse433)) (= c_~minc~0 (+ .cse433 c_~minb~0)) (= c_~mina~0 (select .cse435 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse433 .cse18)))))))) (and (<= .cse97 .cse3) .cse0 .cse98 .cse423) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse437 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse436 (select .cse437 ~A~0.offset))) (and (<= (+ .cse436 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse436) (= c_~mina~0 (select .cse437 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse436 .cse18)))))) .cse33) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse439 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse438 (select .cse439 ~A~0.offset))) (and (<= (+ .cse438 c_~minb~0) c_~minc~0) (= .cse438 c_~mina~0) (<= (+ (* 2 .cse438) 1) c_~minc~0) (<= .cse22 (+ .cse11 .cse438)) (= c_~minc~0 (+ .cse438 (select .cse439 (+ ~A~0.offset 4)))) (= c_~minc~0 (+ .cse438 .cse18)))))) (not (= ~A~0.offset .cse1)))) (and .cse168 .cse169 .cse25 .cse440 .cse28) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse445 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse442 (select |c_#memory_int#4| ~A~0.base)) (.cse444 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse443 (select .cse444 .cse445)) (.cse441 (select .cse442 ~A~0.offset))) (and (= c_~minc~0 (+ .cse441 c_~mina~0)) (<= c_~minc~0 (* 2 .cse441)) (= c_~minc~0 (+ .cse441 (select .cse442 (+ ~A~0.offset 4)))) (<= .cse4 (+ .cse443 .cse441)) (= c_~minc~0 (+ .cse441 c_~minb~0)) (= c_~minc~0 (+ (select .cse444 ~B~0.offset) .cse441)) (<= (+ c_~minc~0 .cse443) (+ .cse11 .cse441)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse445))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse446 (select .cse447 ~A~0.offset))) (and (<= (+ .cse446 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (<= c_~mina~0 .cse446) (= c_~mina~0 (select .cse447 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse446 .cse18)))))) .cse33) (and .cse110 .cse80 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse448 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse449 (select .cse448 (+ ~B~0.offset 4)))) (and (= (select .cse448 ~B~0.offset) c_~minb~0) (<= (+ .cse449 c_~mina~0) .cse11) (= c_~minc~0 (+ .cse449 c_~minb~0)) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse449) (not (= ~B~0.offset .cse1))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse452 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse450 (select |c_#memory_int#4| ~B~0.base)) (.cse451 (select .cse452 ~A~0.offset))) (and (= (select .cse450 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse451 c_~mina~0)) (<= .cse22 (+ .cse11 .cse451)) (= .cse451 c_~minb~0) (= c_~minc~0 (+ .cse451 (select .cse452 (+ ~A~0.offset 4)))) (= c_~minc~0 (* 2 .cse451)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse450 ~B~0.offset) .cse451)))))) (and .cse343 .cse80 .cse33) (and .cse110 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse453 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse454 (select .cse453 (+ ~B~0.offset 4)))) (and (= (select .cse453 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse454 c_~mina~0) .cse11) (<= .cse97 .cse454) (not (= ~B~0.offset .cse1)))))) .cse80) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse458 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse455 (select .cse458 ~A~0.offset)) (.cse456 (select .cse458 (+ ~A~0.offset 4)))) (and (<= (+ .cse455 c_~minb~0) c_~minc~0) (= .cse455 c_~mina~0) (<= (+ .cse455 1) .cse456) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse457 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse457 (+ ~B~0.offset 4)) c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse457 ~B~0.offset) .cse455))))) (= c_~minc~0 (* 2 .cse455)) (<= (+ c_~minb~0 .cse456) .cse11))))) (and .cse24 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse459 (select |c_#memory_int#4| ~B~0.base)) (.cse461 (+ ~B~0.offset 4))) (let ((.cse460 (select .cse459 .cse461))) (and (= c_~minc~0 (+ (select .cse459 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse460 .cse18)) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse460 c_~mina~0) .cse11) (not (= c_~C~0.offset .cse461)) (not (= ~B~0.offset c_~C~0.offset)))))) .cse19) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse466 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse464 (select .cse466 (+ ~B~0.offset 4)))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse465 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse462 (+ ~A~0.offset 4)) (.cse463 (select .cse465 ~A~0.offset))) (and (not (= .cse462 ~B~0.offset)) (<= c_~mina~0 .cse463) (<= .cse4 (+ .cse464 .cse463)) (= c_~minc~0 (+ .cse463 c_~minb~0)) (= c_~mina~0 (select .cse465 .cse462)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse466 ~B~0.offset) .cse463)))))))) (<= (+ .cse464 c_~mina~0) .cse11))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse468 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse467 (select .cse468 ~A~0.offset))) (and (<= c_~mina~0 .cse467) (<= .cse434 (+ .cse11 .cse467)) (= c_~minc~0 (+ .cse467 c_~minb~0)) (= c_~mina~0 (select .cse468 (+ ~A~0.offset 4))) (= c_~minc~0 (+ .cse467 .cse18)))))))) (and (<= (+ .cse469 1) c_~minc~0) .cse126 (let ((.cse470 (+ .cse11 c_~minb~0))) (or (and .cse110 .cse80 (<= (+ c_~minc~0 c_~mina~0) .cse470)) (and .cse98 .cse418 (<= .cse16 .cse470))))) (and .cse36 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse471 (select .cse472 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse471) (<= .cse4 (+ .cse3 .cse471)) (= c_~minc~0 (+ .cse471 c_~minb~0)) (= c_~mina~0 (select .cse472 (+ ~A~0.offset 4)))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse474 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse473 (select .cse474 ~B~0.offset))) (and (<= .cse4 (+ .cse473 .cse3)) (= (select .cse474 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse473 c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= c_~minb~0 .cse473))))) .cse106) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse479 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse477 (select .cse479 (+ ~B~0.offset 4)))) (and (exists ((~A~0.offset Int)) (let ((.cse475 (+ ~A~0.offset 4))) (and (not (= .cse475 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse478 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse476 (select .cse478 ~A~0.offset))) (and (<= c_~mina~0 .cse476) (<= .cse4 (+ .cse477 .cse476)) (= c_~minc~0 (+ .cse476 c_~minb~0)) (= c_~mina~0 (select .cse478 .cse475)) (= .cse477 .cse476) (= c_~minc~0 (+ (select .cse479 ~B~0.offset) .cse476)))))) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse477 c_~mina~0) .cse11))))) (and .cse98 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse480 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse481 (select .cse480 (+ ~B~0.offset 4)))) (and (= (select .cse480 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse481 .cse3) .cse11) (<= .cse97 .cse481) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1)))))) .cse418) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse482 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse483 (select .cse482 (+ ~B~0.offset 4)))) (and (= (select .cse482 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse483 .cse3) .cse11) (= c_~minc~0 (+ .cse483 c_~minb~0)) (<= .cse97 .cse483) (not (= ~B~0.offset .cse1)))))) .cse98 .cse418) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse484 (select .cse485 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse484) (<= .cse4 (+ .cse3 .cse484)) (= c_~minc~0 (+ .cse484 c_~minb~0)) (= c_~minc~0 (* 2 .cse484)) (= c_~mina~0 (select .cse485 (+ ~A~0.offset 4))))))) .cse36) (and (or (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse487 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse486 (select .cse487 ~A~0.offset))) (and (<= (+ .cse486 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse486) (= c_~mina~0 (select .cse487 (+ ~A~0.offset 4))))))) .cse33) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse490 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse488 (select .cse490 ~A~0.offset)) (.cse489 (select .cse490 (+ ~A~0.offset 4)))) (and (<= (+ .cse488 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (= .cse488 c_~mina~0) (<= (+ .cse488 1) .cse489) (<= (+ c_~minb~0 .cse489) .cse11))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse492 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse491 (select .cse492 ~A~0.offset))) (and (<= (+ .cse491 c_~minb~0) c_~minc~0) (not (= ~A~0.base c_~C~0.base)) (<= c_~mina~0 .cse491) (= c_~mina~0 (select .cse492 (+ ~A~0.offset 4))))))) .cse33) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse494 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse493 (select .cse494 ~A~0.offset))) (and (<= (+ .cse493 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (<= c_~mina~0 .cse493) (= c_~mina~0 (select .cse494 (+ ~A~0.offset 4))))))) .cse33) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse496 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse495 (select .cse496 ~A~0.offset))) (and (<= (+ .cse495 c_~minb~0) c_~minc~0) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~mina~0 .cse495) (= c_~minc~0 (* 2 .cse495)) (= c_~mina~0 (select .cse496 (+ ~A~0.offset 4))))))) .cse33) (and .cse15 .cse169 .cse25) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse499 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse497 (select .cse499 ~A~0.offset)) (.cse498 (select .cse499 (+ ~A~0.offset 4)))) (and (<= (+ .cse497 c_~minb~0) c_~minc~0) (= .cse497 c_~mina~0) (<= (+ .cse497 1) .cse498) (= c_~minc~0 (* 2 .cse497)) (<= (+ c_~minb~0 .cse498) .cse11))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (exists ((~A~0.base Int)) (let ((.cse502 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse500 (select .cse502 ~A~0.offset)) (.cse501 (select .cse502 (+ ~A~0.offset 4)))) (and (<= (+ .cse500 c_~minb~0) c_~minc~0) (= .cse500 c_~mina~0) (<= (+ .cse500 1) .cse501) (<= (+ c_~minb~0 .cse501) .cse11))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse505 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse503 (select .cse505 ~A~0.offset)) (.cse504 (select .cse505 (+ ~A~0.offset 4)))) (and (<= (+ .cse503 c_~minb~0) c_~minc~0) (= .cse503 c_~mina~0) (<= (+ .cse503 1) .cse504) (<= (+ c_~minb~0 .cse504) .cse11)))))))) .cse165) (and .cse24 .cse19 .cse107 .cse28) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse509 (select |c_#memory_int#4| ~B~0.base))) (and (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse508 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse507 (+ ~A~0.offset 4)) (.cse506 (select .cse508 ~A~0.offset))) (and (<= (+ .cse506 c_~minb~0) c_~minc~0) (not (= .cse507 ~B~0.offset)) (<= c_~mina~0 .cse506) (= c_~minc~0 (* 2 .cse506)) (= c_~mina~0 (select .cse508 .cse507)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse509 ~B~0.offset) .cse506)))))))) (= (select .cse509 (+ ~B~0.offset 4)) c_~minb~0)))) (and .cse24 .cse75 .cse25 .cse28)) .cse33) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse511 (+ ~A~0.offset 4)) (.cse515 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse510 (select .cse515 ~A~0.offset)) (.cse514 (select .cse515 .cse511))) (and (<= (+ .cse510 c_~minb~0) c_~minc~0) (= .cse510 c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse513 (+ ~B~0.offset 4))) (and (not (= .cse511 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse512 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse512 .cse513) c_~minb~0) (= c_~minc~0 (+ (select .cse512 ~B~0.offset) .cse510))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse513))))) (<= (+ .cse510 1) .cse514) (<= (+ c_~minb~0 .cse514) .cse11))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse516 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse516 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse518 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse517 (select .cse518 ~A~0.offset))) (and (<= (+ .cse517 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ .cse517 c_~mina~0)) (<= .cse22 (+ .cse11 .cse517)) (= c_~minc~0 (+ .cse517 (select .cse518 (+ ~A~0.offset 4)))) (= c_~minc~0 (* 2 .cse517)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse516 ~B~0.offset) .cse517))))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse520 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse519 (select .cse520 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse1)) (<= c_~mina~0 .cse519) (<= .cse4 (+ .cse3 .cse519)) (= c_~minc~0 (+ .cse519 c_~minb~0)) (= c_~mina~0 (select .cse520 (+ ~A~0.offset 4))))))) .cse36) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse521 (select |c_#memory_int#4| ~B~0.base)) (.cse522 (+ ~B~0.offset 4))) (and (= (select .cse521 .cse522) c_~minb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse525 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse524 (select .cse525 (+ ~A~0.offset 4))) (.cse523 (select .cse525 ~A~0.offset))) (and (<= (+ .cse523 c_~minb~0) c_~minc~0) (= .cse523 c_~mina~0) (<= (+ .cse523 1) .cse524) (= c_~minc~0 (* 2 .cse523)) (<= (+ c_~minb~0 .cse524) .cse11) (= c_~minc~0 (+ (select .cse521 ~B~0.offset) .cse523)) (not (= ~A~0.offset .cse522)))))) (not (= ~A~0.base ~B~0.base))))))) .cse419 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse531 (select |c_#memory_int#4| ~A~0.base)) (.cse529 (+ ~A~0.offset 4))) (let ((.cse527 (select .cse531 .cse529)) (.cse526 (select .cse531 ~A~0.offset))) (and (= .cse526 c_~mina~0) (<= (+ .cse526 1) .cse527) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse530 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse528 (select .cse530 (+ ~B~0.offset 4)))) (and (<= (+ .cse528 .cse527) .cse11) (not (= .cse529 ~B~0.offset)) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse528 .cse526)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse530 ~B~0.offset) .cse526)))))) (= c_~minc~0 (+ .cse526 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse534 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse533 (select .cse534 (+ ~A~0.offset 4))) (.cse532 (select .cse534 ~A~0.offset))) (and (<= (+ .cse532 c_~minb~0) c_~minc~0) (= .cse532 c_~mina~0) (<= (+ .cse532 1) .cse533) (<= (+ c_~minb~0 .cse533) .cse11) (= c_~minc~0 (+ .cse532 .cse18)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse538 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse535 (select .cse538 ~A~0.offset))) (and (= .cse535 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse539 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse537 (select .cse539 (+ ~B~0.offset 4))) (.cse536 (+ ~A~0.offset 4))) (and (not (= .cse536 ~B~0.offset)) (<= (* .cse537 2) .cse11) (<= (+ .cse535 1) .cse537) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse537 .cse535)) (= .cse537 (select .cse538 .cse536)) (= c_~minc~0 (+ (select .cse539 ~B~0.offset) .cse535)))))) (= c_~minc~0 (+ .cse535 c_~minb~0)))))) (and .cse165 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse540 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse542 (select .cse540 (+ ~B~0.offset 4)))) (let ((.cse541 (+ .cse542 c_~minb~0))) (and (= (select .cse540 ~B~0.offset) c_~minb~0) (<= .cse541 .cse11) (= c_~minc~0 .cse541) (<= .cse97 .cse542) (not (= ~B~0.offset .cse1))))))) .cse180) .cse420 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse547 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse544 (select .cse547 (+ ~A~0.offset 4))) (.cse543 (select .cse547 ~A~0.offset))) (and (= .cse543 c_~mina~0) (<= (+ .cse543 1) .cse544) (= c_~minc~0 (+ .cse543 c_~minb~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse546 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse545 (select .cse546 (+ ~B~0.offset 4)))) (and (<= (+ .cse545 .cse544) .cse11) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse545 .cse543)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse546 ~B~0.offset) .cse543)))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse551 (select |c_#memory_int#4| ~B~0.base)) (.cse552 (+ ~B~0.offset 4))) (let ((.cse548 (select .cse551 .cse552))) (and (<= (+ .cse548 c_~mina~0) .cse11) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse550 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse549 (select .cse550 ~A~0.offset))) (and (<= c_~mina~0 .cse549) (<= .cse4 (+ .cse548 .cse549)) (= c_~minc~0 (+ .cse549 c_~minb~0)) (= c_~minc~0 (* 2 .cse549)) (= c_~mina~0 (select .cse550 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse551 ~B~0.offset) .cse549)) (not (= ~A~0.offset .cse552)))))) (not (= ~A~0.base ~B~0.base)))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse553 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse554 (select .cse553 (+ ~B~0.offset 4)))) (and (= (select .cse553 ~B~0.offset) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse554 .cse3) .cse11) (<= .cse97 .cse554) (not (= ~B~0.offset .cse1)))))) .cse98 .cse418) .cse421 .cse422 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse557 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse555 (select .cse557 ~A~0.offset)) (.cse556 (select .cse557 (+ ~A~0.offset 4)))) (and (= .cse555 c_~mina~0) (<= (+ .cse555 1) .cse556) (<= .cse4 (+ .cse3 .cse555)) (= c_~minc~0 (+ .cse555 c_~minb~0)) (<= (+ .cse3 .cse556) .cse11))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse561 (select |c_#memory_int#4| ~B~0.base)) (.cse562 (+ ~B~0.offset 4))) (let ((.cse558 (select .cse561 .cse562))) (and (<= (+ .cse558 c_~mina~0) .cse11) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse560 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse559 (select .cse560 ~A~0.offset))) (and (<= c_~mina~0 .cse559) (<= .cse4 (+ .cse558 .cse559)) (= c_~minc~0 (+ .cse559 c_~minb~0)) (= c_~mina~0 (select .cse560 (+ ~A~0.offset 4))) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse561 ~B~0.offset) .cse559)) (not (= ~A~0.offset .cse562)))))))))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse563 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse563 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse566 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse565 (+ ~A~0.offset 4)) (.cse564 (select .cse566 ~A~0.offset))) (and (<= (+ .cse564 c_~minb~0) c_~minc~0) (not (= .cse565 ~B~0.offset)) (= c_~minb~0 (select .cse566 .cse565)) (= c_~minc~0 (+ (select .cse563 ~B~0.offset) .cse564)) (<= c_~minb~0 .cse564)))))))))) (and .cse231 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse567 (select |c_#memory_int#4| ~B~0.base))) (and (= c_~minc~0 (+ (select .cse567 ~B~0.offset) .cse18)) (= (select .cse567 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset .cse1))))) .cse25)) .cse83 .cse84) (and .cse165 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse568 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse569 (select .cse568 ~B~0.offset))) (and (= (select .cse568 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ .cse569 c_~minb~0)) (not (= .cse96 ~B~0.offset)) (<= c_~minb~0 .cse569) (not (= ~B~0.offset .cse1)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse570 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse571 (select .cse570 ~B~0.offset))) (and (= (select .cse570 (+ ~B~0.offset 4)) c_~minb~0) (not (= c_~C~0.base ~B~0.base)) (not (= .cse96 ~B~0.offset)) (<= (+ .cse571 c_~minb~0) c_~minc~0) (<= c_~minb~0 .cse571) (not (= ~B~0.offset .cse1)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse572 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse573 (select .cse572 ~B~0.offset))) (and (= (select .cse572 (+ ~B~0.offset 4)) c_~minb~0) (not (= .cse96 ~B~0.offset)) (<= (+ .cse573 c_~minb~0) c_~minc~0) (<= c_~minb~0 .cse573) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse1))))))) .cse83 .cse84) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse578 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse575 (select .cse578 (+ ~A~0.offset 4))) (.cse574 (select .cse578 ~A~0.offset))) (and (= .cse574 c_~mina~0) (<= (+ .cse574 1) .cse575) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse577 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse576 (select .cse577 (+ ~B~0.offset 4)))) (and (<= (+ .cse576 .cse575) .cse11) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse576 .cse574)) (= c_~minc~0 (+ (select .cse577 ~B~0.offset) .cse574)))))) (= c_~minc~0 (+ .cse574 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse582 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse581 (select .cse582 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse583 (select |c_#memory_int#4| ~B~0.base)) (.cse584 (+ ~B~0.offset 4))) (let ((.cse580 (select .cse583 .cse584)) (.cse579 (+ ~A~0.offset 4))) (and (not (= .cse579 ~B~0.offset)) (<= (* .cse580 2) .cse11) (<= (+ .cse581 1) .cse580) (= .cse580 (select .cse582 .cse579)) (= c_~minc~0 (+ (select .cse583 ~B~0.offset) .cse581)) (not (= ~A~0.offset .cse584)))))) (= .cse581 c_~mina~0) (= c_~minc~0 (+ .cse581 c_~minb~0)) (= c_~minc~0 (* 2 .cse581)))))) (and .cse33 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse585 (select |c_#memory_int#4| ~B~0.base))) (and (= (select .cse585 (+ ~B~0.offset 4)) c_~minb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse587 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse586 (select .cse587 ~A~0.offset))) (and (<= (+ .cse586 c_~minb~0) c_~minc~0) (<= c_~mina~0 .cse586) (= c_~mina~0 (select .cse587 (+ ~A~0.offset 4))) (= c_~minc~0 (+ (select .cse585 ~B~0.offset) .cse586)))))) (not (= ~A~0.base ~B~0.base))))))) (and .cse24 .cse170 .cse25))) (and .cse169 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse588 (select |c_#memory_int#4| ~B~0.base)) (.cse589 (+ ~B~0.offset 4))) (and (= c_~minc~0 (+ (select .cse588 ~B~0.offset) .cse18)) (= (select .cse588 .cse589) c_~minb~0) (not (= c_~C~0.offset .cse589)) (not (= ~B~0.offset c_~C~0.offset))))) .cse25 .cse440 .cse28) (and .cse15 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse590 (select |c_#memory_int#4| ~B~0.base)) (.cse592 (+ ~B~0.offset 4))) (let ((.cse591 (select .cse590 .cse592))) (and (= c_~minc~0 (+ (select .cse590 ~B~0.offset) .cse18)) (<= .cse4 (+ .cse591 .cse18)) (not (= c_~C~0.offset .cse592)) (<= (+ c_~minc~0 .cse591) .cse17) (not (= ~B~0.offset c_~C~0.offset)))))) .cse19) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse593 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse594 (select .cse593 (+ ~B~0.offset 4)))) (and (= (select .cse593 ~B~0.offset) c_~minb~0) (<= (+ .cse594 .cse3) .cse11) (= c_~minc~0 (+ .cse594 c_~minb~0)) (not (= .cse96 ~B~0.offset)) (<= .cse97 .cse594) (not (= ~B~0.offset .cse1)))))) .cse98 .cse418) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse595 (select |c_#memory_int#4| ~B~0.base)) (.cse596 (+ ~B~0.offset 4))) (and (= (select .cse595 .cse596) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse597 (+ ~A~0.offset 4))) (and (not (= .cse597 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse600 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse599 (select .cse600 .cse597)) (.cse598 (select .cse600 ~A~0.offset))) (and (<= (+ .cse598 c_~minb~0) c_~minc~0) (= .cse598 c_~mina~0) (<= (+ .cse598 1) .cse599) (= c_~minc~0 (* 2 .cse598)) (<= (+ c_~minb~0 .cse599) .cse11) (= c_~minc~0 (+ (select .cse595 ~B~0.offset) .cse598)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse596)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse603 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse602 (select .cse603 (+ ~A~0.offset 4))) (.cse601 (select .cse603 ~A~0.offset))) (and (= .cse601 c_~mina~0) (<= (+ .cse601 1) .cse602) (= c_~minc~0 (+ .cse601 c_~minb~0)) (<= (+ .cse601 .cse602) .cse11) (<= .cse4 (* 2 .cse601)) (= c_~minc~0 (+ .cse601 .cse18)))))))) (and .cse24 .cse19 .cse88) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse607 (select |c_#memory_int#4| ~A~0.base))) (let ((.cse604 (select .cse607 ~A~0.offset))) (and (= .cse604 c_~mina~0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse608 (select |c_#memory_int#4| ~B~0.base))) (let ((.cse606 (select .cse608 (+ ~B~0.offset 4))) (.cse605 (+ ~A~0.offset 4))) (and (not (= .cse605 ~B~0.offset)) (<= (* .cse606 2) .cse11) (<= (+ .cse604 1) .cse606) (not (= ~A~0.base ~B~0.base)) (<= .cse4 (+ .cse606 .cse604)) (= .cse606 (select .cse607 .cse605)) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse608 ~B~0.offset) .cse604)))))) (= c_~minc~0 (+ .cse604 c_~minb~0)))))))))))) is different from true [2024-02-19 15:23:12,451 WARN L293 SmtUtils]: Spent 8.41s on a formula simplification. DAG size of input: 993 DAG size of output: 993 (called from [L 391] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)