./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 023d838f Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/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 ../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.fs.icfgbuilder-eval-023d838-m [2024-11-10 10:36:36,455 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-10 10:36:36,537 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-11-10 10:36:36,542 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-10 10:36:36,543 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-10 10:36:36,571 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-10 10:36:36,571 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-10 10:36:36,572 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-10 10:36:36,572 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-10 10:36:36,572 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-10 10:36:36,573 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-10 10:36:36,574 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-10 10:36:36,575 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-10 10:36:36,580 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-10 10:36:36,581 INFO L153 SettingsManager]: * Use SBE=true [2024-11-10 10:36:36,581 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-10 10:36:36,582 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-10 10:36:36,583 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-10 10:36:36,584 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-10 10:36:36,584 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-10 10:36:36,584 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-10 10:36:36,585 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-10 10:36:36,585 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-10 10:36:36,585 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-10 10:36:36,586 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-10 10:36:36,586 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-10 10:36:36,586 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-10 10:36:36,586 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-10 10:36:36,587 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2024-11-10 10:36:36,587 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-10 10:36:36,587 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-11-10 10:36:36,588 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-10 10:36:36,588 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-10 10:36:36,588 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-10 10:36:36,589 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-10 10:36:36,589 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-10 10:36:36,589 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-10 10:36:36,590 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-10 10:36:36,590 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-10 10:36:36,590 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-10 10:36:36,591 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-10 10:36:36,591 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-10 10:36:36,591 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 [2024-11-10 10:36:36,858 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-10 10:36:36,885 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-10 10:36:36,889 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-10 10:36:36,890 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-10 10:36:36,891 INFO L274 PluginConnector]: CDTParser initialized [2024-11-10 10:36:36,892 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2024-11-10 10:36:38,372 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-10 10:36:38,581 INFO L384 CDTParser]: Found 1 translation units. [2024-11-10 10:36:38,582 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2024-11-10 10:36:38,591 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6f404b6e1/a3d5784939184a6fabb3ddac2c6b7d3d/FLAG23601e5b5 [2024-11-10 10:36:38,606 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6f404b6e1/a3d5784939184a6fabb3ddac2c6b7d3d [2024-11-10 10:36:38,609 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-10 10:36:38,610 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-10 10:36:38,611 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-10 10:36:38,611 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-10 10:36:38,617 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-10 10:36:38,618 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:38,620 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1020e403 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38, skipping insertion in model container [2024-11-10 10:36:38,621 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:38,648 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-10 10:36:38,871 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-11-10 10:36:38,901 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-10 10:36:38,910 INFO L200 MainTranslator]: Completed pre-run [2024-11-10 10:36:38,934 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-11-10 10:36:38,947 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-10 10:36:38,963 INFO L204 MainTranslator]: Completed translation [2024-11-10 10:36:38,964 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38 WrapperNode [2024-11-10 10:36:38,964 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-10 10:36:38,965 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-10 10:36:38,965 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-10 10:36:38,965 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-10 10:36:38,972 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:38,981 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,012 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 218 [2024-11-10 10:36:39,013 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-10 10:36:39,015 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-10 10:36:39,015 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-10 10:36:39,015 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-10 10:36:39,024 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,025 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,028 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,061 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2024-11-10 10:36:39,065 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,065 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,082 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,083 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,085 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,090 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,098 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-10 10:36:39,099 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2024-11-10 10:36:39,099 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2024-11-10 10:36:39,099 INFO L274 PluginConnector]: IcfgBuilder initialized [2024-11-10 10:36:39,100 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (1/1) ... [2024-11-10 10:36:39,109 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-10 10:36:39,125 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 10:36:39,145 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-11-10 10:36:39,149 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-11-10 10:36:39,198 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-10 10:36:39,198 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-11-10 10:36:39,199 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-11-10 10:36:39,199 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-11-10 10:36:39,199 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-11-10 10:36:39,199 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-11-10 10:36:39,199 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-11-10 10:36:39,199 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-10 10:36:39,199 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-10 10:36:39,200 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-10 10:36:39,200 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-10 10:36:39,200 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-11-10 10:36:39,200 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-11-10 10:36:39,200 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-10 10:36:39,201 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-10 10:36:39,201 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-10 10:36:39,201 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-10 10:36:39,201 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-10 10:36:39,203 WARN L225 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-10 10:36:39,304 INFO L256 CfgBuilder]: Building ICFG [2024-11-10 10:36:39,307 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-10 10:36:39,757 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-10 10:36:39,757 INFO L307 CfgBuilder]: Performing block encoding [2024-11-10 10:36:40,104 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-10 10:36:40,106 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2024-11-10 10:36:40,106 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 10.11 10:36:40 BoogieIcfgContainer [2024-11-10 10:36:40,106 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2024-11-10 10:36:40,110 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-10 10:36:40,110 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-10 10:36:40,114 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-10 10:36:40,115 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.11 10:36:38" (1/3) ... [2024-11-10 10:36:40,116 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4d9bc7a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.11 10:36:40, skipping insertion in model container [2024-11-10 10:36:40,116 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.11 10:36:38" (2/3) ... [2024-11-10 10:36:40,118 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4d9bc7a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.11 10:36:40, skipping insertion in model container [2024-11-10 10:36:40,118 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 10.11 10:36:40" (3/3) ... [2024-11-10 10:36:40,120 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2024-11-10 10:36:40,140 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-10 10:36:40,140 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-11-10 10:36:40,140 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-10 10:36:40,199 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-11-10 10:36:40,241 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 54 places, 57 transitions, 135 flow [2024-11-10 10:36:40,280 INFO L124 PetriNetUnfolderBase]: 13/54 cut-off events. [2024-11-10 10:36:40,280 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-10 10:36:40,284 INFO L83 FinitePrefix]: Finished finitePrefix Result has 67 conditions, 54 events. 13/54 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 68 event pairs, 0 based on Foata normal form. 0/40 useless extension candidates. Maximal degree in co-relation 38. Up to 2 conditions per place. [2024-11-10 10:36:40,284 INFO L82 GeneralOperation]: Start removeDead. Operand has 54 places, 57 transitions, 135 flow [2024-11-10 10:36:40,288 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 50 places, 53 transitions, 124 flow [2024-11-10 10:36:40,296 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-10 10:36:40,304 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@37a80cc3, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-10 10:36:40,304 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-11-10 10:36:40,324 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-10 10:36:40,325 INFO L124 PetriNetUnfolderBase]: 13/52 cut-off events. [2024-11-10 10:36:40,325 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-10 10:36:40,326 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:40,326 INFO L204 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] [2024-11-10 10:36:40,327 INFO L396 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-11-10 10:36:40,336 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:40,336 INFO L85 PathProgramCache]: Analyzing trace with hash 1711103227, now seen corresponding path program 1 times [2024-11-10 10:36:40,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:40,344 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [426649172] [2024-11-10 10:36:40,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:40,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:40,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:40,614 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 10:36:40,615 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:40,617 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [426649172] [2024-11-10 10:36:40,618 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [426649172] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 10:36:40,618 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 10:36:40,622 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-10 10:36:40,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1355521601] [2024-11-10 10:36:40,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 10:36:40,673 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-11-10 10:36:40,687 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 10:36:40,723 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-11-10 10:36:40,724 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-11-10 10:36:40,725 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 21 out of 57 [2024-11-10 10:36:40,728 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 53 transitions, 124 flow. Second operand has 2 states, 2 states have (on average 34.0) internal successors, (68), 2 states have internal predecessors, (68), 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-11-10 10:36:40,728 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 10:36:40,728 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 21 of 57 [2024-11-10 10:36:40,729 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 10:36:40,948 INFO L124 PetriNetUnfolderBase]: 447/732 cut-off events. [2024-11-10 10:36:40,948 INFO L125 PetriNetUnfolderBase]: For 50/50 co-relation queries the response was YES. [2024-11-10 10:36:40,954 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1417 conditions, 732 events. 447/732 cut-off events. For 50/50 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 3322 event pairs, 305 based on Foata normal form. 131/768 useless extension candidates. Maximal degree in co-relation 1190. Up to 618 conditions per place. [2024-11-10 10:36:40,963 INFO L140 encePairwiseOnDemand]: 51/57 looper letters, 29 selfloop transitions, 0 changer transitions 0/47 dead transitions. [2024-11-10 10:36:40,963 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 47 transitions, 170 flow [2024-11-10 10:36:40,966 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-11-10 10:36:40,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2024-11-10 10:36:40,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 77 transitions. [2024-11-10 10:36:40,978 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6754385964912281 [2024-11-10 10:36:40,980 INFO L175 Difference]: Start difference. First operand has 50 places, 53 transitions, 124 flow. Second operand 2 states and 77 transitions. [2024-11-10 10:36:40,981 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 47 transitions, 170 flow [2024-11-10 10:36:40,989 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 45 places, 47 transitions, 158 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-11-10 10:36:40,992 INFO L231 Difference]: Finished difference. Result has 45 places, 47 transitions, 100 flow [2024-11-10 10:36:40,995 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=57, PETRI_DIFFERENCE_MINUEND_FLOW=100, PETRI_DIFFERENCE_MINUEND_PLACES=44, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=47, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=47, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=100, PETRI_PLACES=45, PETRI_TRANSITIONS=47} [2024-11-10 10:36:40,999 INFO L277 CegarLoopForPetriNet]: 50 programPoint places, -5 predicate places. [2024-11-10 10:36:40,999 INFO L471 AbstractCegarLoop]: Abstraction has has 45 places, 47 transitions, 100 flow [2024-11-10 10:36:40,999 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 34.0) internal successors, (68), 2 states have internal predecessors, (68), 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-11-10 10:36:40,999 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:41,000 INFO L204 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, 1] [2024-11-10 10:36:41,000 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-10 10:36:41,002 INFO L396 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-11-10 10:36:41,004 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:41,005 INFO L85 PathProgramCache]: Analyzing trace with hash -508344980, now seen corresponding path program 1 times [2024-11-10 10:36:41,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:41,005 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [110898587] [2024-11-10 10:36:41,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:41,006 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:41,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:41,323 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-10 10:36:41,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:41,324 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [110898587] [2024-11-10 10:36:41,324 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [110898587] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 10:36:41,324 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 10:36:41,324 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-10 10:36:41,325 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2134501408] [2024-11-10 10:36:41,325 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 10:36:41,327 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-10 10:36:41,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 10:36:41,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-10 10:36:41,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-10 10:36:41,354 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 18 out of 57 [2024-11-10 10:36:41,355 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 45 places, 47 transitions, 100 flow. Second operand has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 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-11-10 10:36:41,355 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 10:36:41,355 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 18 of 57 [2024-11-10 10:36:41,355 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 10:36:41,533 INFO L124 PetriNetUnfolderBase]: 447/734 cut-off events. [2024-11-10 10:36:41,534 INFO L125 PetriNetUnfolderBase]: For 5/5 co-relation queries the response was YES. [2024-11-10 10:36:41,537 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1374 conditions, 734 events. 447/734 cut-off events. For 5/5 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 3323 event pairs, 305 based on Foata normal form. 0/636 useless extension candidates. Maximal degree in co-relation 1371. Up to 621 conditions per place. [2024-11-10 10:36:41,543 INFO L140 encePairwiseOnDemand]: 54/57 looper letters, 31 selfloop transitions, 2 changer transitions 0/48 dead transitions. [2024-11-10 10:36:41,544 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 47 places, 48 transitions, 168 flow [2024-11-10 10:36:41,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-10 10:36:41,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-10 10:36:41,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2024-11-10 10:36:41,547 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5146198830409356 [2024-11-10 10:36:41,547 INFO L175 Difference]: Start difference. First operand has 45 places, 47 transitions, 100 flow. Second operand 3 states and 88 transitions. [2024-11-10 10:36:41,547 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 47 places, 48 transitions, 168 flow [2024-11-10 10:36:41,548 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 48 transitions, 168 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-11-10 10:36:41,551 INFO L231 Difference]: Finished difference. Result has 48 places, 48 transitions, 112 flow [2024-11-10 10:36:41,551 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=57, PETRI_DIFFERENCE_MINUEND_FLOW=100, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=47, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=112, PETRI_PLACES=48, PETRI_TRANSITIONS=48} [2024-11-10 10:36:41,552 INFO L277 CegarLoopForPetriNet]: 50 programPoint places, -2 predicate places. [2024-11-10 10:36:41,552 INFO L471 AbstractCegarLoop]: Abstraction has has 48 places, 48 transitions, 112 flow [2024-11-10 10:36:41,553 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 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-11-10 10:36:41,553 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:41,553 INFO L204 CegarLoopForPetriNet]: trace histogram [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-11-10 10:36:41,553 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-10 10:36:41,555 INFO L396 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-11-10 10:36:41,556 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:41,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1614936836, now seen corresponding path program 1 times [2024-11-10 10:36:41,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:41,556 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2104322155] [2024-11-10 10:36:41,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:41,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:41,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:41,762 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-10 10:36:41,762 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:41,762 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2104322155] [2024-11-10 10:36:41,763 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2104322155] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 10:36:41,763 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 10:36:41,763 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-10 10:36:41,763 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [545010408] [2024-11-10 10:36:41,763 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 10:36:41,764 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-10 10:36:41,764 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 10:36:41,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-10 10:36:41,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2024-11-10 10:36:41,790 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 18 out of 57 [2024-11-10 10:36:41,790 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 48 places, 48 transitions, 112 flow. Second operand has 4 states, 4 states have (on average 24.0) internal successors, (96), 4 states have internal predecessors, (96), 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-11-10 10:36:41,791 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 10:36:41,791 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 18 of 57 [2024-11-10 10:36:41,791 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 10:36:41,946 INFO L124 PetriNetUnfolderBase]: 447/738 cut-off events. [2024-11-10 10:36:41,946 INFO L125 PetriNetUnfolderBase]: For 7/7 co-relation queries the response was YES. [2024-11-10 10:36:41,949 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1387 conditions, 738 events. 447/738 cut-off events. For 7/7 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 3319 event pairs, 305 based on Foata normal form. 0/640 useless extension candidates. Maximal degree in co-relation 1382. Up to 620 conditions per place. [2024-11-10 10:36:41,953 INFO L140 encePairwiseOnDemand]: 49/57 looper letters, 29 selfloop transitions, 6 changer transitions 0/50 dead transitions. [2024-11-10 10:36:41,954 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 50 transitions, 186 flow [2024-11-10 10:36:41,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-10 10:36:41,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-11-10 10:36:41,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 109 transitions. [2024-11-10 10:36:41,958 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4780701754385965 [2024-11-10 10:36:41,958 INFO L175 Difference]: Start difference. First operand has 48 places, 48 transitions, 112 flow. Second operand 4 states and 109 transitions. [2024-11-10 10:36:41,958 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 50 transitions, 186 flow [2024-11-10 10:36:41,959 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 50 places, 50 transitions, 184 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-10 10:36:41,961 INFO L231 Difference]: Finished difference. Result has 51 places, 50 transitions, 140 flow [2024-11-10 10:36:41,961 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=57, PETRI_DIFFERENCE_MINUEND_FLOW=110, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=48, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=42, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=140, PETRI_PLACES=51, PETRI_TRANSITIONS=50} [2024-11-10 10:36:41,962 INFO L277 CegarLoopForPetriNet]: 50 programPoint places, 1 predicate places. [2024-11-10 10:36:41,963 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 50 transitions, 140 flow [2024-11-10 10:36:41,963 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 24.0) internal successors, (96), 4 states have internal predecessors, (96), 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-11-10 10:36:41,963 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:41,964 INFO L204 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-11-10 10:36:41,964 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-10 10:36:41,964 INFO L396 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-11-10 10:36:41,965 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:41,965 INFO L85 PathProgramCache]: Analyzing trace with hash 2106579300, now seen corresponding path program 1 times [2024-11-10 10:36:41,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:41,965 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [441075176] [2024-11-10 10:36:41,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:41,966 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:42,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:42,135 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-10 10:36:42,136 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:42,136 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [441075176] [2024-11-10 10:36:42,136 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [441075176] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-10 10:36:42,136 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-10 10:36:42,136 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-10 10:36:42,137 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [474020635] [2024-11-10 10:36:42,137 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 10:36:42,137 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-10 10:36:42,138 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 10:36:42,139 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-10 10:36:42,139 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-10 10:36:42,139 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 21 out of 57 [2024-11-10 10:36:42,140 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 50 transitions, 140 flow. Second operand has 3 states, 3 states have (on average 28.666666666666668) internal successors, (86), 3 states have internal predecessors, (86), 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-11-10 10:36:42,140 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 10:36:42,140 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 21 of 57 [2024-11-10 10:36:42,140 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 10:36:42,303 INFO L124 PetriNetUnfolderBase]: 651/1158 cut-off events. [2024-11-10 10:36:42,304 INFO L125 PetriNetUnfolderBase]: For 32/32 co-relation queries the response was YES. [2024-11-10 10:36:42,308 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2079 conditions, 1158 events. 651/1158 cut-off events. For 32/32 co-relation queries the response was YES. Maximal size of possible extension queue 63. Compared 5779 event pairs, 226 based on Foata normal form. 1/1006 useless extension candidates. Maximal degree in co-relation 2073. Up to 459 conditions per place. [2024-11-10 10:36:42,313 INFO L140 encePairwiseOnDemand]: 54/57 looper letters, 42 selfloop transitions, 2 changer transitions 2/64 dead transitions. [2024-11-10 10:36:42,313 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 64 transitions, 263 flow [2024-11-10 10:36:42,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-10 10:36:42,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-10 10:36:42,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 107 transitions. [2024-11-10 10:36:42,315 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6257309941520468 [2024-11-10 10:36:42,316 INFO L175 Difference]: Start difference. First operand has 51 places, 50 transitions, 140 flow. Second operand 3 states and 107 transitions. [2024-11-10 10:36:42,316 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 64 transitions, 263 flow [2024-11-10 10:36:42,317 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 64 transitions, 257 flow, removed 0 selfloop flow, removed 2 redundant places. [2024-11-10 10:36:42,319 INFO L231 Difference]: Finished difference. Result has 52 places, 51 transitions, 146 flow [2024-11-10 10:36:42,319 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=57, PETRI_DIFFERENCE_MINUEND_FLOW=134, PETRI_DIFFERENCE_MINUEND_PLACES=49, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=50, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=48, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=146, PETRI_PLACES=52, PETRI_TRANSITIONS=51} [2024-11-10 10:36:42,320 INFO L277 CegarLoopForPetriNet]: 50 programPoint places, 2 predicate places. [2024-11-10 10:36:42,320 INFO L471 AbstractCegarLoop]: Abstraction has has 52 places, 51 transitions, 146 flow [2024-11-10 10:36:42,322 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 28.666666666666668) internal successors, (86), 3 states have internal predecessors, (86), 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-11-10 10:36:42,322 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:42,322 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 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, 1, 1, 1, 1, 1] [2024-11-10 10:36:42,323 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-11-10 10:36:42,323 INFO L396 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-11-10 10:36:42,323 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:42,323 INFO L85 PathProgramCache]: Analyzing trace with hash -1835749703, now seen corresponding path program 1 times [2024-11-10 10:36:42,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:42,324 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1835691116] [2024-11-10 10:36:42,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:42,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:42,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:42,569 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-10 10:36:42,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:42,570 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1835691116] [2024-11-10 10:36:42,570 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1835691116] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 10:36:42,571 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [303864165] [2024-11-10 10:36:42,571 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:42,571 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 10:36:42,571 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 10:36:42,573 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-11-10 10:36:42,575 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-11-10 10:36:42,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:42,735 INFO L255 TraceCheckSpWp]: Trace formula consists of 286 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-10 10:36:42,741 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 10:36:42,872 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-10 10:36:42,873 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 10:36:42,984 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-10 10:36:42,985 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [303864165] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-10 10:36:42,985 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-10 10:36:42,985 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-11-10 10:36:42,985 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [824669073] [2024-11-10 10:36:42,986 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-10 10:36:42,986 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-11-10 10:36:42,987 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 10:36:42,987 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-10 10:36:42,987 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2024-11-10 10:36:43,044 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 16 out of 57 [2024-11-10 10:36:43,045 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 52 places, 51 transitions, 146 flow. Second operand has 12 states, 12 states have (on average 19.416666666666668) internal successors, (233), 12 states have internal predecessors, (233), 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-11-10 10:36:43,045 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 10:36:43,045 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 16 of 57 [2024-11-10 10:36:43,045 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 10:36:43,476 INFO L124 PetriNetUnfolderBase]: 1244/2020 cut-off events. [2024-11-10 10:36:43,477 INFO L125 PetriNetUnfolderBase]: For 131/131 co-relation queries the response was YES. [2024-11-10 10:36:43,485 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3917 conditions, 2020 events. 1244/2020 cut-off events. For 131/131 co-relation queries the response was YES. Maximal size of possible extension queue 85. Compared 9991 event pairs, 506 based on Foata normal form. 0/1867 useless extension candidates. Maximal degree in co-relation 3910. Up to 880 conditions per place. [2024-11-10 10:36:43,493 INFO L140 encePairwiseOnDemand]: 44/57 looper letters, 41 selfloop transitions, 10 changer transitions 41/105 dead transitions. [2024-11-10 10:36:43,494 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 105 transitions, 476 flow [2024-11-10 10:36:43,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-10 10:36:43,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-11-10 10:36:43,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 236 transitions. [2024-11-10 10:36:43,496 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4600389863547758 [2024-11-10 10:36:43,497 INFO L175 Difference]: Start difference. First operand has 52 places, 51 transitions, 146 flow. Second operand 9 states and 236 transitions. [2024-11-10 10:36:43,497 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 105 transitions, 476 flow [2024-11-10 10:36:43,498 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 59 places, 105 transitions, 474 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-10 10:36:43,502 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 200 flow [2024-11-10 10:36:43,503 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=57, PETRI_DIFFERENCE_MINUEND_FLOW=144, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=200, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2024-11-10 10:36:43,504 INFO L277 CegarLoopForPetriNet]: 50 programPoint places, 13 predicate places. [2024-11-10 10:36:43,504 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 200 flow [2024-11-10 10:36:43,504 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 19.416666666666668) internal successors, (233), 12 states have internal predecessors, (233), 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-11-10 10:36:43,507 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:43,507 INFO L204 CegarLoopForPetriNet]: trace histogram [3, 3, 3, 2, 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, 1, 1] [2024-11-10 10:36:43,530 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-11-10 10:36:43,708 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 10:36:43,709 INFO L396 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-11-10 10:36:43,709 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:43,709 INFO L85 PathProgramCache]: Analyzing trace with hash 632960081, now seen corresponding path program 2 times [2024-11-10 10:36:43,709 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:43,710 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1817806474] [2024-11-10 10:36:43,710 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:43,710 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:43,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:43,949 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-11-10 10:36:43,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:43,950 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1817806474] [2024-11-10 10:36:43,950 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1817806474] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 10:36:43,950 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1959030929] [2024-11-10 10:36:43,951 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-10 10:36:43,951 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 10:36:43,951 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 10:36:43,953 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-11-10 10:36:43,955 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-11-10 10:36:44,077 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-10 10:36:44,078 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-10 10:36:44,080 INFO L255 TraceCheckSpWp]: Trace formula consists of 316 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-10 10:36:44,082 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 10:36:44,173 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-11-10 10:36:44,175 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 10:36:44,263 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-11-10 10:36:44,264 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1959030929] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-10 10:36:44,264 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-10 10:36:44,264 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-11-10 10:36:44,264 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507954425] [2024-11-10 10:36:44,264 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 10:36:44,265 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-10 10:36:44,265 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 10:36:44,266 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-10 10:36:44,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-11-10 10:36:44,289 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 17 out of 57 [2024-11-10 10:36:44,290 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 54 transitions, 200 flow. Second operand has 6 states, 6 states have (on average 22.166666666666668) internal successors, (133), 6 states have internal predecessors, (133), 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-11-10 10:36:44,290 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 10:36:44,290 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 17 of 57 [2024-11-10 10:36:44,290 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 10:36:44,522 INFO L124 PetriNetUnfolderBase]: 992/1713 cut-off events. [2024-11-10 10:36:44,522 INFO L125 PetriNetUnfolderBase]: For 172/172 co-relation queries the response was YES. [2024-11-10 10:36:44,526 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3419 conditions, 1713 events. 992/1713 cut-off events. For 172/172 co-relation queries the response was YES. Maximal size of possible extension queue 85. Compared 9240 event pairs, 362 based on Foata normal form. 0/1519 useless extension candidates. Maximal degree in co-relation 3408. Up to 1138 conditions per place. [2024-11-10 10:36:44,534 INFO L140 encePairwiseOnDemand]: 52/57 looper letters, 51 selfloop transitions, 5 changer transitions 0/70 dead transitions. [2024-11-10 10:36:44,534 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 64 places, 70 transitions, 352 flow [2024-11-10 10:36:44,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 10:36:44,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 10:36:44,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 153 transitions. [2024-11-10 10:36:44,558 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4473684210526316 [2024-11-10 10:36:44,558 INFO L175 Difference]: Start difference. First operand has 63 places, 54 transitions, 200 flow. Second operand 6 states and 153 transitions. [2024-11-10 10:36:44,558 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 64 places, 70 transitions, 352 flow [2024-11-10 10:36:44,564 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 59 places, 70 transitions, 325 flow, removed 7 selfloop flow, removed 5 redundant places. [2024-11-10 10:36:44,566 INFO L231 Difference]: Finished difference. Result has 60 places, 55 transitions, 193 flow [2024-11-10 10:36:44,568 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=57, PETRI_DIFFERENCE_MINUEND_FLOW=175, PETRI_DIFFERENCE_MINUEND_PLACES=54, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=193, PETRI_PLACES=60, PETRI_TRANSITIONS=55} [2024-11-10 10:36:44,568 INFO L277 CegarLoopForPetriNet]: 50 programPoint places, 10 predicate places. [2024-11-10 10:36:44,569 INFO L471 AbstractCegarLoop]: Abstraction has has 60 places, 55 transitions, 193 flow [2024-11-10 10:36:44,569 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 22.166666666666668) internal successors, (133), 6 states have internal predecessors, (133), 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-11-10 10:36:44,569 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:44,569 INFO L204 CegarLoopForPetriNet]: trace histogram [3, 3, 3, 2, 2, 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, 1, 1] [2024-11-10 10:36:44,589 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-11-10 10:36:44,773 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2024-11-10 10:36:44,774 INFO L396 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-11-10 10:36:44,774 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:44,775 INFO L85 PathProgramCache]: Analyzing trace with hash -2055340976, now seen corresponding path program 1 times [2024-11-10 10:36:44,775 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:44,775 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1193361537] [2024-11-10 10:36:44,775 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:44,775 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:44,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:44,978 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-11-10 10:36:44,978 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:44,978 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1193361537] [2024-11-10 10:36:44,979 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1193361537] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 10:36:44,979 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1369860422] [2024-11-10 10:36:44,979 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:44,979 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 10:36:44,979 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 10:36:44,981 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-11-10 10:36:44,982 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-11-10 10:36:45,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:45,098 INFO L255 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-10 10:36:45,101 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 10:36:45,220 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-11-10 10:36:45,221 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-10 10:36:45,319 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-11-10 10:36:45,319 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1369860422] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-10 10:36:45,319 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-10 10:36:45,320 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-11-10 10:36:45,320 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [564102306] [2024-11-10 10:36:45,320 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-10 10:36:45,320 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-10 10:36:45,321 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-10 10:36:45,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-10 10:36:45,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-11-10 10:36:45,352 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 16 out of 57 [2024-11-10 10:36:45,353 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 60 places, 55 transitions, 193 flow. Second operand has 6 states, 6 states have (on average 21.333333333333332) internal successors, (128), 6 states have internal predecessors, (128), 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-11-10 10:36:45,353 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-10 10:36:45,353 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 16 of 57 [2024-11-10 10:36:45,353 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-10 10:36:45,649 INFO L124 PetriNetUnfolderBase]: 1408/2324 cut-off events. [2024-11-10 10:36:45,650 INFO L125 PetriNetUnfolderBase]: For 837/960 co-relation queries the response was YES. [2024-11-10 10:36:45,654 INFO L83 FinitePrefix]: Finished finitePrefix Result has 5039 conditions, 2324 events. 1408/2324 cut-off events. For 837/960 co-relation queries the response was YES. Maximal size of possible extension queue 109. Compared 12674 event pairs, 594 based on Foata normal form. 0/2051 useless extension candidates. Maximal degree in co-relation 5030. Up to 1058 conditions per place. [2024-11-10 10:36:45,665 INFO L140 encePairwiseOnDemand]: 51/57 looper letters, 51 selfloop transitions, 6 changer transitions 0/70 dead transitions. [2024-11-10 10:36:45,665 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 70 transitions, 351 flow [2024-11-10 10:36:45,665 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-10 10:36:45,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-10 10:36:45,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 146 transitions. [2024-11-10 10:36:45,666 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4269005847953216 [2024-11-10 10:36:45,666 INFO L175 Difference]: Start difference. First operand has 60 places, 55 transitions, 193 flow. Second operand 6 states and 146 transitions. [2024-11-10 10:36:45,667 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 70 transitions, 351 flow [2024-11-10 10:36:45,668 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 70 transitions, 343 flow, removed 0 selfloop flow, removed 3 redundant places. [2024-11-10 10:36:45,669 INFO L231 Difference]: Finished difference. Result has 64 places, 56 transitions, 212 flow [2024-11-10 10:36:45,669 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=57, PETRI_DIFFERENCE_MINUEND_FLOW=187, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=55, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=49, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=212, PETRI_PLACES=64, PETRI_TRANSITIONS=56} [2024-11-10 10:36:45,670 INFO L277 CegarLoopForPetriNet]: 50 programPoint places, 14 predicate places. [2024-11-10 10:36:45,670 INFO L471 AbstractCegarLoop]: Abstraction has has 64 places, 56 transitions, 212 flow [2024-11-10 10:36:45,670 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 21.333333333333332) internal successors, (128), 6 states have internal predecessors, (128), 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-11-10 10:36:45,670 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-10 10:36:45,670 INFO L204 CegarLoopForPetriNet]: trace histogram [3, 3, 3, 2, 2, 2, 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, 1, 1, 1, 1] [2024-11-10 10:36:45,687 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-11-10 10:36:45,871 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 10:36:45,871 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-10 10:36:45,872 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-10 10:36:45,872 INFO L85 PathProgramCache]: Analyzing trace with hash 185119610, now seen corresponding path program 1 times [2024-11-10 10:36:45,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-10 10:36:45,872 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309379937] [2024-11-10 10:36:45,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:45,875 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-10 10:36:45,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:47,945 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-11-10 10:36:47,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-10 10:36:47,946 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1309379937] [2024-11-10 10:36:47,946 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1309379937] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-10 10:36:47,946 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [904299367] [2024-11-10 10:36:47,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-10 10:36:47,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-10 10:36:47,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-10 10:36:47,949 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-11-10 10:36:47,950 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-11-10 10:36:48,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-10 10:36:48,066 INFO L255 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 23 conjuncts are in the unsatisfiable core [2024-11-10 10:36:48,069 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-10 10:36:48,776 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2024-11-10 10:36:48,778 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 135 treesize of output 171 [2024-11-10 10:37:03,116 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse524 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse524 c_~C~0.offset)) (.cse50 (select .cse524 .cse109)) (.cse523 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse523)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse158 (+ .cse7 c_~minb~0)) (.cse171 (* 2 c_~minb~0)) (.cse1 (select .cse524 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse171 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse523 .cse1)) (.cse8 (<= .cse158 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse342 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse522 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse521 (select .cse522 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse521) (<= (+ .cse521 c_~minb~0 1) .cse1) (<= (+ .cse521 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse522 ~A~0.offset) c_~minb~0)) (= (+ .cse521 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse171)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse361 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse520 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse519 (select .cse520 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse519 c_~minb~0)) (<= (+ .cse519 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse520 ~A~0.offset) c_~minb~0)) (= (+ .cse519 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse129 (select |c_#memory_int#1| ~A~0.base)) (.cse125 (+ ~A~0.offset 4))) (let ((.cse126 (select .cse129 .cse125)) (.cse127 (select |c_#memory_int#1| ~B~0.base)) (.cse128 (+ ~B~0.offset 4))) (and (not (= .cse125 ~B~0.offset)) (<= .cse14 (+ .cse126 c_~minb~0)) (= (+ .cse126 (select .cse127 .cse128)) .cse1) (<= (+ .cse126 c_~minb~0 1) .cse1) (= (select .cse127 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse129 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse128))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse133 (+ ~A~0.offset 4)) (.cse134 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse130 (select .cse134 ~A~0.offset)) (.cse131 (select .cse134 .cse133))) (and (= c_~mina~0 .cse130) (<= (+ .cse130 1) .cse131) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse132 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse131 (select .cse132 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse132 ~B~0.offset) .cse130))))) (not (= .cse133 ~B~0.offset)))) (= (* 2 .cse131) .cse1) (= (+ .cse131 c_~minb~0) .cse1) (<= (+ .cse130 .cse1) (+ c_~minc~0 .cse131)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse136 (select .cse137 ~A~0.offset)) (.cse135 (select .cse137 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse135) (= (+ .cse135 c_~minb~0) .cse1) (<= .cse135 .cse136) (<= (+ .cse136 .cse1) (+ c_~minc~0 .cse135)) (= (+ .cse135 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse139 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse138 (select .cse139 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse138) (<= (+ .cse138 c_~minb~0 1) .cse1) (<= (+ .cse138 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse139 ~A~0.offset) c_~minb~0)) (= (+ .cse138 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse140 (select .cse142 ~A~0.offset)) (.cse141 (select .cse142 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse140)) (= c_~mina~0 .cse141) (= (+ .cse141 c_~minb~0) .cse1) (<= .cse141 .cse140) (<= (+ .cse140 .cse1) (+ c_~minc~0 .cse141)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse143 (select .cse146 ~A~0.offset)) (.cse144 (select .cse146 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse143) (= c_~minc~0 (+ .cse144 .cse143)) (<= (+ .cse143 1) .cse144) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse145 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse144 (select .cse145 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) .cse143))))) (= (+ .cse144 c_~minb~0) .cse1) (<= (+ .cse143 .cse1) (+ c_~minc~0 .cse144)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse150 (+ ~A~0.offset 4)) (.cse151 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse149 (select .cse151 ~A~0.offset)) (.cse147 (select .cse151 .cse150))) (and (= c_~mina~0 .cse147) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse147 (select .cse148 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse148 ~B~0.offset) .cse149))))) (not (= .cse150 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse147 c_~minb~0) .cse1) (<= .cse147 .cse149) (<= (+ .cse149 .cse1) (+ c_~minc~0 .cse147)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse153 (select .cse154 ~A~0.offset)) (.cse152 (select .cse154 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse152) (= (+ .cse152 c_~minb~0) .cse1) (<= .cse152 .cse153) (<= (+ .cse153 .cse1) (+ c_~minc~0 .cse152)) (= (+ .cse152 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse157 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse155 (select .cse157 (+ ~A~0.offset 4)))) (and (= (+ .cse155 (select .cse156 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse155) (<= (+ .cse155 c_~minb~0 1) .cse1) (<= (+ .cse155 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse157 ~A~0.offset) c_~minb~0)))))) (= (select .cse156 ~B~0.offset) c_~minb~0)))))) (and (= c_~minc~0 .cse158) (let ((.cse189 (div (* (- 1) .cse1) 2))) (let ((.cse162 (+ c_~minb~0 1)) (.cse184 (+ .cse189 .cse1))) (let ((.cse159 (<= (+ .cse171 1) .cse1)) (.cse160 (<= .cse14 .cse171)) (.cse165 (<= .cse162 .cse184)) (.cse166 (= (mod .cse1 2) 0))) (or (and .cse159 .cse10 .cse160 .cse49) (exists ((~B~0.offset Int)) (let ((.cse161 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse161)) (exists ((~B~0.base Int)) (let ((.cse164 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse163 (select .cse164 .cse161))) (and (<= .cse162 .cse163) (<= .cse11 (+ c_~minc~0 .cse163)) (= (+ c_~mina~0 .cse163) .cse1) (= (select .cse164 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse165 .cse10 .cse166) (and .cse159 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse167 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse167 ~B~0.offset) c_~minb~0) (= (+ (select .cse167 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse168 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse168)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse169 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse169 ~B~0.offset) c_~minb~0) (= (+ (select .cse169 .cse168) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse170 ~B~0.offset) c_~minb~0) (= (+ (select .cse170 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse171 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse160))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse172 (select .cse173 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse172) (<= .cse11 (+ c_~minc~0 .cse172)) (= (+ c_~mina~0 .cse172) .cse1) (= (select .cse173 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse175 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse174 (select .cse175 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse174) (<= .cse11 (+ c_~minc~0 .cse174)) (= (+ c_~mina~0 .cse174) .cse1) (= (select .cse175 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse176 (select .cse177 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse176 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse176) (= (select .cse177 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse179 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse178 (select .cse179 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse178 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse178) (= (select .cse179 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse181 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse180 (select .cse181 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse180) (<= .cse11 (+ c_~minc~0 .cse180)) (= (+ c_~mina~0 .cse180) .cse1) (= (select .cse181 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (and .cse165 (let ((.cse185 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse192 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse192 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))))) (or (and (or (exists ((~B~0.offset Int)) (let ((.cse182 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse182)) (exists ((~B~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse183 .cse182) .cse184) (= (select .cse183 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) .cse185) .cse113) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse186 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse186 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse187 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse187 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse185 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse188 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse188 (+ ~B~0.offset 4)) .cse184) (= (select .cse188 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse189 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse190 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse190)) (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse191 .cse190) .cse184) (= (select .cse191 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or (and (<= c_~minb~0 (+ c_~minc~0 .cse189)) (= (+ .cse189 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse189 1) c_~minb~0))) .cse166) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse194 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse193 (select .cse194 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse193) (= c_~minc~0 (+ .cse193 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse193)) (= (+ c_~mina~0 .cse193) .cse1) (= (select .cse194 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse195 (select .cse196 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse195 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse195) (= (select .cse196 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse198 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse197 (select .cse198 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse197 1) .cse11) (<= .cse162 .cse197) (= c_~minc~0 (+ .cse197 c_~minb~0)) (= (select .cse198 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base)) (.cse200 (+ ~B~0.offset 4))) (let ((.cse199 (select .cse201 .cse200))) (and (<= (+ c_~minc~0 .cse199 1) .cse11) (<= .cse162 .cse199) (not (= c_~C~0.offset .cse200)) (= (select .cse201 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse205 (+ ~A~0.offset 4)) (.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse202 (select .cse206 ~A~0.offset)) (.cse203 (select .cse206 .cse205))) (and (= c_~mina~0 .cse202) (<= (+ .cse202 1) .cse203) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse204 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse203 (select .cse204 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse204 ~B~0.offset) .cse202))))) (not (= .cse205 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse203 c_~minb~0) .cse1) (<= (+ .cse202 .cse1) (+ c_~minc~0 .cse203)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse209 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse207 (select .cse209 (+ ~A~0.offset 4))) (.cse208 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse207 c_~minb~0)) (= (+ .cse207 (select .cse208 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse207 c_~minb~0 1) .cse1) (= (select .cse208 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse209 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse212 (+ ~A~0.offset 4)) (.cse214 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse211 (select .cse214 ~A~0.offset)) (.cse210 (select .cse214 .cse212))) (and (= (+ .cse210 .cse211) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse212 ~B~0.offset)) (= (+ .cse210 (select .cse213 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse213 ~B~0.offset) .cse211))))) (= c_~mina~0 .cse210) (= (+ .cse210 c_~minb~0) .cse1) (<= .cse210 .cse211) (<= (+ .cse211 .cse1) (+ c_~minc~0 .cse210)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse215 (select .cse216 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse215 c_~minb~0)) (<= (+ .cse215 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse216 ~A~0.offset) c_~minb~0)) (= (+ .cse215 .cse50) .cse1) (= .cse215 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse217 (select .cse220 ~A~0.offset)) (.cse218 (select .cse220 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse217) (<= (+ .cse217 1) .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse219 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse219 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse219 ~B~0.offset) .cse217))))) (= (+ .cse218 c_~minb~0) .cse1) (<= (+ .cse217 .cse1) (+ c_~minc~0 .cse218)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse224 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse221 (select .cse224 (+ ~A~0.offset 4))) (.cse222 (select .cse224 ~A~0.offset))) (and (= c_~minc~0 (+ .cse221 .cse222)) (= c_~mina~0 .cse221) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse221 (select .cse223 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse223 ~B~0.offset) .cse222))))) (= (* 2 .cse221) .cse1) (= (+ .cse221 c_~minb~0) .cse1) (<= .cse221 .cse222))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse225 (select .cse228 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse225) (<= (+ .cse225 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse227 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse225 (select .cse226 .cse227)) .cse1) (= (select .cse226 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse227))))) (<= (+ .cse225 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse228 ~A~0.offset) c_~minb~0)) (= .cse225 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse229 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse230 (+ ~A~0.offset 4))) (and (not (= .cse230 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse231 (select .cse232 .cse230))) (and (= .cse11 (+ c_~minc~0 .cse231)) (= (+ .cse231 (select .cse229 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse231) (<= (+ .cse231 c_~minb~0 1) .cse1) (<= (+ .cse231 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse232 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse233 (select .cse237 ~A~0.offset)) (.cse234 (select .cse237 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse233) (exists ((~B~0.offset Int)) (let ((.cse236 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse234 (select .cse235 .cse236)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse233))))) (not (= ~A~0.offset .cse236))))) (= c_~minc~0 (+ .cse234 .cse233)) (<= (+ .cse233 1) .cse234) (= (* 2 .cse234) .cse1) (= (+ .cse234 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse242 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse238 (select .cse242 ~A~0.offset)) (.cse239 (select .cse242 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse238) (exists ((~B~0.offset Int)) (let ((.cse241 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse240 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse239 (select .cse240 .cse241)) .cse1) (= c_~minc~0 (+ (select .cse240 ~B~0.offset) .cse238))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse241))))) (= c_~minc~0 (+ .cse239 .cse238)) (<= (+ .cse238 1) .cse239) (= (* 2 .cse239) .cse1) (= (+ .cse239 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse247 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse243 (select .cse247 .cse245)) (.cse244 (select .cse247 ~A~0.offset))) (and (= (+ .cse243 .cse244) .cse1) (= c_~mina~0 .cse243) (= (* 2 .cse243) .cse1) (= (+ .cse243 c_~minb~0) .cse1) (<= (+ .cse244 .cse1) (+ c_~minc~0 .cse243)) (exists ((~B~0.offset Int)) (and (not (= .cse245 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse246 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse243 (select .cse246 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse246 ~B~0.offset) .cse244))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~A~0.base)) (.cse248 (+ ~A~0.offset 4))) (let ((.cse249 (select .cse251 .cse248)) (.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse248 ~B~0.offset)) (<= .cse14 (+ .cse249 c_~minb~0)) (= (+ .cse249 (select .cse250 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse249 c_~minb~0 1) .cse1) (= (select .cse250 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse251 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse252 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse271 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse271 ~B~0.offset) .cse7)))))) (.cse261 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse266 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse270 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse270 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse270 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse267 (exists ((~B~0.offset Int)) (let ((.cse268 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse268)) (exists ((~B~0.base Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse269 .cse268) c_~minb~0) (= c_~minc~0 (+ (select .cse269 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse252 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse253 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse257 (exists ((~B~0.offset Int)) (let ((.cse259 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse259)) (exists ((~B~0.base Int)) (let ((.cse260 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse260 .cse259) c_~minb~0) (= c_~minc~0 (+ (select .cse260 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse254 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse254 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse254 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse252 (exists ((~B~0.offset Int)) (let ((.cse255 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse255)) (exists ((~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse256 .cse255) c_~minb~0) (= c_~minc~0 (+ (select .cse256 ~B~0.offset) .cse7)))))))) .cse257)) .cse252 .cse257 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse258 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse258 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse261) (and .cse261 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse263 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse263)) (exists ((~B~0.base Int)) (let ((.cse264 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse264 .cse263) c_~minb~0) (= c_~minc~0 (+ (select .cse264 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse265 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse265 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse266)) .cse266 .cse267)) .cse266 .cse267)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse158) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse274 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse275 (select |c_#memory_int#1| ~A~0.base)) (.cse272 (+ ~A~0.offset 4))) (let ((.cse273 (select .cse275 .cse272))) (and (not (= .cse272 ~B~0.offset)) (= (+ .cse273 (select .cse274 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse273) (<= (+ .cse273 c_~minb~0 1) .cse1) (<= (+ .cse273 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse275 ~A~0.offset) c_~minb~0)))))) (= (select .cse274 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse279 ~A~0.offset)) (.cse276 (select .cse279 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse276 .cse277)) (= c_~mina~0 .cse276) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse276 (select .cse278 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse278 ~B~0.offset) .cse277))))) (= (+ .cse276 c_~minb~0) .cse1) (<= .cse276 .cse277) (<= (+ .cse277 .cse1) (+ c_~minc~0 .cse276)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse281 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse281 ~A~0.offset) c_~minb~0)) (= (+ .cse280 .cse50) .cse1) (= .cse280 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse282 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse286 (+ ~A~0.offset 4)) (.cse284 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse285 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse283 (select .cse285 .cse286))) (and (= (+ .cse283 (select .cse282 .cse284)) .cse1) (= c_~mina~0 .cse283) (<= (+ .cse283 c_~minb~0 1) .cse1) (<= (+ .cse283 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse285 ~A~0.offset) c_~minb~0)))))) (not (= .cse286 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse284)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse289 ~A~0.offset)) (.cse288 (select .cse289 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse287) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse287 1) .cse288) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)) (= (+ .cse288 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse295 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse290 (select .cse295 ~A~0.offset)) (.cse291 (select .cse295 .cse294))) (and (= c_~mina~0 .cse290) (exists ((~B~0.offset Int)) (let ((.cse293 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse292 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse291 (select .cse292 .cse293)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse292 ~B~0.offset) .cse290))))) (not (= .cse294 ~B~0.offset)) (not (= ~A~0.offset .cse293))))) (<= (+ .cse290 1) .cse291) (= (* 2 .cse291) .cse1) (= (+ .cse291 c_~minb~0) .cse1) (<= (+ .cse290 .cse1) (+ c_~minc~0 .cse291)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse297 (+ ~A~0.offset 4)) (.cse301 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse296 (select .cse301 ~A~0.offset)) (.cse298 (select .cse301 .cse297))) (and (= c_~mina~0 .cse296) (exists ((~B~0.offset Int)) (let ((.cse300 (+ ~B~0.offset 4))) (and (not (= .cse297 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse299 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse298 (select .cse299 .cse300)) .cse1) (= c_~minc~0 (+ (select .cse299 ~B~0.offset) .cse296))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse300))))) (<= (+ .cse296 1) .cse298) (= (+ .cse298 c_~minb~0) .cse1) (<= (+ .cse296 .cse1) (+ c_~minc~0 .cse298)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse302 (select .cse306 ~A~0.offset)) (.cse303 (select .cse306 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse302) (exists ((~B~0.offset Int)) (let ((.cse305 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse304 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse303 (select .cse304 .cse305)) .cse1) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse302))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse305))))) (= c_~minc~0 (+ .cse303 .cse302)) (<= (+ .cse302 1) .cse303) (= (+ .cse303 c_~minb~0) .cse1) (<= (+ .cse302 .cse1) (+ c_~minc~0 .cse303)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse308 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse307 (select .cse308 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse307) (<= (+ .cse307 c_~minb~0 1) .cse1) (<= (+ .cse307 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse308 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse310 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse309 (select .cse310 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse309)) (= c_~mina~0 .cse309) (<= (+ .cse309 c_~minb~0 1) .cse1) (= (* 2 .cse309) .cse1) (= c_~minc~0 (+ (select .cse310 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse311 (select .cse312 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse311 c_~minb~0)) (<= (+ .cse311 c_~minb~0 1) .cse1) (= (* 2 .cse311) .cse1) (= c_~minc~0 (+ (select .cse312 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse313 (select .cse314 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse313)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse313 c_~minb~0)) (<= (+ .cse313 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse314 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse316 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse315 (select .cse316 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse315)) (= c_~mina~0 .cse315) (<= (+ .cse315 c_~minb~0 1) .cse1) (<= (+ .cse315 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse316 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse317 (select .cse318 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse317 c_~minb~0)) (<= (+ .cse317 c_~minb~0 1) .cse1) (= (* 2 .cse317) .cse1) (= c_~minc~0 (+ (select .cse318 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse320 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse319 (select .cse320 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse319) (<= (+ .cse319 c_~minb~0 1) .cse1) (<= (+ .cse319 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse320 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse322 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse321 (select .cse322 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse321) (<= (+ .cse321 c_~minb~0 1) .cse1) (= (* 2 .cse321) .cse1) (<= (+ .cse321 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse322 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse324 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse323 (select .cse324 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse323 c_~minb~0)) (<= (+ .cse323 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse324 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse325 (select .cse326 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse325 c_~minb~0)) (<= (+ .cse325 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse326 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse328 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse327 (select .cse328 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse327 c_~minb~0)) (<= (+ .cse327 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse328 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse330 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse329 (select .cse330 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse329) (<= (+ .cse329 c_~minb~0 1) .cse1) (= (* 2 .cse329) .cse1) (<= (+ .cse329 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse330 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse331) (<= (+ .cse331 c_~minb~0 1) .cse1) (<= (+ .cse331 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse332 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse336 (select .cse338 ~A~0.offset)) (.cse337 (select .cse338 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse336) (<= (+ .cse336 1) .cse337) (= (+ .cse337 c_~minb~0) .cse1) (<= (+ .cse336 .cse1) (+ c_~minc~0 .cse337)) (= (+ .cse337 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse341 ~A~0.offset)) (.cse339 (select .cse341 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse339) (= (+ .cse339 c_~minb~0) .cse1) (<= .cse339 .cse340) (<= (+ .cse340 .cse1) (+ c_~minc~0 .cse339)) (= c_~minc~0 (* 2 .cse340)) (= (+ .cse339 .cse50) .cse1))))) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse345 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse343 (select .cse345 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse344 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse343) (<= (+ .cse343 c_~minb~0 1) .cse1) (<= (+ .cse343 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse345 ~A~0.offset) c_~minb~0)) (= .cse343 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse349 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse348 (select .cse349 ~A~0.offset)) (.cse346 (select .cse349 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse347 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse346 (select .cse347 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse347 ~B~0.offset) .cse348))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse346 .cse348)) (= c_~mina~0 .cse346) (= (+ .cse346 c_~minb~0) .cse1) (<= .cse346 .cse348) (<= (+ .cse348 .cse1) (+ c_~minc~0 .cse346)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse353 (+ ~A~0.offset 4)) (.cse354 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse354 ~A~0.offset)) (.cse350 (select .cse354 .cse353))) (and (= c_~mina~0 .cse350) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse351 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse350 (select .cse351 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse352))))) (not (= .cse353 ~B~0.offset)))) (= (* 2 .cse350) .cse1) (= (+ .cse350 c_~minb~0) .cse1) (<= .cse350 .cse352) (<= (+ .cse352 .cse1) (+ c_~minc~0 .cse350)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse355 (select .cse356 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse355) (<= (+ .cse355 c_~minb~0 1) .cse1) (<= (+ .cse355 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse356 ~A~0.offset) c_~minb~0)) (= (+ .cse355 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse358 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse357 (select .cse358 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse357 c_~minb~0)) (<= (+ .cse357 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse358 ~A~0.offset) c_~minb~0)) (= (+ .cse357 .cse50) .cse1))))) .cse10) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse360 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse359 (select .cse360 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse359) (<= (+ .cse359 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse360 ~A~0.offset) c_~minb~0)) (= (+ .cse359 .cse50) .cse1) (= .cse359 c_~minb~0))))) .cse361) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse366 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse363 (select .cse366 (+ ~A~0.offset 4))) (.cse365 (select .cse366 ~A~0.offset))) (let ((.cse362 (+ .cse363 .cse365))) (and (= .cse362 .cse1) (= c_~minc~0 .cse362) (= c_~mina~0 .cse363) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse364 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse363 (select .cse364 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse364 ~B~0.offset) .cse365))))) (= (+ .cse363 c_~minb~0) .cse1) (<= .cse363 .cse365) (<= (+ .cse365 .cse1) (+ c_~minc~0 .cse363))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse367 (select .cse368 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse367) (<= (+ .cse367 c_~minb~0 1) .cse1) (<= (+ .cse367 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)) (= (+ .cse367 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse369) (<= (+ .cse369 c_~minb~0 1) .cse1) (= (* 2 .cse369) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse370 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse369 (select .cse370 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse370 ~B~0.offset) c_~minb~0)))) (<= (+ .cse369 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse371 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse372 (select .cse374 ~A~0.offset)) (.cse373 (select .cse374 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse372)) (= c_~mina~0 .cse372) (<= (+ .cse372 1) .cse373) (= (+ .cse373 c_~minb~0) .cse1) (<= (+ .cse372 .cse1) (+ c_~minc~0 .cse373)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (+ ~A~0.offset 4)) (.cse379 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse376 (select .cse379 ~A~0.offset)) (.cse375 (select .cse379 .cse378))) (and (= (+ .cse375 .cse376) .cse1) (= c_~mina~0 .cse375) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse377 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse375 (select .cse377 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse377 ~B~0.offset) .cse376))))) (not (= .cse378 ~B~0.offset)))) (= (* 2 .cse375) .cse1) (= (+ .cse375 c_~minb~0) .cse1) (<= (+ .cse376 .cse1) (+ c_~minc~0 .cse375)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse381 (select |c_#memory_int#1| ~A~0.base)) (.cse382 (+ ~A~0.offset 4))) (let ((.cse380 (select .cse381 .cse382))) (and (= c_~mina~0 .cse380) (<= (+ .cse380 c_~minb~0 1) .cse1) (= (* 2 .cse380) .cse1) (<= (+ .cse380 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse381 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse384 (+ ~B~0.offset 4))) (and (not (= .cse382 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse380 (select .cse383 .cse384)) .cse1) (= (select .cse383 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse384))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse387 (select .cse388 ~A~0.offset)) (.cse385 (select .cse388 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse385) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse386 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse385 (select .cse386 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse386 ~B~0.offset) .cse387))))) (= (+ .cse385 c_~minb~0) .cse1) (<= .cse385 .cse387) (<= (+ .cse387 .cse1) (+ c_~minc~0 .cse385)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base)) (.cse389 (+ ~A~0.offset 4))) (let ((.cse390 (select .cse392 .cse389))) (and (exists ((~B~0.offset Int)) (and (not (= .cse389 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse390 (select .cse391 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse391 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse390) (<= (+ .cse390 c_~minb~0 1) .cse1) (= (* 2 .cse390) .cse1) (<= (+ .cse390 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse392 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse394 (select .cse395 ~A~0.offset)) (.cse393 (select .cse395 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse393) (= (+ .cse393 c_~minb~0) .cse1) (<= .cse393 .cse394) (<= (+ .cse394 .cse1) (+ c_~minc~0 .cse393)) (= c_~minc~0 (* 2 .cse394)) (= (+ .cse393 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base)) (.cse397 (+ ~A~0.offset 4))) (let ((.cse396 (select .cse399 .cse397))) (and (<= .cse14 (+ .cse396 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse397 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse396 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse396 c_~minb~0 1) .cse1) (= (* 2 .cse396) .cse1) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse402 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse400 (select .cse402 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse401 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse401 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse402 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse404 (select |c_#memory_int#1| ~A~0.base)) (.cse405 (+ ~A~0.offset 4))) (let ((.cse403 (select .cse404 .cse405))) (and (<= .cse14 (+ .cse403 c_~minb~0)) (<= (+ .cse403 c_~minb~0 1) .cse1) (= (* 2 .cse403) .cse1) (= c_~minc~0 (+ (select .cse404 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse407 (+ ~B~0.offset 4))) (and (not (= .cse405 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse406 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse403 (select .cse406 .cse407)) .cse1) (= (select .cse406 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse407))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~A~0.base)) (.cse409 (+ ~A~0.offset 4))) (let ((.cse408 (select .cse411 .cse409))) (and (<= .cse14 (+ .cse408 c_~minb~0)) (<= (+ .cse408 c_~minb~0 1) .cse1) (= (* 2 .cse408) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse409 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse410 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse408 (select .cse410 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse410 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse411 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#1| ~A~0.base)) (.cse413 (+ ~A~0.offset 4))) (let ((.cse412 (select .cse415 .cse413))) (and (<= .cse14 (+ .cse412 c_~minb~0)) (= (* 2 .cse412) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse413 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse412 (select .cse414 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse414 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse415 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse417 (select |c_#memory_int#1| ~A~0.base)) (.cse418 (+ ~A~0.offset 4))) (let ((.cse416 (select .cse417 .cse418))) (and (<= .cse14 (+ .cse416 c_~minb~0)) (= (* 2 .cse416) .cse1) (= c_~minc~0 (+ (select .cse417 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse420 (+ ~B~0.offset 4))) (and (not (= .cse418 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse419 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse416 (select .cse419 .cse420)) .cse1) (= (select .cse419 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse420)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse421 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse422 (select .cse421 ~B~0.offset))) (let ((.cse423 (+ .cse422 .cse50))) (and (= (+ .cse50 (select .cse421 (+ ~B~0.offset 4))) .cse1) (= (+ .cse422 .cse1) .cse48) (<= .cse1 .cse423) (<= .cse423 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse428 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse429 (select .cse428 ~B~0.offset))) (let ((.cse427 (+ .cse429 .cse50))) (and (<= .cse14 .cse427) (= (+ .cse50 (select .cse428 (+ ~B~0.offset 4))) .cse1) (= (+ .cse429 .cse1) .cse48) (<= .cse1 .cse427) (= c_~minc~0 (+ .cse429 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (+ (select .cse430 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse430 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (<= .cse431 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (+ (select .cse432 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse433) (<= .cse433 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse435 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse436 (select .cse435 ~B~0.offset))) (let ((.cse434 (+ .cse436 .cse50))) (and (<= .cse14 .cse434) (= (+ .cse50 (select .cse435 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse434) (= c_~minc~0 (+ .cse436 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (+ (select .cse437 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse438) (<= .cse438 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse440 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse441 (select .cse440 ~B~0.offset))) (let ((.cse439 (+ .cse441 .cse50))) (and (<= .cse14 .cse439) (= (+ .cse50 (select .cse440 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse439) (= c_~minc~0 (+ .cse441 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 (+ ~A~0.offset 4))) (.cse443 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse442 c_~minb~0)) (= (+ .cse442 (select .cse443 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse442 c_~minb~0 1) .cse1) (= (select .cse443 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse444 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse445 (select .cse447 ~A~0.offset)) (.cse446 (select .cse447 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse445)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse446) (= (+ .cse446 c_~minb~0) .cse1) (<= .cse446 .cse445) (<= (+ .cse445 .cse1) (+ c_~minc~0 .cse446)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse450 ~A~0.offset)) (.cse448 (select .cse450 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= .cse448 .cse449) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)) (= (+ .cse448 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse453 (+ ~A~0.offset 4)) (.cse455 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse455 ~A~0.offset)) (.cse451 (select .cse455 .cse453))) (and (= (+ .cse451 .cse452) .cse1) (= c_~mina~0 .cse452) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse453 ~B~0.offset)) (= (+ .cse451 (select .cse454 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse454 ~B~0.offset) .cse452))))) (<= (+ .cse452 1) .cse451) (= (+ .cse451 c_~minb~0) .cse1) (<= (+ .cse452 .cse1) (+ c_~minc~0 .cse451)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse456 (select .cse457 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse456 c_~minb~0)) (<= (+ .cse456 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse457 ~A~0.offset) c_~minb~0)) (= (+ .cse456 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse458 (+ ~A~0.offset 4)) (.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 ~A~0.offset)) (.cse459 (select .cse463 .cse458))) (and (exists ((~B~0.offset Int)) (let ((.cse461 (+ ~B~0.offset 4))) (and (not (= .cse458 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse460 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse459 (select .cse460 .cse461)) .cse1) (= c_~minc~0 (+ (select .cse460 ~B~0.offset) .cse462))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse461))))) (= c_~mina~0 .cse459) (= (* 2 .cse459) .cse1) (= (+ .cse459 c_~minb~0) .cse1) (<= .cse459 .cse462) (<= (+ .cse462 .cse1) (+ c_~minc~0 .cse459)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse464 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse464 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse465 (select .cse466 (+ ~A~0.offset 4)))) (and (= (+ .cse465 (select .cse464 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse465) (<= (+ .cse465 c_~minb~0 1) .cse1) (<= (+ .cse465 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse466 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse470 (select |c_#memory_int#1| ~A~0.base)) (.cse468 (+ ~A~0.offset 4))) (let ((.cse467 (select .cse470 .cse468))) (and (= c_~mina~0 .cse467) (<= (+ .cse467 c_~minb~0 1) .cse1) (= (* 2 .cse467) .cse1) (<= (+ .cse467 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse468 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse467 (select .cse469 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse469 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse470 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse475 (+ ~A~0.offset 4)) (.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse471 (select .cse476 .cse475))) (and (exists ((~B~0.offset Int)) (let ((.cse473 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse472 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse471 (select .cse472 .cse473)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse472 ~B~0.offset) .cse474))))) (not (= .cse475 ~B~0.offset)) (not (= ~A~0.offset .cse473))))) (= c_~mina~0 .cse471) (= (* 2 .cse471) .cse1) (= (+ .cse471 c_~minb~0) .cse1) (<= .cse471 .cse474) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse471)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse479 ~A~0.offset)) (.cse478 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse477)) (= c_~mina~0 .cse477) (<= (+ .cse477 1) .cse478) (= (* 2 .cse478) .cse1) (= (+ .cse478 c_~minb~0) .cse1) (<= (+ .cse477 .cse1) (+ c_~minc~0 .cse478)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse481 (select .cse482 ~A~0.offset)) (.cse480 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse480 .cse481)) (= c_~mina~0 .cse480) (= (+ .cse480 c_~minb~0) .cse1) (<= .cse480 .cse481) (<= (+ .cse481 .cse1) (+ c_~minc~0 .cse480)) (= (+ .cse480 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse486)) (= c_~mina~0 .cse487) (= (* 2 .cse487) .cse1) (= (+ .cse487 c_~minb~0) .cse1) (<= .cse487 .cse486) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse491 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse491 ~A~0.offset)) (.cse490 (select .cse491 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse489) (= c_~minc~0 (+ .cse490 .cse489)) (<= (+ .cse489 1) .cse490) (= (+ .cse490 c_~minb~0) .cse1) (<= (+ .cse489 .cse1) (+ c_~minc~0 .cse490)) (= (+ .cse490 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse493 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse492 (select .cse493 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse492 c_~minb~0)) (<= (+ .cse492 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse493 ~A~0.offset) c_~minb~0)) (= (+ .cse492 .cse50) .cse1)))))) .cse361 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 (+ ~A~0.offset 4))) (.cse495 (select .cse498 ~A~0.offset))) (let ((.cse494 (+ .cse496 .cse495))) (and (= .cse494 .cse1) (= c_~mina~0 .cse495) (= c_~minc~0 .cse494) (<= (+ .cse495 1) .cse496) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse497 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse496 (select .cse497 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse497 ~B~0.offset) .cse495))))) (= (+ .cse496 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse501 ~A~0.offset)) (.cse500 (select .cse501 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse499)) (= c_~mina~0 .cse499) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse499 1) .cse500) (= (+ .cse500 c_~minb~0) .cse1) (<= (+ .cse499 .cse1) (+ c_~minc~0 .cse500)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse502 (select .cse505 ~A~0.offset)) (.cse503 (select .cse505 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse502) (= c_~minc~0 (+ .cse503 .cse502)) (<= (+ .cse502 1) .cse503) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse503 (select .cse504 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse504 ~B~0.offset) .cse502))))) (= (* 2 .cse503) .cse1) (= (+ .cse503 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse507 (select .cse510 (+ ~A~0.offset 4))) (.cse509 (select .cse510 ~A~0.offset))) (let ((.cse506 (+ .cse507 .cse509))) (and (= .cse506 .cse1) (= c_~minc~0 .cse506) (= c_~mina~0 .cse507) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse508 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse507 (select .cse508 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse508 ~B~0.offset) .cse509))))) (= (+ .cse507 c_~minb~0) .cse1) (<= .cse507 .cse509) (<= (+ .cse509 .cse1) (+ c_~minc~0 .cse507))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse513 ~A~0.offset)) (.cse512 (select .cse513 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse511) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse511 1) .cse512) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512)) (= c_~minc~0 (* 2 .cse511)) (= (+ .cse512 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (+ ~A~0.offset 4)) (.cse518 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse514 (select .cse518 ~A~0.offset)) (.cse515 (select .cse518 .cse517))) (and (= c_~mina~0 .cse514) (<= (+ .cse514 1) .cse515) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse515 (select .cse516 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse516 ~B~0.offset) .cse514))))) (not (= .cse517 ~B~0.offset)))) (= (+ .cse515 c_~minb~0) .cse1) (<= (+ .cse514 .cse1) (+ c_~minc~0 .cse515))))))))))) is different from true [2024-11-10 10:37:18,534 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse521 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse521 c_~C~0.offset)) (.cse50 (select .cse521 .cse109)) (.cse520 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse520)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse125 (+ .cse7 c_~minb~0)) (.cse138 (* 2 c_~minb~0)) (.cse1 (select .cse521 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse138 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse520 .cse1)) (.cse8 (<= .cse125 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse339 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse519 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse518 (select .cse519 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse518) (<= (+ .cse518 c_~minb~0 1) .cse1) (<= (+ .cse518 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse519 ~A~0.offset) c_~minb~0)) (= (+ .cse518 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse138)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse358 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse516 (select .cse517 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse516 c_~minb~0)) (<= (+ .cse516 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse517 ~A~0.offset) c_~minb~0)) (= (+ .cse516 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and (= c_~minc~0 .cse125) (let ((.cse139 (div (* (- 1) .cse1) 2))) (let ((.cse129 (+ c_~minb~0 1)) (.cse141 (+ .cse139 .cse1))) (let ((.cse126 (<= (+ .cse138 1) .cse1)) (.cse127 (<= .cse14 .cse138)) (.cse132 (<= .cse129 .cse141)) (.cse133 (= (mod .cse1 2) 0))) (or (and .cse126 .cse10 .cse127 .cse49) (exists ((~B~0.offset Int)) (let ((.cse128 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse128)) (exists ((~B~0.base Int)) (let ((.cse131 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse130 (select .cse131 .cse128))) (and (<= .cse129 .cse130) (<= .cse11 (+ c_~minc~0 .cse130)) (= (+ c_~mina~0 .cse130) .cse1) (= (select .cse131 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse132 .cse10 .cse133) (and .cse126 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse134 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse134 ~B~0.offset) c_~minb~0) (= (+ (select .cse134 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse135 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse135)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse136 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse136 ~B~0.offset) c_~minb~0) (= (+ (select .cse136 .cse135) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse137 ~B~0.offset) c_~minb~0) (= (+ (select .cse137 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse138 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse127))) (and .cse132 (or (and (<= c_~minb~0 (+ c_~minc~0 .cse139)) (= (+ .cse139 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse139 1) c_~minb~0))) (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse140 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse140 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse142 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse142 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse143 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse143 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse143 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse144 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse144 (+ ~B~0.offset 4)) .cse141) (= (select .cse144 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse139 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse145 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse145)) (exists ((~B~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse146 .cse145) .cse141) (= (select .cse146 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse133) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse147 (select .cse148 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse147) (<= .cse11 (+ c_~minc~0 .cse147)) (= (+ c_~mina~0 .cse147) .cse1) (= (select .cse148 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse150 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse149 (select .cse150 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse149) (<= .cse11 (+ c_~minc~0 .cse149)) (= (+ c_~mina~0 .cse149) .cse1) (= (select .cse150 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse152 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse151 (select .cse152 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse151 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse151) (= (select .cse152 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse153 (select .cse154 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse153 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse153) (= (select .cse154 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse155 (select .cse156 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse155) (<= .cse11 (+ c_~minc~0 .cse155)) (= (+ c_~mina~0 .cse155) .cse1) (= (select .cse156 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse158 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse157 (select .cse158 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse157) (= c_~minc~0 (+ .cse157 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse157)) (= (+ c_~mina~0 .cse157) .cse1) (= (select .cse158 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse160 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse159 (select .cse160 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse159 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse159) (= (select .cse160 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse162 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse161 (select .cse162 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse161 1) .cse11) (<= .cse129 .cse161) (= c_~minc~0 (+ .cse161 c_~minb~0)) (= (select .cse162 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~B~0.base)) (.cse164 (+ ~B~0.offset 4))) (let ((.cse163 (select .cse165 .cse164))) (and (<= (+ c_~minc~0 .cse163 1) .cse11) (<= .cse129 .cse163) (not (= c_~C~0.offset .cse164)) (= (select .cse165 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~A~0.base)) (.cse166 (+ ~A~0.offset 4))) (let ((.cse167 (select .cse170 .cse166)) (.cse168 (select |c_#memory_int#1| ~B~0.base)) (.cse169 (+ ~B~0.offset 4))) (and (not (= .cse166 ~B~0.offset)) (<= .cse14 (+ .cse167 c_~minb~0)) (= (+ .cse167 (select .cse168 .cse169)) .cse1) (<= (+ .cse167 c_~minb~0 1) .cse1) (= (select .cse168 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse170 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse169))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (+ ~A~0.offset 4)) (.cse175 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse171 (select .cse175 ~A~0.offset)) (.cse172 (select .cse175 .cse174))) (and (= c_~mina~0 .cse171) (<= (+ .cse171 1) .cse172) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse172 (select .cse173 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse173 ~B~0.offset) .cse171))))) (not (= .cse174 ~B~0.offset)))) (= (* 2 .cse172) .cse1) (= (+ .cse172 c_~minb~0) .cse1) (<= (+ .cse171 .cse1) (+ c_~minc~0 .cse172)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse178 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse177 (select .cse178 ~A~0.offset)) (.cse176 (select .cse178 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse176) (= (+ .cse176 c_~minb~0) .cse1) (<= .cse176 .cse177) (<= (+ .cse177 .cse1) (+ c_~minc~0 .cse176)) (= (+ .cse176 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse180 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse179 (select .cse180 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse179) (<= (+ .cse179 c_~minb~0 1) .cse1) (<= (+ .cse179 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse180 ~A~0.offset) c_~minb~0)) (= (+ .cse179 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse181 (select .cse183 ~A~0.offset)) (.cse182 (select .cse183 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse181)) (= c_~mina~0 .cse182) (= (+ .cse182 c_~minb~0) .cse1) (<= .cse182 .cse181) (<= (+ .cse181 .cse1) (+ c_~minc~0 .cse182)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse184 (select .cse187 ~A~0.offset)) (.cse185 (select .cse187 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse184) (= c_~minc~0 (+ .cse185 .cse184)) (<= (+ .cse184 1) .cse185) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse185 (select .cse186 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse186 ~B~0.offset) .cse184))))) (= (+ .cse185 c_~minb~0) .cse1) (<= (+ .cse184 .cse1) (+ c_~minc~0 .cse185)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse191 (+ ~A~0.offset 4)) (.cse192 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse190 (select .cse192 ~A~0.offset)) (.cse188 (select .cse192 .cse191))) (and (= c_~mina~0 .cse188) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse188 (select .cse189 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse189 ~B~0.offset) .cse190))))) (not (= .cse191 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse188 c_~minb~0) .cse1) (<= .cse188 .cse190) (<= (+ .cse190 .cse1) (+ c_~minc~0 .cse188)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse195 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse194 (select .cse195 ~A~0.offset)) (.cse193 (select .cse195 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse193) (= (+ .cse193 c_~minb~0) .cse1) (<= .cse193 .cse194) (<= (+ .cse194 .cse1) (+ c_~minc~0 .cse193)) (= (+ .cse193 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse198 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse196 (select .cse198 (+ ~A~0.offset 4)))) (and (= (+ .cse196 (select .cse197 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse196) (<= (+ .cse196 c_~minb~0 1) .cse1) (<= (+ .cse196 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse198 ~A~0.offset) c_~minb~0)))))) (= (select .cse197 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse202 (+ ~A~0.offset 4)) (.cse203 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse199 (select .cse203 ~A~0.offset)) (.cse200 (select .cse203 .cse202))) (and (= c_~mina~0 .cse199) (<= (+ .cse199 1) .cse200) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse200 (select .cse201 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse201 ~B~0.offset) .cse199))))) (not (= .cse202 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse200 c_~minb~0) .cse1) (<= (+ .cse199 .cse1) (+ c_~minc~0 .cse200)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse204 (select .cse206 (+ ~A~0.offset 4))) (.cse205 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse204 c_~minb~0)) (= (+ .cse204 (select .cse205 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse204 c_~minb~0 1) .cse1) (= (select .cse205 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse206 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse209 (+ ~A~0.offset 4)) (.cse211 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse208 (select .cse211 ~A~0.offset)) (.cse207 (select .cse211 .cse209))) (and (= (+ .cse207 .cse208) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse210 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse209 ~B~0.offset)) (= (+ .cse207 (select .cse210 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse210 ~B~0.offset) .cse208))))) (= c_~mina~0 .cse207) (= (+ .cse207 c_~minb~0) .cse1) (<= .cse207 .cse208) (<= (+ .cse208 .cse1) (+ c_~minc~0 .cse207)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse212 (select .cse213 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse212 c_~minb~0)) (<= (+ .cse212 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse213 ~A~0.offset) c_~minb~0)) (= (+ .cse212 .cse50) .cse1) (= .cse212 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse214 (select .cse217 ~A~0.offset)) (.cse215 (select .cse217 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse214) (<= (+ .cse214 1) .cse215) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse215 (select .cse216 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse216 ~B~0.offset) .cse214))))) (= (+ .cse215 c_~minb~0) .cse1) (<= (+ .cse214 .cse1) (+ c_~minc~0 .cse215)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse218 (select .cse221 (+ ~A~0.offset 4))) (.cse219 (select .cse221 ~A~0.offset))) (and (= c_~minc~0 (+ .cse218 .cse219)) (= c_~mina~0 .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse220 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse220 ~B~0.offset) .cse219))))) (= (* 2 .cse218) .cse1) (= (+ .cse218 c_~minb~0) .cse1) (<= .cse218 .cse219))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse225 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse222 (select .cse225 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse222) (<= (+ .cse222 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse224 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse222 (select .cse223 .cse224)) .cse1) (= (select .cse223 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse224))))) (<= (+ .cse222 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse225 ~A~0.offset) c_~minb~0)) (= .cse222 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse226 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse227 (+ ~A~0.offset 4))) (and (not (= .cse227 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse228 (select .cse229 .cse227))) (and (= .cse11 (+ c_~minc~0 .cse228)) (= (+ .cse228 (select .cse226 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse228) (<= (+ .cse228 c_~minb~0 1) .cse1) (<= (+ .cse228 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse229 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse234 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse230 (select .cse234 ~A~0.offset)) (.cse231 (select .cse234 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse230) (exists ((~B~0.offset Int)) (let ((.cse233 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse231 (select .cse232 .cse233)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse232 ~B~0.offset) .cse230))))) (not (= ~A~0.offset .cse233))))) (= c_~minc~0 (+ .cse231 .cse230)) (<= (+ .cse230 1) .cse231) (= (* 2 .cse231) .cse1) (= (+ .cse231 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse239 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse235 (select .cse239 ~A~0.offset)) (.cse236 (select .cse239 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse235) (exists ((~B~0.offset Int)) (let ((.cse238 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse236 (select .cse237 .cse238)) .cse1) (= c_~minc~0 (+ (select .cse237 ~B~0.offset) .cse235))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse238))))) (= c_~minc~0 (+ .cse236 .cse235)) (<= (+ .cse235 1) .cse236) (= (* 2 .cse236) .cse1) (= (+ .cse236 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~A~0.base)) (.cse242 (+ ~A~0.offset 4))) (let ((.cse240 (select .cse244 .cse242)) (.cse241 (select .cse244 ~A~0.offset))) (and (= (+ .cse240 .cse241) .cse1) (= c_~mina~0 .cse240) (= (* 2 .cse240) .cse1) (= (+ .cse240 c_~minb~0) .cse1) (<= (+ .cse241 .cse1) (+ c_~minc~0 .cse240)) (exists ((~B~0.offset Int)) (and (not (= .cse242 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse240 (select .cse243 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse243 ~B~0.offset) .cse241))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse248 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse246 (select .cse248 .cse245)) (.cse247 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse245 ~B~0.offset)) (<= .cse14 (+ .cse246 c_~minb~0)) (= (+ .cse246 (select .cse247 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse246 c_~minb~0 1) .cse1) (= (select .cse247 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse248 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse249 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse268 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse268 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse268 ~B~0.offset) .cse7)))))) (.cse258 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse263 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse267 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse267 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse267 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse264 (exists ((~B~0.offset Int)) (let ((.cse265 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse265)) (exists ((~B~0.base Int)) (let ((.cse266 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse266 .cse265) c_~minb~0) (= c_~minc~0 (+ (select .cse266 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse249 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse250 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse250 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse254 (exists ((~B~0.offset Int)) (let ((.cse256 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse256)) (exists ((~B~0.base Int)) (let ((.cse257 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse257 .cse256) c_~minb~0) (= c_~minc~0 (+ (select .cse257 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse251 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse251 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse249 (exists ((~B~0.offset Int)) (let ((.cse252 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse252)) (exists ((~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse253 .cse252) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)))))))) .cse254)) .cse249 .cse254 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse255 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse255 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse255 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse258) (and .cse258 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse259 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse259 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse260 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse260)) (exists ((~B~0.base Int)) (let ((.cse261 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse261 .cse260) c_~minb~0) (= c_~minc~0 (+ (select .cse261 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse263)) .cse263 .cse264)) .cse263 .cse264)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse125) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse272 (select |c_#memory_int#1| ~A~0.base)) (.cse269 (+ ~A~0.offset 4))) (let ((.cse270 (select .cse272 .cse269))) (and (not (= .cse269 ~B~0.offset)) (= (+ .cse270 (select .cse271 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse270) (<= (+ .cse270 c_~minb~0 1) .cse1) (<= (+ .cse270 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse272 ~A~0.offset) c_~minb~0)))))) (= (select .cse271 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse276 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse274 (select .cse276 ~A~0.offset)) (.cse273 (select .cse276 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse273 .cse274)) (= c_~mina~0 .cse273) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse275 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse273 (select .cse275 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse275 ~B~0.offset) .cse274))))) (= (+ .cse273 c_~minb~0) .cse1) (<= .cse273 .cse274) (<= (+ .cse274 .cse1) (+ c_~minc~0 .cse273)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse278 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse277) (<= (+ .cse277 c_~minb~0 1) .cse1) (<= (+ .cse277 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse278 ~A~0.offset) c_~minb~0)) (= (+ .cse277 .cse50) .cse1) (= .cse277 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse279 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse283 (+ ~A~0.offset 4)) (.cse281 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse282 .cse283))) (and (= (+ .cse280 (select .cse279 .cse281)) .cse1) (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse282 ~A~0.offset) c_~minb~0)))))) (not (= .cse283 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse281)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse284 (select .cse286 ~A~0.offset)) (.cse285 (select .cse286 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse284) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse284 1) .cse285) (= (+ .cse285 c_~minb~0) .cse1) (<= (+ .cse284 .cse1) (+ c_~minc~0 .cse285)) (= (+ .cse285 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse291 (+ ~A~0.offset 4)) (.cse292 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse292 ~A~0.offset)) (.cse288 (select .cse292 .cse291))) (and (= c_~mina~0 .cse287) (exists ((~B~0.offset Int)) (let ((.cse290 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse288 (select .cse289 .cse290)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse289 ~B~0.offset) .cse287))))) (not (= .cse291 ~B~0.offset)) (not (= ~A~0.offset .cse290))))) (<= (+ .cse287 1) .cse288) (= (* 2 .cse288) .cse1) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse298 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse293 (select .cse298 ~A~0.offset)) (.cse295 (select .cse298 .cse294))) (and (= c_~mina~0 .cse293) (exists ((~B~0.offset Int)) (let ((.cse297 (+ ~B~0.offset 4))) (and (not (= .cse294 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse296 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse295 (select .cse296 .cse297)) .cse1) (= c_~minc~0 (+ (select .cse296 ~B~0.offset) .cse293))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse297))))) (<= (+ .cse293 1) .cse295) (= (+ .cse295 c_~minb~0) .cse1) (<= (+ .cse293 .cse1) (+ c_~minc~0 .cse295)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse303 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse299 (select .cse303 ~A~0.offset)) (.cse300 (select .cse303 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse299) (exists ((~B~0.offset Int)) (let ((.cse302 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse301 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse300 (select .cse301 .cse302)) .cse1) (= c_~minc~0 (+ (select .cse301 ~B~0.offset) .cse299))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse302))))) (= c_~minc~0 (+ .cse300 .cse299)) (<= (+ .cse299 1) .cse300) (= (+ .cse300 c_~minb~0) .cse1) (<= (+ .cse299 .cse1) (+ c_~minc~0 .cse300)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse304 (select .cse305 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse304) (<= (+ .cse304 c_~minb~0 1) .cse1) (<= (+ .cse304 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse305 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse307 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse306 (select .cse307 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse306)) (= c_~mina~0 .cse306) (<= (+ .cse306 c_~minb~0 1) .cse1) (= (* 2 .cse306) .cse1) (= c_~minc~0 (+ (select .cse307 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse309 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse308 c_~minb~0)) (<= (+ .cse308 c_~minb~0 1) .cse1) (= (* 2 .cse308) .cse1) (= c_~minc~0 (+ (select .cse309 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse311 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse310 (select .cse311 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse310)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse310 c_~minb~0)) (<= (+ .cse310 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse311 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse313 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse312 (select .cse313 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse312)) (= c_~mina~0 .cse312) (<= (+ .cse312 c_~minb~0 1) .cse1) (<= (+ .cse312 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse313 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse315 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse314 (select .cse315 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse314 c_~minb~0)) (<= (+ .cse314 c_~minb~0 1) .cse1) (= (* 2 .cse314) .cse1) (= c_~minc~0 (+ (select .cse315 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse317 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse316) (<= (+ .cse316 c_~minb~0 1) .cse1) (<= (+ .cse316 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse317 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse318 (select .cse319 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse318) (<= (+ .cse318 c_~minb~0 1) .cse1) (= (* 2 .cse318) .cse1) (<= (+ .cse318 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse319 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse320 (select .cse321 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse320 c_~minb~0)) (<= (+ .cse320 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse321 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse323 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse322 (select .cse323 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse322 c_~minb~0)) (<= (+ .cse322 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse323 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse324 (select .cse325 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse324 c_~minb~0)) (<= (+ .cse324 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse325 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse327 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse326 (select .cse327 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse326) (<= (+ .cse326 c_~minb~0 1) .cse1) (= (* 2 .cse326) .cse1) (<= (+ .cse326 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse327 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse329 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse328 (select .cse329 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse328) (<= (+ .cse328 c_~minb~0 1) .cse1) (<= (+ .cse328 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse329 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse330 (select .cse332 ~A~0.offset)) (.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse330) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse330 1) .cse331) (= (+ .cse331 c_~minb~0) .cse1) (<= (+ .cse330 .cse1) (+ c_~minc~0 .cse331)) (= (+ .cse331 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse337 (select .cse338 ~A~0.offset)) (.cse336 (select .cse338 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse336) (= (+ .cse336 c_~minb~0) .cse1) (<= .cse336 .cse337) (<= (+ .cse337 .cse1) (+ c_~minc~0 .cse336)) (= c_~minc~0 (* 2 .cse337)) (= (+ .cse336 .cse50) .cse1))))) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse342 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse342 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse340 (select .cse341 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse341 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse340) (<= (+ .cse340 c_~minb~0 1) .cse1) (<= (+ .cse340 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse342 ~A~0.offset) c_~minb~0)) (= .cse340 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse346 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse345 (select .cse346 ~A~0.offset)) (.cse343 (select .cse346 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse344 ~B~0.offset) .cse345))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse343 .cse345)) (= c_~mina~0 .cse343) (= (+ .cse343 c_~minb~0) .cse1) (<= .cse343 .cse345) (<= (+ .cse345 .cse1) (+ c_~minc~0 .cse343)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse350 (+ ~A~0.offset 4)) (.cse351 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse349 (select .cse351 ~A~0.offset)) (.cse347 (select .cse351 .cse350))) (and (= c_~mina~0 .cse347) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse348 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse347 (select .cse348 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse348 ~B~0.offset) .cse349))))) (not (= .cse350 ~B~0.offset)))) (= (* 2 .cse347) .cse1) (= (+ .cse347 c_~minb~0) .cse1) (<= .cse347 .cse349) (<= (+ .cse349 .cse1) (+ c_~minc~0 .cse347)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse353 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse352) (<= (+ .cse352 c_~minb~0 1) .cse1) (<= (+ .cse352 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse353 ~A~0.offset) c_~minb~0)) (= (+ .cse352 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse355 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse354 (select .cse355 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse354 c_~minb~0)) (<= (+ .cse354 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse355 ~A~0.offset) c_~minb~0)) (= (+ .cse354 .cse50) .cse1))))) .cse10) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse357 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse356 (select .cse357 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse356) (<= (+ .cse356 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse357 ~A~0.offset) c_~minb~0)) (= (+ .cse356 .cse50) .cse1) (= .cse356 c_~minb~0))))) .cse358) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse363 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse360 (select .cse363 (+ ~A~0.offset 4))) (.cse362 (select .cse363 ~A~0.offset))) (let ((.cse359 (+ .cse360 .cse362))) (and (= .cse359 .cse1) (= c_~minc~0 .cse359) (= c_~mina~0 .cse360) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse360 (select .cse361 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse361 ~B~0.offset) .cse362))))) (= (+ .cse360 c_~minb~0) .cse1) (<= .cse360 .cse362) (<= (+ .cse362 .cse1) (+ c_~minc~0 .cse360))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse365 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse364 (select .cse365 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse364) (<= (+ .cse364 c_~minb~0 1) .cse1) (<= (+ .cse364 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse365 ~A~0.offset) c_~minb~0)) (= (+ .cse364 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse366 (select .cse368 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse366) (<= (+ .cse366 c_~minb~0 1) .cse1) (= (* 2 .cse366) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse367 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse366 (select .cse367 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse367 ~B~0.offset) c_~minb~0)))) (<= (+ .cse366 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 ~A~0.offset)) (.cse370 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse369)) (= c_~mina~0 .cse369) (<= (+ .cse369 1) .cse370) (= (+ .cse370 c_~minb~0) .cse1) (<= (+ .cse369 .cse1) (+ c_~minc~0 .cse370)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse375 (+ ~A~0.offset 4)) (.cse376 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse373 (select .cse376 ~A~0.offset)) (.cse372 (select .cse376 .cse375))) (and (= (+ .cse372 .cse373) .cse1) (= c_~mina~0 .cse372) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse372 (select .cse374 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse374 ~B~0.offset) .cse373))))) (not (= .cse375 ~B~0.offset)))) (= (* 2 .cse372) .cse1) (= (+ .cse372 c_~minb~0) .cse1) (<= (+ .cse373 .cse1) (+ c_~minc~0 .cse372)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (select |c_#memory_int#1| ~A~0.base)) (.cse379 (+ ~A~0.offset 4))) (let ((.cse377 (select .cse378 .cse379))) (and (= c_~mina~0 .cse377) (<= (+ .cse377 c_~minb~0 1) .cse1) (= (* 2 .cse377) .cse1) (<= (+ .cse377 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse378 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse381 (+ ~B~0.offset 4))) (and (not (= .cse379 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse380 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse377 (select .cse380 .cse381)) .cse1) (= (select .cse380 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse381))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse385 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse385 ~A~0.offset)) (.cse382 (select .cse385 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse382) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse382 (select .cse383 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse383 ~B~0.offset) .cse384))))) (= (+ .cse382 c_~minb~0) .cse1) (<= .cse382 .cse384) (<= (+ .cse384 .cse1) (+ c_~minc~0 .cse382)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse389 (select |c_#memory_int#1| ~A~0.base)) (.cse386 (+ ~A~0.offset 4))) (let ((.cse387 (select .cse389 .cse386))) (and (exists ((~B~0.offset Int)) (and (not (= .cse386 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse387 (select .cse388 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse388 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse387) (<= (+ .cse387 c_~minb~0 1) .cse1) (= (* 2 .cse387) .cse1) (<= (+ .cse387 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse389 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse391 (select .cse392 ~A~0.offset)) (.cse390 (select .cse392 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse390) (= (+ .cse390 c_~minb~0) .cse1) (<= .cse390 .cse391) (<= (+ .cse391 .cse1) (+ c_~minc~0 .cse390)) (= c_~minc~0 (* 2 .cse391)) (= (+ .cse390 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~A~0.base)) (.cse394 (+ ~A~0.offset 4))) (let ((.cse393 (select .cse396 .cse394))) (and (<= .cse14 (+ .cse393 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse394 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse393 (select .cse395 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse395 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse393 c_~minb~0 1) .cse1) (= (* 2 .cse393) .cse1) (= c_~minc~0 (+ (select .cse396 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse397 (select .cse399 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse397 c_~minb~0)) (<= (+ .cse397 c_~minb~0 1) .cse1) (= (* 2 .cse397) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse397 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~A~0.base)) (.cse402 (+ ~A~0.offset 4))) (let ((.cse400 (select .cse401 .cse402))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (= c_~minc~0 (+ (select .cse401 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse404 (+ ~B~0.offset 4))) (and (not (= .cse402 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse403 .cse404)) .cse1) (= (select .cse403 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse404))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~A~0.base)) (.cse406 (+ ~A~0.offset 4))) (let ((.cse405 (select .cse408 .cse406))) (and (<= .cse14 (+ .cse405 c_~minb~0)) (<= (+ .cse405 c_~minb~0 1) .cse1) (= (* 2 .cse405) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse406 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse407 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse405 (select .cse407 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse407 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse408 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse412 (select |c_#memory_int#1| ~A~0.base)) (.cse410 (+ ~A~0.offset 4))) (let ((.cse409 (select .cse412 .cse410))) (and (<= .cse14 (+ .cse409 c_~minb~0)) (= (* 2 .cse409) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse410 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse409 (select .cse411 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse411 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse412 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~A~0.base)) (.cse415 (+ ~A~0.offset 4))) (let ((.cse413 (select .cse414 .cse415))) (and (<= .cse14 (+ .cse413 c_~minb~0)) (= (* 2 .cse413) .cse1) (= c_~minc~0 (+ (select .cse414 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse417 (+ ~B~0.offset 4))) (and (not (= .cse415 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse416 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse413 (select .cse416 .cse417)) .cse1) (= (select .cse416 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse417)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse418 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse419 (select .cse418 ~B~0.offset))) (let ((.cse420 (+ .cse419 .cse50))) (and (= (+ .cse50 (select .cse418 (+ ~B~0.offset 4))) .cse1) (= (+ .cse419 .cse1) .cse48) (<= .cse1 .cse420) (<= .cse420 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse422 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse423 (select .cse422 ~B~0.offset))) (let ((.cse421 (+ .cse423 .cse50))) (and (<= .cse14 .cse421) (= (+ .cse50 (select .cse422 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse421) (= c_~minc~0 (+ .cse423 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (= (+ .cse426 .cse1) .cse48) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (+ (select .cse427 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse427 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse428) (<= .cse428 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse429 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse430 (+ (select .cse429 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse429 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse430) (<= .cse430 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (select .cse432 ~B~0.offset))) (let ((.cse431 (+ .cse433 .cse50))) (and (<= .cse14 .cse431) (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (= c_~minc~0 (+ .cse433 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse434 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse435 (+ (select .cse434 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse434 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse435) (<= .cse435 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (select .cse437 ~B~0.offset))) (let ((.cse436 (+ .cse438 .cse50))) (and (<= .cse14 .cse436) (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse436) (= c_~minc~0 (+ .cse438 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse441 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse439 (select .cse441 (+ ~A~0.offset 4))) (.cse440 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse439 c_~minb~0)) (= (+ .cse439 (select .cse440 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse439 c_~minb~0 1) .cse1) (= (select .cse440 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse441 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 ~A~0.offset)) (.cse443 (select .cse444 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse442)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse443) (= (+ .cse443 c_~minb~0) .cse1) (<= .cse443 .cse442) (<= (+ .cse442 .cse1) (+ c_~minc~0 .cse443)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse446 (select .cse447 ~A~0.offset)) (.cse445 (select .cse447 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse445) (= (+ .cse445 c_~minb~0) .cse1) (<= .cse445 .cse446) (<= (+ .cse446 .cse1) (+ c_~minc~0 .cse445)) (= (+ .cse445 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (+ ~A~0.offset 4)) (.cse452 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse452 ~A~0.offset)) (.cse448 (select .cse452 .cse450))) (and (= (+ .cse448 .cse449) .cse1) (= c_~mina~0 .cse449) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse451 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse450 ~B~0.offset)) (= (+ .cse448 (select .cse451 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse451 ~B~0.offset) .cse449))))) (<= (+ .cse449 1) .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse453 (select .cse454 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse453 c_~minb~0)) (<= (+ .cse453 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse454 ~A~0.offset) c_~minb~0)) (= (+ .cse453 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse455 (+ ~A~0.offset 4)) (.cse460 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse459 (select .cse460 ~A~0.offset)) (.cse456 (select .cse460 .cse455))) (and (exists ((~B~0.offset Int)) (let ((.cse458 (+ ~B~0.offset 4))) (and (not (= .cse455 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse456 (select .cse457 .cse458)) .cse1) (= c_~minc~0 (+ (select .cse457 ~B~0.offset) .cse459))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse458))))) (= c_~mina~0 .cse456) (= (* 2 .cse456) .cse1) (= (+ .cse456 c_~minb~0) .cse1) (<= .cse456 .cse459) (<= (+ .cse459 .cse1) (+ c_~minc~0 .cse456)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse461 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse461 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 (+ ~A~0.offset 4)))) (and (= (+ .cse462 (select .cse461 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse462) (<= (+ .cse462 c_~minb~0 1) .cse1) (<= (+ .cse462 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse463 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse467 (select |c_#memory_int#1| ~A~0.base)) (.cse465 (+ ~A~0.offset 4))) (let ((.cse464 (select .cse467 .cse465))) (and (= c_~mina~0 .cse464) (<= (+ .cse464 c_~minb~0 1) .cse1) (= (* 2 .cse464) .cse1) (<= (+ .cse464 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse465 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse466 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse464 (select .cse466 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse466 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse467 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (+ ~A~0.offset 4)) (.cse473 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse471 (select .cse473 ~A~0.offset)) (.cse468 (select .cse473 .cse472))) (and (exists ((~B~0.offset Int)) (let ((.cse470 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse468 (select .cse469 .cse470)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse469 ~B~0.offset) .cse471))))) (not (= .cse472 ~B~0.offset)) (not (= ~A~0.offset .cse470))))) (= c_~mina~0 .cse468) (= (* 2 .cse468) .cse1) (= (+ .cse468 c_~minb~0) .cse1) (<= .cse468 .cse471) (<= (+ .cse471 .cse1) (+ c_~minc~0 .cse468)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse475 (select .cse476 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse474)) (= c_~mina~0 .cse474) (<= (+ .cse474 1) .cse475) (= (* 2 .cse475) .cse1) (= (+ .cse475 c_~minb~0) .cse1) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse475)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse478 (select .cse479 ~A~0.offset)) (.cse477 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse477 .cse478)) (= c_~mina~0 .cse477) (= (+ .cse477 c_~minb~0) .cse1) (<= .cse477 .cse478) (<= (+ .cse478 .cse1) (+ c_~minc~0 .cse477)) (= (+ .cse477 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse480 (select .cse482 ~A~0.offset)) (.cse481 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse480)) (= c_~mina~0 .cse481) (= (* 2 .cse481) .cse1) (= (+ .cse481 c_~minb~0) .cse1) (<= .cse481 .cse480) (<= (+ .cse480 .cse1) (+ c_~minc~0 .cse481)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse486) (= c_~minc~0 (+ .cse487 .cse486)) (<= (+ .cse486 1) .cse487) (= (+ .cse487 c_~minb~0) .cse1) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)) (= (+ .cse487 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse490 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse490 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse489 c_~minb~0)) (<= (+ .cse489 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse490 ~A~0.offset) c_~minb~0)) (= (+ .cse489 .cse50) .cse1)))))) .cse358 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse495 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse493 (select .cse495 (+ ~A~0.offset 4))) (.cse492 (select .cse495 ~A~0.offset))) (let ((.cse491 (+ .cse493 .cse492))) (and (= .cse491 .cse1) (= c_~mina~0 .cse492) (= c_~minc~0 .cse491) (<= (+ .cse492 1) .cse493) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse494 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse493 (select .cse494 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse494 ~B~0.offset) .cse492))))) (= (+ .cse493 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 ~A~0.offset)) (.cse497 (select .cse498 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse496)) (= c_~mina~0 .cse496) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse496 1) .cse497) (= (+ .cse497 c_~minb~0) .cse1) (<= (+ .cse496 .cse1) (+ c_~minc~0 .cse497)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse502 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse502 ~A~0.offset)) (.cse500 (select .cse502 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse499) (= c_~minc~0 (+ .cse500 .cse499)) (<= (+ .cse499 1) .cse500) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse500 (select .cse501 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse501 ~B~0.offset) .cse499))))) (= (* 2 .cse500) .cse1) (= (+ .cse500 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse504 (select .cse507 (+ ~A~0.offset 4))) (.cse506 (select .cse507 ~A~0.offset))) (let ((.cse503 (+ .cse504 .cse506))) (and (= .cse503 .cse1) (= c_~minc~0 .cse503) (= c_~mina~0 .cse504) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse504 (select .cse505 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse505 ~B~0.offset) .cse506))))) (= (+ .cse504 c_~minb~0) .cse1) (<= .cse504 .cse506) (<= (+ .cse506 .cse1) (+ c_~minc~0 .cse504))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse508 (select .cse510 ~A~0.offset)) (.cse509 (select .cse510 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse508) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse508 1) .cse509) (= (+ .cse509 c_~minb~0) .cse1) (<= (+ .cse508 .cse1) (+ c_~minc~0 .cse509)) (= c_~minc~0 (* 2 .cse508)) (= (+ .cse509 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse514 (+ ~A~0.offset 4)) (.cse515 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse515 ~A~0.offset)) (.cse512 (select .cse515 .cse514))) (and (= c_~mina~0 .cse511) (<= (+ .cse511 1) .cse512) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse512 (select .cse513 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse513 ~B~0.offset) .cse511))))) (not (= .cse514 ~B~0.offset)))) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512))))))))))) is different from true