./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 735b3cc8 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/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.6.800.v20240513-1750.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.3.0-?-735b3cc-m [2025-03-14 01:10:44,443 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-14 01:10:44,515 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-14 01:10:44,523 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-14 01:10:44,524 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-14 01:10:44,544 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-14 01:10:44,545 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-14 01:10:44,545 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-14 01:10:44,545 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-14 01:10:44,545 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-14 01:10:44,545 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-14 01:10:44,546 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * Use SBE=true [2025-03-14 01:10:44,546 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-14 01:10:44,546 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-14 01:10:44,547 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-14 01:10:44,547 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-14 01:10:44,547 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-14 01:10:44,548 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC 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 [2025-03-14 01:10:44,839 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-14 01:10:44,845 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-14 01:10:44,848 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-14 01:10:44,849 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-14 01:10:44,850 INFO L274 PluginConnector]: CDTParser initialized [2025-03-14 01:10:44,851 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 [2025-03-14 01:10:46,174 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a30777be4/8f4684c1fb814b1a8718e8f2d19baa12/FLAG158da3a31 [2025-03-14 01:10:46,406 INFO L384 CDTParser]: Found 1 translation units. [2025-03-14 01:10:46,407 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2025-03-14 01:10:46,414 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a30777be4/8f4684c1fb814b1a8718e8f2d19baa12/FLAG158da3a31 [2025-03-14 01:10:46,432 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a30777be4/8f4684c1fb814b1a8718e8f2d19baa12 [2025-03-14 01:10:46,435 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-14 01:10:46,437 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-14 01:10:46,439 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-14 01:10:46,440 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-14 01:10:46,444 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-14 01:10:46,444 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,447 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6525ec1c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46, skipping insertion in model container [2025-03-14 01:10:46,447 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,462 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-14 01:10:46,610 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] [2025-03-14 01:10:46,621 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-14 01:10:46,629 INFO L200 MainTranslator]: Completed pre-run [2025-03-14 01:10:46,649 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] [2025-03-14 01:10:46,655 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-14 01:10:46,670 INFO L204 MainTranslator]: Completed translation [2025-03-14 01:10:46,672 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46 WrapperNode [2025-03-14 01:10:46,672 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-14 01:10:46,673 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-14 01:10:46,673 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-14 01:10:46,673 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-14 01:10:46,678 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,684 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,707 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 210 [2025-03-14 01:10:46,710 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-14 01:10:46,711 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-14 01:10:46,712 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-14 01:10:46,712 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-14 01:10:46,718 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,718 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,727 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,749 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]. [2025-03-14 01:10:46,750 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,750 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,757 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,761 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,767 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,768 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,770 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-14 01:10:46,773 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-14 01:10:46,773 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-14 01:10:46,774 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-14 01:10:46,775 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (1/1) ... [2025-03-14 01:10:46,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-14 01:10:46,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:46,806 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) [2025-03-14 01:10:46,812 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 [2025-03-14 01:10:46,832 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-14 01:10:46,832 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-03-14 01:10:46,832 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-03-14 01:10:46,832 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-03-14 01:10:46,833 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-03-14 01:10:46,833 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-03-14 01:10:46,833 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-03-14 01:10:46,833 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-14 01:10:46,834 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-14 01:10:46,834 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-14 01:10:46,836 WARN L225 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-03-14 01:10:46,935 INFO L256 CfgBuilder]: Building ICFG [2025-03-14 01:10:46,937 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-14 01:10:47,393 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-03-14 01:10:47,395 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-14 01:10:47,396 INFO L318 CfgBuilder]: Performing block encoding [2025-03-14 01:10:47,808 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-14 01:10:47,809 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 14.03 01:10:47 BoogieIcfgContainer [2025-03-14 01:10:47,809 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-14 01:10:47,811 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-14 01:10:47,811 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-14 01:10:47,814 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-14 01:10:47,814 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.03 01:10:46" (1/3) ... [2025-03-14 01:10:47,815 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5e1bcfeb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.03 01:10:47, skipping insertion in model container [2025-03-14 01:10:47,815 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:46" (2/3) ... [2025-03-14 01:10:47,815 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5e1bcfeb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.03 01:10:47, skipping insertion in model container [2025-03-14 01:10:47,815 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 14.03 01:10:47" (3/3) ... [2025-03-14 01:10:47,816 INFO L128 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2025-03-14 01:10:47,829 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-14 01:10:47,830 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG popl20-three-array-min.wvr.c that has 4 procedures, 33 locations, 1 initial locations, 6 loop locations, and 1 error locations. [2025-03-14 01:10:47,831 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-03-14 01:10:47,898 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-03-14 01:10:47,933 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2025-03-14 01:10:47,970 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2025-03-14 01:10:47,976 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-14 01:10:47,978 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 7/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 39 event pairs, 0 based on Foata normal form. 0/28 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2025-03-14 01:10:47,979 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2025-03-14 01:10:47,985 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2025-03-14 01:10:47,996 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-14 01:10:48,006 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;@23a97ee3, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-14 01:10:48,008 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-03-14 01:10:48,028 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-03-14 01:10:48,029 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2025-03-14 01:10:48,029 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-14 01:10:48,029 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:48,030 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:48,030 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)] === [2025-03-14 01:10:48,034 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:48,035 INFO L85 PathProgramCache]: Analyzing trace with hash -911464602, now seen corresponding path program 1 times [2025-03-14 01:10:48,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:48,041 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [284075496] [2025-03-14 01:10:48,042 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:48,042 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:48,115 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-03-14 01:10:48,184 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-03-14 01:10:48,184 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:48,184 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:48,453 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-14 01:10:48,453 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:48,453 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [284075496] [2025-03-14 01:10:48,454 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [284075496] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:48,454 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:48,455 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-14 01:10:48,456 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1702602476] [2025-03-14 01:10:48,456 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:48,463 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-14 01:10:48,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:48,482 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-14 01:10:48,483 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-14 01:10:48,484 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:48,486 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 35 transitions, 88 flow. Second operand has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 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) [2025-03-14 01:10:48,486 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:48,486 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:48,486 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:48,668 INFO L124 PetriNetUnfolderBase]: 431/694 cut-off events. [2025-03-14 01:10:48,668 INFO L125 PetriNetUnfolderBase]: For 65/65 co-relation queries the response was YES. [2025-03-14 01:10:48,672 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1348 conditions, 694 events. 431/694 cut-off events. For 65/65 co-relation queries the response was YES. Maximal size of possible extension queue 48. Compared 2694 event pairs, 284 based on Foata normal form. 0/610 useless extension candidates. Maximal degree in co-relation 1137. Up to 590 conditions per place. [2025-03-14 01:10:48,680 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 28 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2025-03-14 01:10:48,680 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 150 flow [2025-03-14 01:10:48,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-14 01:10:48,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-14 01:10:48,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2025-03-14 01:10:48,697 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.49572649572649574 [2025-03-14 01:10:48,698 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 58 transitions. [2025-03-14 01:10:48,698 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 150 flow [2025-03-14 01:10:48,704 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 138 flow, removed 0 selfloop flow, removed 6 redundant places. [2025-03-14 01:10:48,707 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2025-03-14 01:10:48,709 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=76, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=88, PETRI_PLACES=35, PETRI_TRANSITIONS=36} [2025-03-14 01:10:48,713 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2025-03-14 01:10:48,713 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2025-03-14 01:10:48,714 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 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) [2025-03-14 01:10:48,714 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:48,715 INFO L206 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] [2025-03-14 01:10:48,715 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-03-14 01:10:48,715 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)] === [2025-03-14 01:10:48,715 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:48,715 INFO L85 PathProgramCache]: Analyzing trace with hash 1873097933, now seen corresponding path program 1 times [2025-03-14 01:10:48,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:48,716 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1997975012] [2025-03-14 01:10:48,716 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:48,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:48,731 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-03-14 01:10:48,761 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-03-14 01:10:48,761 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:48,761 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:48,988 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-03-14 01:10:48,988 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:48,988 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1997975012] [2025-03-14 01:10:48,989 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1997975012] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:48,989 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:48,989 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-14 01:10:48,989 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [480460132] [2025-03-14 01:10:48,989 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:48,990 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-03-14 01:10:48,990 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:48,990 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-14 01:10:48,990 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-14 01:10:49,000 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:49,000 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 36 transitions, 88 flow. Second operand has 4 states, 4 states have (on average 14.25) internal successors, (57), 4 states have internal predecessors, (57), 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) [2025-03-14 01:10:49,000 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:49,000 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:49,000 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:49,134 INFO L124 PetriNetUnfolderBase]: 431/696 cut-off events. [2025-03-14 01:10:49,135 INFO L125 PetriNetUnfolderBase]: For 17/17 co-relation queries the response was YES. [2025-03-14 01:10:49,139 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1313 conditions, 696 events. 431/696 cut-off events. For 17/17 co-relation queries the response was YES. Maximal size of possible extension queue 48. Compared 2691 event pairs, 284 based on Foata normal form. 0/612 useless extension candidates. Maximal degree in co-relation 1302. Up to 589 conditions per place. [2025-03-14 01:10:49,141 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 26 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2025-03-14 01:10:49,142 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 156 flow [2025-03-14 01:10:49,142 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-14 01:10:49,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-03-14 01:10:49,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2025-03-14 01:10:49,143 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2025-03-14 01:10:49,143 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 70 transitions. [2025-03-14 01:10:49,143 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 156 flow [2025-03-14 01:10:49,144 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 152 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-03-14 01:10:49,144 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2025-03-14 01:10:49,144 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=84, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=30, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=112, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2025-03-14 01:10:49,145 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2025-03-14 01:10:49,145 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2025-03-14 01:10:49,145 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 14.25) internal successors, (57), 4 states have internal predecessors, (57), 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) [2025-03-14 01:10:49,145 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:49,145 INFO L206 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] [2025-03-14 01:10:49,145 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-03-14 01:10:49,146 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)] === [2025-03-14 01:10:49,146 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:49,146 INFO L85 PathProgramCache]: Analyzing trace with hash -278999820, now seen corresponding path program 1 times [2025-03-14 01:10:49,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:49,146 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [282372167] [2025-03-14 01:10:49,146 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:49,147 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:49,166 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-14 01:10:49,186 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-14 01:10:49,186 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:49,186 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:49,357 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-03-14 01:10:49,358 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:49,358 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [282372167] [2025-03-14 01:10:49,358 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [282372167] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:49,358 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:49,358 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-14 01:10:49,358 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1416517368] [2025-03-14 01:10:49,358 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:49,358 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-14 01:10:49,358 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:49,359 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-14 01:10:49,359 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-14 01:10:49,359 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:49,359 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 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) [2025-03-14 01:10:49,359 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:49,359 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:49,359 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:49,514 INFO L124 PetriNetUnfolderBase]: 663/1098 cut-off events. [2025-03-14 01:10:49,514 INFO L125 PetriNetUnfolderBase]: For 32/32 co-relation queries the response was YES. [2025-03-14 01:10:49,519 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2016 conditions, 1098 events. 663/1098 cut-off events. For 32/32 co-relation queries the response was YES. Maximal size of possible extension queue 49. Compared 4591 event pairs, 226 based on Foata normal form. 1/964 useless extension candidates. Maximal degree in co-relation 1996. Up to 459 conditions per place. [2025-03-14 01:10:49,524 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 42 selfloop transitions, 2 changer transitions 2/52 dead transitions. [2025-03-14 01:10:49,525 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 52 transitions, 235 flow [2025-03-14 01:10:49,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-14 01:10:49,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-14 01:10:49,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2025-03-14 01:10:49,527 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6068376068376068 [2025-03-14 01:10:49,527 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 71 transitions. [2025-03-14 01:10:49,527 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 52 transitions, 235 flow [2025-03-14 01:10:49,528 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 52 transitions, 234 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-14 01:10:49,530 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2025-03-14 01:10:49,530 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=111, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=123, PETRI_PLACES=40, PETRI_TRANSITIONS=39} [2025-03-14 01:10:49,530 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2025-03-14 01:10:49,531 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2025-03-14 01:10:49,531 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 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) [2025-03-14 01:10:49,531 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:49,531 INFO L206 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] [2025-03-14 01:10:49,532 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-03-14 01:10:49,532 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)] === [2025-03-14 01:10:49,532 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:49,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1970062281, now seen corresponding path program 1 times [2025-03-14 01:10:49,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:49,533 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [879069046] [2025-03-14 01:10:49,533 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:49,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:49,546 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-14 01:10:49,559 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-14 01:10:49,559 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:49,559 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:49,679 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-14 01:10:49,679 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:49,679 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [879069046] [2025-03-14 01:10:49,679 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [879069046] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:49,679 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1638677943] [2025-03-14 01:10:49,679 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:49,680 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:49,680 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:49,682 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) [2025-03-14 01:10:49,683 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-03-14 01:10:49,751 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-14 01:10:49,793 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-14 01:10:49,794 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:49,794 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:49,797 INFO L256 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-14 01:10:49,802 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:49,889 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-14 01:10:49,889 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-14 01:10:49,948 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-14 01:10:49,948 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1638677943] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-14 01:10:49,948 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-14 01:10:49,948 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2025-03-14 01:10:49,949 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [135295493] [2025-03-14 01:10:49,949 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-14 01:10:49,949 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2025-03-14 01:10:49,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:49,949 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-03-14 01:10:49,949 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2025-03-14 01:10:49,963 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:49,963 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 39 transitions, 123 flow. Second operand has 12 states, 12 states have (on average 11.083333333333334) internal successors, (133), 12 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) [2025-03-14 01:10:49,963 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:49,963 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:49,963 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:50,304 INFO L124 PetriNetUnfolderBase]: 1039/1608 cut-off events. [2025-03-14 01:10:50,304 INFO L125 PetriNetUnfolderBase]: For 110/110 co-relation queries the response was YES. [2025-03-14 01:10:50,308 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3214 conditions, 1608 events. 1039/1608 cut-off events. For 110/110 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 6430 event pairs, 506 based on Foata normal form. 0/1363 useless extension candidates. Maximal degree in co-relation 2432. Up to 877 conditions per place. [2025-03-14 01:10:50,314 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 37 selfloop transitions, 10 changer transitions 41/93 dead transitions. [2025-03-14 01:10:50,315 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 93 transitions, 457 flow [2025-03-14 01:10:50,315 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-03-14 01:10:50,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-03-14 01:10:50,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 168 transitions. [2025-03-14 01:10:50,317 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4307692307692308 [2025-03-14 01:10:50,317 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 10 states and 168 transitions. [2025-03-14 01:10:50,317 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 93 transitions, 457 flow [2025-03-14 01:10:50,318 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 93 transitions, 455 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-14 01:10:50,319 INFO L231 Difference]: Finished difference. Result has 53 places, 42 transitions, 179 flow [2025-03-14 01:10:50,319 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=121, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=179, PETRI_PLACES=53, PETRI_TRANSITIONS=42} [2025-03-14 01:10:50,319 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 15 predicate places. [2025-03-14 01:10:50,321 INFO L471 AbstractCegarLoop]: Abstraction has has 53 places, 42 transitions, 179 flow [2025-03-14 01:10:50,321 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 11.083333333333334) internal successors, (133), 12 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) [2025-03-14 01:10:50,321 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:50,321 INFO L206 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] [2025-03-14 01:10:50,328 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-03-14 01:10:50,525 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:50,525 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)] === [2025-03-14 01:10:50,526 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:50,526 INFO L85 PathProgramCache]: Analyzing trace with hash -1354039615, now seen corresponding path program 2 times [2025-03-14 01:10:50,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:50,526 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2014011245] [2025-03-14 01:10:50,526 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-14 01:10:50,526 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:50,535 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:50,545 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 27 of 33 statements. [2025-03-14 01:10:50,545 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-14 01:10:50,545 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:50,619 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-14 01:10:50,619 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:50,619 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2014011245] [2025-03-14 01:10:50,619 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2014011245] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:50,619 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:50,619 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-14 01:10:50,619 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1465438252] [2025-03-14 01:10:50,619 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:50,619 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-14 01:10:50,620 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:50,620 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-14 01:10:50,620 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-14 01:10:50,630 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:50,631 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 42 transitions, 179 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 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) [2025-03-14 01:10:50,631 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:50,631 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:50,631 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:50,931 INFO L124 PetriNetUnfolderBase]: 1355/2057 cut-off events. [2025-03-14 01:10:50,931 INFO L125 PetriNetUnfolderBase]: For 362/362 co-relation queries the response was YES. [2025-03-14 01:10:50,936 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4394 conditions, 2057 events. 1355/2057 cut-off events. For 362/362 co-relation queries the response was YES. Maximal size of possible extension queue 87. Compared 9533 event pairs, 550 based on Foata normal form. 13/1835 useless extension candidates. Maximal degree in co-relation 4358. Up to 1082 conditions per place. [2025-03-14 01:10:50,942 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 67 selfloop transitions, 3 changer transitions 14/89 dead transitions. [2025-03-14 01:10:50,942 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 89 transitions, 475 flow [2025-03-14 01:10:50,943 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-14 01:10:50,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-14 01:10:50,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 116 transitions. [2025-03-14 01:10:50,943 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5948717948717949 [2025-03-14 01:10:50,943 INFO L175 Difference]: Start difference. First operand has 53 places, 42 transitions, 179 flow. Second operand 5 states and 116 transitions. [2025-03-14 01:10:50,943 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 89 transitions, 475 flow [2025-03-14 01:10:50,948 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 89 transitions, 443 flow, removed 13 selfloop flow, removed 5 redundant places. [2025-03-14 01:10:50,949 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2025-03-14 01:10:50,949 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=177, PETRI_PLACES=50, PETRI_TRANSITIONS=44} [2025-03-14 01:10:50,951 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2025-03-14 01:10:50,951 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2025-03-14 01:10:50,951 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 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) [2025-03-14 01:10:50,952 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:50,952 INFO L206 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] [2025-03-14 01:10:50,952 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-03-14 01:10:50,952 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)] === [2025-03-14 01:10:50,952 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:50,952 INFO L85 PathProgramCache]: Analyzing trace with hash 1197437667, now seen corresponding path program 3 times [2025-03-14 01:10:50,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:50,953 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550234313] [2025-03-14 01:10:50,953 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-14 01:10:50,953 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:50,967 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:50,989 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-14 01:10:50,989 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-03-14 01:10:50,989 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:51,064 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-14 01:10:51,065 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:51,065 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550234313] [2025-03-14 01:10:51,065 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [550234313] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:51,065 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:51,065 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-14 01:10:51,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [978072124] [2025-03-14 01:10:51,066 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:51,066 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-14 01:10:51,066 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:51,067 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-14 01:10:51,067 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-14 01:10:51,075 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:51,076 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 44 transitions, 177 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 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) [2025-03-14 01:10:51,076 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:51,076 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:51,076 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:51,431 INFO L124 PetriNetUnfolderBase]: 2313/3650 cut-off events. [2025-03-14 01:10:51,431 INFO L125 PetriNetUnfolderBase]: For 1971/1971 co-relation queries the response was YES. [2025-03-14 01:10:51,438 INFO L83 FinitePrefix]: Finished finitePrefix Result has 8699 conditions, 3650 events. 2313/3650 cut-off events. For 1971/1971 co-relation queries the response was YES. Maximal size of possible extension queue 137. Compared 19265 event pairs, 930 based on Foata normal form. 14/3402 useless extension candidates. Maximal degree in co-relation 8666. Up to 1828 conditions per place. [2025-03-14 01:10:51,451 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 71 selfloop transitions, 3 changer transitions 13/92 dead transitions. [2025-03-14 01:10:51,451 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 92 transitions, 522 flow [2025-03-14 01:10:51,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-14 01:10:51,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-14 01:10:51,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2025-03-14 01:10:51,452 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5692307692307692 [2025-03-14 01:10:51,452 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 111 transitions. [2025-03-14 01:10:51,452 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 92 transitions, 522 flow [2025-03-14 01:10:51,461 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 92 transitions, 500 flow, removed 7 selfloop flow, removed 2 redundant places. [2025-03-14 01:10:51,462 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2025-03-14 01:10:51,463 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=171, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=193, PETRI_PLACES=54, PETRI_TRANSITIONS=46} [2025-03-14 01:10:51,464 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2025-03-14 01:10:51,464 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2025-03-14 01:10:51,464 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 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) [2025-03-14 01:10:51,464 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:51,464 INFO L206 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] [2025-03-14 01:10:51,464 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-03-14 01:10:51,465 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)] === [2025-03-14 01:10:51,465 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:51,465 INFO L85 PathProgramCache]: Analyzing trace with hash -2048763945, now seen corresponding path program 4 times [2025-03-14 01:10:51,465 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:51,465 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1671620102] [2025-03-14 01:10:51,465 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-14 01:10:51,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:51,478 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:51,480 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 21 of 33 statements. [2025-03-14 01:10:51,480 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-14 01:10:51,480 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:51,511 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-14 01:10:51,511 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:51,511 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1671620102] [2025-03-14 01:10:51,512 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1671620102] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:51,512 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:51,512 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-14 01:10:51,512 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1839614190] [2025-03-14 01:10:51,512 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:51,513 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-14 01:10:51,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:51,513 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-14 01:10:51,513 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-03-14 01:10:51,518 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:51,518 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 46 transitions, 193 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 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) [2025-03-14 01:10:51,518 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:51,519 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:51,519 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:52,006 INFO L124 PetriNetUnfolderBase]: 3115/4751 cut-off events. [2025-03-14 01:10:52,006 INFO L125 PetriNetUnfolderBase]: For 3212/3212 co-relation queries the response was YES. [2025-03-14 01:10:52,014 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12209 conditions, 4751 events. 3115/4751 cut-off events. For 3212/3212 co-relation queries the response was YES. Maximal size of possible extension queue 186. Compared 25479 event pairs, 1188 based on Foata normal form. 46/4440 useless extension candidates. Maximal degree in co-relation 12174. Up to 2234 conditions per place. [2025-03-14 01:10:52,030 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 102 selfloop transitions, 16 changer transitions 0/123 dead transitions. [2025-03-14 01:10:52,030 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 123 transitions, 719 flow [2025-03-14 01:10:52,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-14 01:10:52,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-03-14 01:10:52,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 159 transitions. [2025-03-14 01:10:52,032 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5096153846153846 [2025-03-14 01:10:52,032 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 159 transitions. [2025-03-14 01:10:52,032 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 123 transitions, 719 flow [2025-03-14 01:10:52,041 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 123 transitions, 699 flow, removed 3 selfloop flow, removed 2 redundant places. [2025-03-14 01:10:52,043 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2025-03-14 01:10:52,043 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=189, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=301, PETRI_PLACES=61, PETRI_TRANSITIONS=59} [2025-03-14 01:10:52,043 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2025-03-14 01:10:52,043 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2025-03-14 01:10:52,043 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 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) [2025-03-14 01:10:52,043 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:52,043 INFO L206 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] [2025-03-14 01:10:52,044 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-03-14 01:10:52,044 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)] === [2025-03-14 01:10:52,044 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:52,044 INFO L85 PathProgramCache]: Analyzing trace with hash -1181982431, now seen corresponding path program 5 times [2025-03-14 01:10:52,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:52,044 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1443707114] [2025-03-14 01:10:52,044 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-14 01:10:52,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:52,058 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:52,071 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-14 01:10:52,075 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-14 01:10:52,075 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:52,159 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-14 01:10:52,160 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:52,160 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1443707114] [2025-03-14 01:10:52,160 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1443707114] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:52,160 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2098809631] [2025-03-14 01:10:52,160 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-14 01:10:52,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:52,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:52,163 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) [2025-03-14 01:10:52,164 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-03-14 01:10:52,224 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:52,257 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-14 01:10:52,257 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-14 01:10:52,257 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:52,258 INFO L256 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-14 01:10:52,260 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:52,348 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-14 01:10:52,349 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-14 01:10:52,397 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-14 01:10:52,397 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2098809631] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:52,397 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-14 01:10:52,398 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-14 01:10:52,398 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [164113668] [2025-03-14 01:10:52,398 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:52,398 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-14 01:10:52,398 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:52,398 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-14 01:10:52,399 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2025-03-14 01:10:52,406 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:52,407 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 flow. Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 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) [2025-03-14 01:10:52,407 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:52,407 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:52,407 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:52,687 INFO L124 PetriNetUnfolderBase]: 1843/2907 cut-off events. [2025-03-14 01:10:52,687 INFO L125 PetriNetUnfolderBase]: For 4812/4905 co-relation queries the response was YES. [2025-03-14 01:10:52,694 INFO L83 FinitePrefix]: Finished finitePrefix Result has 8232 conditions, 2907 events. 1843/2907 cut-off events. For 4812/4905 co-relation queries the response was YES. Maximal size of possible extension queue 124. Compared 14893 event pairs, 850 based on Foata normal form. 320/3092 useless extension candidates. Maximal degree in co-relation 8195. Up to 1815 conditions per place. [2025-03-14 01:10:52,702 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 54 selfloop transitions, 9 changer transitions 0/69 dead transitions. [2025-03-14 01:10:52,703 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 69 transitions, 433 flow [2025-03-14 01:10:52,703 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-14 01:10:52,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-14 01:10:52,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2025-03-14 01:10:52,704 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.43162393162393164 [2025-03-14 01:10:52,704 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 6 states and 101 transitions. [2025-03-14 01:10:52,704 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 69 transitions, 433 flow [2025-03-14 01:10:52,710 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 69 transitions, 423 flow, removed 2 selfloop flow, removed 2 redundant places. [2025-03-14 01:10:52,711 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 267 flow [2025-03-14 01:10:52,711 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=249, PETRI_DIFFERENCE_MINUEND_PLACES=58, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=9, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=267, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-03-14 01:10:52,711 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-14 01:10:52,711 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 267 flow [2025-03-14 01:10:52,712 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 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) [2025-03-14 01:10:52,712 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:52,712 INFO L206 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] [2025-03-14 01:10:52,718 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-03-14 01:10:52,912 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,SelfDestructingSolverStorable7 [2025-03-14 01:10:52,913 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:52,913 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:52,913 INFO L85 PathProgramCache]: Analyzing trace with hash 723441540, now seen corresponding path program 1 times [2025-03-14 01:10:52,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:52,913 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [921173383] [2025-03-14 01:10:52,913 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:52,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:52,922 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-14 01:10:52,931 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-14 01:10:52,932 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:52,932 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:53,060 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-14 01:10:53,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:53,061 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [921173383] [2025-03-14 01:10:53,061 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [921173383] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:53,061 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [222302001] [2025-03-14 01:10:53,061 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:53,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:53,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:53,063 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) [2025-03-14 01:10:53,064 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-03-14 01:10:53,130 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-14 01:10:53,164 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-14 01:10:53,164 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:53,164 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:53,166 INFO L256 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-14 01:10:53,167 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:53,249 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-14 01:10:53,249 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-14 01:10:53,324 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-14 01:10:53,324 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [222302001] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:53,324 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-14 01:10:53,325 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-14 01:10:53,325 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [238978699] [2025-03-14 01:10:53,325 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:53,325 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-14 01:10:53,325 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:53,325 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-14 01:10:53,325 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2025-03-14 01:10:53,332 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:53,333 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 54 transitions, 267 flow. Second operand has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 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) [2025-03-14 01:10:53,333 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:53,333 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:53,333 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:53,643 INFO L124 PetriNetUnfolderBase]: 2134/3139 cut-off events. [2025-03-14 01:10:53,644 INFO L125 PetriNetUnfolderBase]: For 4595/4651 co-relation queries the response was YES. [2025-03-14 01:10:53,648 INFO L83 FinitePrefix]: Finished finitePrefix Result has 9269 conditions, 3139 events. 2134/3139 cut-off events. For 4595/4651 co-relation queries the response was YES. Maximal size of possible extension queue 126. Compared 14943 event pairs, 491 based on Foata normal form. 111/3143 useless extension candidates. Maximal degree in co-relation 9229. Up to 1851 conditions per place. [2025-03-14 01:10:53,657 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 65 selfloop transitions, 7 changer transitions 0/77 dead transitions. [2025-03-14 01:10:53,657 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 77 transitions, 529 flow [2025-03-14 01:10:53,657 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-14 01:10:53,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-14 01:10:53,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2025-03-14 01:10:53,658 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4017094017094017 [2025-03-14 01:10:53,658 INFO L175 Difference]: Start difference. First operand has 63 places, 54 transitions, 267 flow. Second operand 6 states and 94 transitions. [2025-03-14 01:10:53,658 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 77 transitions, 529 flow [2025-03-14 01:10:53,662 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 77 transitions, 491 flow, removed 5 selfloop flow, removed 5 redundant places. [2025-03-14 01:10:53,662 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 262 flow [2025-03-14 01:10:53,663 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=239, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=53, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=262, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-03-14 01:10:53,663 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-14 01:10:53,667 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 262 flow [2025-03-14 01:10:53,668 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 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) [2025-03-14 01:10:53,668 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:53,668 INFO L206 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] [2025-03-14 01:10:53,674 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2025-03-14 01:10:53,868 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:53,868 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:53,869 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:53,869 INFO L85 PathProgramCache]: Analyzing trace with hash 257271808, now seen corresponding path program 1 times [2025-03-14 01:10:53,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:53,869 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2026248059] [2025-03-14 01:10:53,869 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:53,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:53,878 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-14 01:10:53,926 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-14 01:10:53,926 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:53,926 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:55,602 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-03-14 01:10:55,602 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:55,602 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2026248059] [2025-03-14 01:10:55,602 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2026248059] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:55,602 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2037021596] [2025-03-14 01:10:55,602 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:55,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:55,603 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:55,604 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) [2025-03-14 01:10:55,606 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-03-14 01:10:55,663 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-14 01:10:55,693 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-14 01:10:55,693 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:55,693 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:55,695 INFO L256 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 23 conjuncts are in the unsatisfiable core [2025-03-14 01:10:55,697 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:56,094 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2025-03-14 01:10:56,095 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 [2025-03-14 01:11:07,726 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 [2025-03-14 01:11:21,457 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