./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version f8ab0bd5 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-max.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 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 --- Real Ultimate output --- This is Ultimate 0.3.0-?-f8ab0bd-m [2025-03-13 21:51:40,238 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-13 21:51:40,291 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-13 21:51:40,294 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-13 21:51:40,297 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-13 21:51:40,315 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-13 21:51:40,315 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-13 21:51:40,315 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-13 21:51:40,316 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-13 21:51:40,316 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-13 21:51:40,316 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-13 21:51:40,316 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-13 21:51:40,317 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * Use SBE=true [2025-03-13 21:51:40,317 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-13 21:51:40,317 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-13 21:51:40,318 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:51:40,318 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-13 21:51:40,318 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-13 21:51:40,319 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-13 21:51:40,319 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-13 21:51:40,319 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-13 21:51:40,319 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 -> 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 [2025-03-13 21:51:40,532 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-13 21:51:40,540 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-13 21:51:40,542 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-13 21:51:40,543 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-13 21:51:40,543 INFO L274 PluginConnector]: CDTParser initialized [2025-03-13 21:51:40,545 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2025-03-13 21:51:41,636 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a87d63441/cbc003ee227d444e9e2bf4904c8219c1/FLAGd895f10be [2025-03-13 21:51:41,881 INFO L384 CDTParser]: Found 1 translation units. [2025-03-13 21:51:41,882 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2025-03-13 21:51:41,902 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a87d63441/cbc003ee227d444e9e2bf4904c8219c1/FLAGd895f10be [2025-03-13 21:51:42,212 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a87d63441/cbc003ee227d444e9e2bf4904c8219c1 [2025-03-13 21:51:42,215 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-13 21:51:42,217 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-13 21:51:42,218 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-13 21:51:42,218 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-13 21:51:42,221 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-13 21:51:42,222 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,222 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@353fc2b7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42, skipping insertion in model container [2025-03-13 21:51:42,223 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,236 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-13 21:51:42,365 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-max.wvr.c[2862,2875] [2025-03-13 21:51:42,373 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:51:42,380 INFO L200 MainTranslator]: Completed pre-run [2025-03-13 21:51:42,402 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-max.wvr.c[2862,2875] [2025-03-13 21:51:42,406 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:51:42,421 INFO L204 MainTranslator]: Completed translation [2025-03-13 21:51:42,422 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42 WrapperNode [2025-03-13 21:51:42,422 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-13 21:51:42,423 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-13 21:51:42,423 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-13 21:51:42,423 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-13 21:51:42,428 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,434 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,458 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 210 [2025-03-13 21:51:42,460 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-13 21:51:42,461 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-13 21:51:42,461 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-13 21:51:42,461 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-13 21:51:42,467 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,468 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,475 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,493 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-13 21:51:42,493 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,493 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,500 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,504 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,505 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,510 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,512 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-13 21:51:42,513 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-13 21:51:42,513 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-13 21:51:42,513 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-13 21:51:42,514 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (1/1) ... [2025-03-13 21:51:42,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:51:42,533 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:42,543 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-13 21:51:42,548 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-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-03-13 21:51:42,564 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-03-13 21:51:42,564 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-03-13 21:51:42,564 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-13 21:51:42,564 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-13 21:51:42,564 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-13 21:51:42,565 WARN L225 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-03-13 21:51:42,645 INFO L256 CfgBuilder]: Building ICFG [2025-03-13 21:51:42,647 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-13 21:51:42,984 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-03-13 21:51:42,984 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-13 21:51:42,984 INFO L318 CfgBuilder]: Performing block encoding [2025-03-13 21:51:43,243 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-13 21:51:43,244 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:51:43 BoogieIcfgContainer [2025-03-13 21:51:43,244 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-13 21:51:43,246 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-13 21:51:43,246 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-13 21:51:43,250 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-13 21:51:43,250 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.03 09:51:42" (1/3) ... [2025-03-13 21:51:43,250 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@10b9366e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:51:43, skipping insertion in model container [2025-03-13 21:51:43,250 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:42" (2/3) ... [2025-03-13 21:51:43,251 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@10b9366e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:51:43, skipping insertion in model container [2025-03-13 21:51:43,251 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:51:43" (3/3) ... [2025-03-13 21:51:43,252 INFO L128 eAbstractionObserver]: Analyzing ICFG popl20-three-array-max.wvr.c [2025-03-13 21:51:43,263 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-13 21:51:43,265 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG popl20-three-array-max.wvr.c that has 4 procedures, 33 locations, 1 initial locations, 6 loop locations, and 1 error locations. [2025-03-13 21:51:43,266 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-03-13 21:51:43,313 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-03-13 21:51:43,339 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2025-03-13 21:51:43,364 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2025-03-13 21:51:43,365 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-13 21:51:43,367 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-13 21:51:43,367 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2025-03-13 21:51:43,373 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2025-03-13 21:51:43,381 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-13 21:51:43,396 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;@7b4b59ed, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-13 21:51:43,396 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-03-13 21:51:43,412 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-03-13 21:51:43,412 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2025-03-13 21:51:43,412 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-13 21:51:43,412 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:43,416 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-13 21:51:43,416 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-13 21:51:43,419 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:43,421 INFO L85 PathProgramCache]: Analyzing trace with hash -911464602, now seen corresponding path program 1 times [2025-03-13 21:51:43,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:43,433 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1903034934] [2025-03-13 21:51:43,433 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:43,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:43,489 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-03-13 21:51:43,534 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-03-13 21:51:43,535 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:43,535 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:43,774 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-13 21:51:43,775 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:43,775 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1903034934] [2025-03-13 21:51:43,776 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1903034934] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:43,776 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:43,776 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-13 21:51:43,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1660680814] [2025-03-13 21:51:43,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:43,782 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-13 21:51:43,785 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:43,802 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-13 21:51:43,803 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-13 21:51:43,804 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:43,806 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-13 21:51:43,806 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:43,806 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:43,806 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:43,976 INFO L124 PetriNetUnfolderBase]: 431/694 cut-off events. [2025-03-13 21:51:43,976 INFO L125 PetriNetUnfolderBase]: For 65/65 co-relation queries the response was YES. [2025-03-13 21:51:43,979 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-13 21:51:43,985 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 28 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2025-03-13 21:51:43,985 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 150 flow [2025-03-13 21:51:43,987 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-13 21:51:43,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-13 21:51:43,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2025-03-13 21:51:43,993 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.49572649572649574 [2025-03-13 21:51:43,994 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 58 transitions. [2025-03-13 21:51:43,996 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 150 flow [2025-03-13 21:51:44,001 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 138 flow, removed 0 selfloop flow, removed 6 redundant places. [2025-03-13 21:51:44,003 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2025-03-13 21:51:44,005 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-13 21:51:44,007 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2025-03-13 21:51:44,008 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2025-03-13 21:51:44,008 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-13 21:51:44,008 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:44,009 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-13 21:51:44,009 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-03-13 21:51:44,009 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-13 21:51:44,010 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:44,010 INFO L85 PathProgramCache]: Analyzing trace with hash 1873097933, now seen corresponding path program 1 times [2025-03-13 21:51:44,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:44,010 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593843329] [2025-03-13 21:51:44,010 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:44,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:44,023 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-03-13 21:51:44,043 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-03-13 21:51:44,044 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:44,044 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:44,220 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-13 21:51:44,220 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:44,220 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [593843329] [2025-03-13 21:51:44,220 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [593843329] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:44,220 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:44,220 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-13 21:51:44,220 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1553106772] [2025-03-13 21:51:44,221 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:44,221 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-03-13 21:51:44,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:44,222 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-13 21:51:44,222 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-13 21:51:44,229 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:44,230 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-13 21:51:44,231 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:44,231 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:44,231 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:44,339 INFO L124 PetriNetUnfolderBase]: 431/696 cut-off events. [2025-03-13 21:51:44,340 INFO L125 PetriNetUnfolderBase]: For 17/17 co-relation queries the response was YES. [2025-03-13 21:51:44,341 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-13 21:51:44,345 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 26 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2025-03-13 21:51:44,345 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 156 flow [2025-03-13 21:51:44,345 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-13 21:51:44,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-03-13 21:51:44,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2025-03-13 21:51:44,347 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2025-03-13 21:51:44,348 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 70 transitions. [2025-03-13 21:51:44,348 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 156 flow [2025-03-13 21:51:44,348 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 152 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-03-13 21:51:44,349 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2025-03-13 21:51:44,350 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-13 21:51:44,350 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2025-03-13 21:51:44,350 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2025-03-13 21:51:44,350 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-13 21:51:44,351 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:44,351 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-13 21:51:44,351 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-03-13 21:51:44,351 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-13 21:51:44,351 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:44,351 INFO L85 PathProgramCache]: Analyzing trace with hash -278999820, now seen corresponding path program 1 times [2025-03-13 21:51:44,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:44,351 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [350507529] [2025-03-13 21:51:44,351 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:44,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:44,367 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-13 21:51:44,385 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-13 21:51:44,387 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:44,387 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:44,530 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-13 21:51:44,531 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:44,531 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [350507529] [2025-03-13 21:51:44,531 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [350507529] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:44,531 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:44,531 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-13 21:51:44,531 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [940945564] [2025-03-13 21:51:44,531 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:44,531 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-13 21:51:44,531 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:44,531 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-13 21:51:44,532 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-13 21:51:44,532 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:44,532 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-13 21:51:44,532 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:44,532 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:44,532 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:44,666 INFO L124 PetriNetUnfolderBase]: 663/1098 cut-off events. [2025-03-13 21:51:44,666 INFO L125 PetriNetUnfolderBase]: For 32/32 co-relation queries the response was YES. [2025-03-13 21:51:44,668 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-13 21:51:44,672 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 42 selfloop transitions, 2 changer transitions 2/52 dead transitions. [2025-03-13 21:51:44,673 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 52 transitions, 235 flow [2025-03-13 21:51:44,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-13 21:51:44,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-13 21:51:44,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2025-03-13 21:51:44,674 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6068376068376068 [2025-03-13 21:51:44,674 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 71 transitions. [2025-03-13 21:51:44,674 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 52 transitions, 235 flow [2025-03-13 21:51:44,675 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 52 transitions, 234 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-13 21:51:44,675 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2025-03-13 21:51:44,675 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-13 21:51:44,676 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2025-03-13 21:51:44,676 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2025-03-13 21:51:44,676 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-13 21:51:44,676 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:44,676 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-13 21:51:44,676 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-03-13 21:51:44,677 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-13 21:51:44,677 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:44,677 INFO L85 PathProgramCache]: Analyzing trace with hash -1970062281, now seen corresponding path program 1 times [2025-03-13 21:51:44,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:44,677 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1455911306] [2025-03-13 21:51:44,677 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:44,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:44,692 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-13 21:51:44,703 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-13 21:51:44,703 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:44,703 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:44,837 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-13 21:51:44,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:44,837 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1455911306] [2025-03-13 21:51:44,837 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1455911306] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:44,837 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [450734347] [2025-03-13 21:51:44,837 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:44,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:44,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:44,841 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-13 21:51:44,842 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-13 21:51:44,906 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-13 21:51:44,940 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-13 21:51:44,940 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:44,940 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:44,942 INFO L256 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-13 21:51:44,946 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:45,024 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-13 21:51:45,024 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-13 21:51:45,090 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-13 21:51:45,091 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [450734347] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-13 21:51:45,091 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-13 21:51:45,091 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2025-03-13 21:51:45,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1199405151] [2025-03-13 21:51:45,091 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-13 21:51:45,091 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2025-03-13 21:51:45,092 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:45,092 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-03-13 21:51:45,092 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2025-03-13 21:51:45,109 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:45,109 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-13 21:51:45,110 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:45,110 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:45,110 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:45,459 INFO L124 PetriNetUnfolderBase]: 1039/1608 cut-off events. [2025-03-13 21:51:45,459 INFO L125 PetriNetUnfolderBase]: For 110/110 co-relation queries the response was YES. [2025-03-13 21:51:45,462 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-13 21:51:45,466 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 37 selfloop transitions, 10 changer transitions 41/93 dead transitions. [2025-03-13 21:51:45,467 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 93 transitions, 457 flow [2025-03-13 21:51:45,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-03-13 21:51:45,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-03-13 21:51:45,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 168 transitions. [2025-03-13 21:51:45,468 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4307692307692308 [2025-03-13 21:51:45,468 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 10 states and 168 transitions. [2025-03-13 21:51:45,468 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 93 transitions, 457 flow [2025-03-13 21:51:45,470 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 93 transitions, 455 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-13 21:51:45,470 INFO L231 Difference]: Finished difference. Result has 53 places, 42 transitions, 179 flow [2025-03-13 21:51:45,471 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-13 21:51:45,471 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 15 predicate places. [2025-03-13 21:51:45,471 INFO L471 AbstractCegarLoop]: Abstraction has has 53 places, 42 transitions, 179 flow [2025-03-13 21:51:45,471 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-13 21:51:45,471 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:45,472 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-13 21:51:45,478 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2025-03-13 21:51:45,673 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-13 21:51:45,673 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-13 21:51:45,674 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:45,674 INFO L85 PathProgramCache]: Analyzing trace with hash -1354039615, now seen corresponding path program 2 times [2025-03-13 21:51:45,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:45,674 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1824103518] [2025-03-13 21:51:45,674 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-13 21:51:45,674 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:45,685 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:45,699 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 27 of 33 statements. [2025-03-13 21:51:45,700 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-13 21:51:45,700 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:45,772 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-13 21:51:45,772 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:45,772 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1824103518] [2025-03-13 21:51:45,772 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1824103518] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:45,772 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:45,772 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:51:45,772 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [806318306] [2025-03-13 21:51:45,772 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:45,773 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:51:45,773 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:45,773 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:51:45,773 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:51:45,782 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:45,783 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-13 21:51:45,783 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:45,783 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:45,783 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:46,129 INFO L124 PetriNetUnfolderBase]: 1355/2057 cut-off events. [2025-03-13 21:51:46,129 INFO L125 PetriNetUnfolderBase]: For 362/362 co-relation queries the response was YES. [2025-03-13 21:51:46,136 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-13 21:51:46,143 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 67 selfloop transitions, 3 changer transitions 14/89 dead transitions. [2025-03-13 21:51:46,143 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 89 transitions, 475 flow [2025-03-13 21:51:46,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-13 21:51:46,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-13 21:51:46,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 116 transitions. [2025-03-13 21:51:46,146 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5948717948717949 [2025-03-13 21:51:46,146 INFO L175 Difference]: Start difference. First operand has 53 places, 42 transitions, 179 flow. Second operand 5 states and 116 transitions. [2025-03-13 21:51:46,146 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 89 transitions, 475 flow [2025-03-13 21:51:46,149 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 89 transitions, 443 flow, removed 13 selfloop flow, removed 5 redundant places. [2025-03-13 21:51:46,150 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2025-03-13 21:51:46,151 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-13 21:51:46,151 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2025-03-13 21:51:46,151 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2025-03-13 21:51:46,151 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-13 21:51:46,151 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:46,152 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-13 21:51:46,152 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-03-13 21:51:46,152 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-13 21:51:46,152 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:46,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1197437667, now seen corresponding path program 3 times [2025-03-13 21:51:46,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:46,152 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766022598] [2025-03-13 21:51:46,153 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-13 21:51:46,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:46,164 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:46,187 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-13 21:51:46,187 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-03-13 21:51:46,187 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:46,281 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-13 21:51:46,282 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:46,282 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766022598] [2025-03-13 21:51:46,282 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [766022598] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:46,282 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:46,282 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:51:46,282 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [121839512] [2025-03-13 21:51:46,282 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:46,282 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:51:46,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:46,282 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:51:46,283 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:51:46,288 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:46,288 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-13 21:51:46,288 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:46,288 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:46,288 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:46,697 INFO L124 PetriNetUnfolderBase]: 2313/3650 cut-off events. [2025-03-13 21:51:46,697 INFO L125 PetriNetUnfolderBase]: For 1971/1971 co-relation queries the response was YES. [2025-03-13 21:51:46,703 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-13 21:51:46,715 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 71 selfloop transitions, 3 changer transitions 13/92 dead transitions. [2025-03-13 21:51:46,715 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 92 transitions, 522 flow [2025-03-13 21:51:46,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-13 21:51:46,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-13 21:51:46,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2025-03-13 21:51:46,717 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5692307692307692 [2025-03-13 21:51:46,717 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 111 transitions. [2025-03-13 21:51:46,717 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 92 transitions, 522 flow [2025-03-13 21:51:46,725 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 92 transitions, 500 flow, removed 7 selfloop flow, removed 2 redundant places. [2025-03-13 21:51:46,727 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2025-03-13 21:51:46,727 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-13 21:51:46,729 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2025-03-13 21:51:46,729 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2025-03-13 21:51:46,729 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-13 21:51:46,729 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:46,729 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-13 21:51:46,729 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-03-13 21:51:46,729 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-13 21:51:46,730 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:46,730 INFO L85 PathProgramCache]: Analyzing trace with hash -2048763945, now seen corresponding path program 4 times [2025-03-13 21:51:46,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:46,730 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [590457772] [2025-03-13 21:51:46,730 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-13 21:51:46,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:46,744 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:46,747 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 21 of 33 statements. [2025-03-13 21:51:46,747 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-13 21:51:46,747 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:46,771 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-13 21:51:46,771 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:46,772 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [590457772] [2025-03-13 21:51:46,772 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [590457772] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:46,772 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:46,772 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:51:46,773 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [31056949] [2025-03-13 21:51:46,773 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:46,773 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:51:46,773 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:46,773 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:51:46,773 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:51:46,781 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:46,781 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-13 21:51:46,781 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:46,781 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:46,781 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:47,196 INFO L124 PetriNetUnfolderBase]: 3115/4751 cut-off events. [2025-03-13 21:51:47,196 INFO L125 PetriNetUnfolderBase]: For 3212/3212 co-relation queries the response was YES. [2025-03-13 21:51:47,206 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-13 21:51:47,254 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 102 selfloop transitions, 16 changer transitions 0/123 dead transitions. [2025-03-13 21:51:47,254 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 123 transitions, 719 flow [2025-03-13 21:51:47,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-13 21:51:47,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-03-13 21:51:47,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 159 transitions. [2025-03-13 21:51:47,256 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5096153846153846 [2025-03-13 21:51:47,256 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 159 transitions. [2025-03-13 21:51:47,256 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 123 transitions, 719 flow [2025-03-13 21:51:47,265 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 123 transitions, 699 flow, removed 3 selfloop flow, removed 2 redundant places. [2025-03-13 21:51:47,267 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2025-03-13 21:51:47,267 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-13 21:51:47,268 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2025-03-13 21:51:47,269 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2025-03-13 21:51:47,269 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-13 21:51:47,269 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:47,270 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-13 21:51:47,270 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-03-13 21:51:47,270 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-13 21:51:47,270 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:47,273 INFO L85 PathProgramCache]: Analyzing trace with hash -1181982431, now seen corresponding path program 5 times [2025-03-13 21:51:47,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:47,273 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [284678673] [2025-03-13 21:51:47,274 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-13 21:51:47,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:47,288 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:47,299 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-13 21:51:47,300 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-13 21:51:47,300 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:47,386 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-13 21:51:47,389 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:47,389 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [284678673] [2025-03-13 21:51:47,389 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [284678673] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:47,390 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [458701329] [2025-03-13 21:51:47,390 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-13 21:51:47,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:47,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:47,392 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-13 21:51:47,394 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-13 21:51:47,456 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:47,489 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-13 21:51:47,489 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-13 21:51:47,489 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:47,491 INFO L256 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-13 21:51:47,493 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:47,549 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-13 21:51:47,551 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-13 21:51:47,611 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-13 21:51:47,611 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [458701329] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:47,612 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-13 21:51:47,612 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-13 21:51:47,613 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1918122003] [2025-03-13 21:51:47,613 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:47,613 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-13 21:51:47,613 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:47,613 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-13 21:51:47,614 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2025-03-13 21:51:47,623 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:47,623 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-13 21:51:47,624 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:47,624 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:47,624 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:47,914 INFO L124 PetriNetUnfolderBase]: 1843/2907 cut-off events. [2025-03-13 21:51:47,915 INFO L125 PetriNetUnfolderBase]: For 4812/4905 co-relation queries the response was YES. [2025-03-13 21:51:47,921 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-13 21:51:47,933 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 54 selfloop transitions, 9 changer transitions 0/69 dead transitions. [2025-03-13 21:51:47,933 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 69 transitions, 433 flow [2025-03-13 21:51:47,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-13 21:51:47,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-13 21:51:47,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2025-03-13 21:51:47,934 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.43162393162393164 [2025-03-13 21:51:47,934 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 6 states and 101 transitions. [2025-03-13 21:51:47,934 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 69 transitions, 433 flow [2025-03-13 21:51:47,943 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 69 transitions, 423 flow, removed 2 selfloop flow, removed 2 redundant places. [2025-03-13 21:51:47,945 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 267 flow [2025-03-13 21:51:47,945 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-13 21:51:47,946 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-13 21:51:47,947 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 267 flow [2025-03-13 21:51:47,947 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-13 21:51:47,947 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:47,948 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-13 21:51:47,954 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2025-03-13 21:51:48,148 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-13 21:51:48,149 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-13 21:51:48,149 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:48,149 INFO L85 PathProgramCache]: Analyzing trace with hash 723441540, now seen corresponding path program 1 times [2025-03-13 21:51:48,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:48,149 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1519300033] [2025-03-13 21:51:48,149 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:48,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:48,161 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-13 21:51:48,176 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-13 21:51:48,176 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:48,176 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:48,293 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-13 21:51:48,293 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:48,293 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1519300033] [2025-03-13 21:51:48,293 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1519300033] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:48,293 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1909061826] [2025-03-13 21:51:48,293 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:48,294 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:48,294 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:48,295 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-13 21:51:48,298 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-13 21:51:48,359 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-13 21:51:48,389 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-13 21:51:48,389 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:48,389 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:48,391 INFO L256 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-13 21:51:48,393 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:48,461 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-13 21:51:48,461 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-13 21:51:48,521 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-13 21:51:48,521 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1909061826] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:48,522 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-13 21:51:48,522 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-13 21:51:48,522 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1785679805] [2025-03-13 21:51:48,522 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:48,523 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-13 21:51:48,523 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:48,523 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-13 21:51:48,523 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2025-03-13 21:51:48,530 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:48,530 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-13 21:51:48,530 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:48,530 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:48,530 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:48,783 INFO L124 PetriNetUnfolderBase]: 2134/3139 cut-off events. [2025-03-13 21:51:48,783 INFO L125 PetriNetUnfolderBase]: For 4595/4651 co-relation queries the response was YES. [2025-03-13 21:51:48,789 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-13 21:51:48,796 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 65 selfloop transitions, 7 changer transitions 0/77 dead transitions. [2025-03-13 21:51:48,797 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 77 transitions, 529 flow [2025-03-13 21:51:48,797 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-13 21:51:48,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-13 21:51:48,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2025-03-13 21:51:48,798 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4017094017094017 [2025-03-13 21:51:48,798 INFO L175 Difference]: Start difference. First operand has 63 places, 54 transitions, 267 flow. Second operand 6 states and 94 transitions. [2025-03-13 21:51:48,798 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 77 transitions, 529 flow [2025-03-13 21:51:48,803 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 77 transitions, 491 flow, removed 5 selfloop flow, removed 5 redundant places. [2025-03-13 21:51:48,804 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 262 flow [2025-03-13 21:51:48,804 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-13 21:51:48,804 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-13 21:51:48,804 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 262 flow [2025-03-13 21:51:48,805 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-13 21:51:48,805 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:48,805 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-13 21:51:48,811 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2025-03-13 21:51:49,009 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-13 21:51:49,009 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-13 21:51:49,009 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:49,009 INFO L85 PathProgramCache]: Analyzing trace with hash 257271808, now seen corresponding path program 1 times [2025-03-13 21:51:49,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:49,010 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1800674821] [2025-03-13 21:51:49,010 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:49,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:49,018 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-13 21:51:49,095 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-13 21:51:49,095 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:49,095 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:50,580 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-13 21:51:50,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:50,581 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1800674821] [2025-03-13 21:51:50,581 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1800674821] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:50,581 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [283708535] [2025-03-13 21:51:50,581 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:50,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:50,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:50,583 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-13 21:51:50,584 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-13 21:51:50,639 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-13 21:51:50,667 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-13 21:51:50,667 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:50,667 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:50,671 INFO L256 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 22 conjuncts are in the unsatisfiable core [2025-03-13 21:51:50,673 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:51,052 INFO L349 Elim1Store]: treesize reduction 96, result has 55.8 percent of original size [2025-03-13 21:51:51,052 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 150 treesize of output 171 [2025-03-13 21:52:07,824 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse127 (+ c_~C~0.offset 8)) (.cse578 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse10 (+ c_~C~0.offset 4)) (.cse8 (select .cse578 c_~C~0.offset)) (.cse119 (select .cse578 .cse127))) (let ((.cse534 (+ c_~maxb~0 .cse119)) (.cse229 (+ .cse8 c_~maxb~0)) (.cse117 (+ c_~maxa~0 .cse119)) (.cse132 (+ c_~maxc~0 1)) (.cse245 (* .cse8 2)) (.cse3 (select .cse578 .cse10)) (.cse298 (+ .cse8 c_~maxa~0))) (let ((.cse134 (+ .cse119 c_~maxc~0)) (.cse147 (= .cse298 c_~maxc~0)) (.cse133 (* 2 c_~maxa~0)) (.cse233 (+ .cse3 1)) (.cse136 (= .cse8 c_~maxa~0)) (.cse246 (= .cse245 c_~maxc~0)) (.cse203 (<= .cse8 c_~maxb~0)) (.cse230 (= .cse8 c_~maxb~0)) (.cse232 (<= .cse132 .cse245)) (.cse231 (+ .cse8 .cse3)) (.cse123 (= c_~maxa~0 .cse119)) (.cse125 (+ .cse119 1)) (.cse301 (= c_~maxa~0 c_~maxb~0)) (.cse166 (<= .cse3 .cse117)) (.cse340 (+ c_~maxa~0 c_~maxb~0)) (.cse124 (<= .cse3 (* 2 .cse119))) (.cse205 (= .cse229 c_~maxc~0)) (.cse206 (<= .cse3 .cse534)) (.cse218 (* 2 c_~maxb~0))) (or (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse5 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse4 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse0 (select .cse4 ~B~0.offset)) (.cse1 (select |c_#memory_int#1| ~A~0.base)) (.cse2 (select .cse4 .cse5))) (and (<= (+ (* .cse0 2) 1) c_~maxc~0) (= .cse0 (select .cse1 (+ ~A~0.offset 4))) (= (+ .cse0 c_~maxa~0) c_~maxc~0) (<= .cse0 .cse2) (<= .cse3 (+ .cse0 .cse2)) (= (+ .cse0 (select .cse1 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse2))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse5))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse9 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse6 (select .cse9 (+ ~B~0.offset 4))) (.cse7 (select .cse9 ~B~0.offset))) (and (<= (+ .cse6 1) .cse7) (= .cse7 c_~maxb~0) (= c_~maxa~0 .cse6) (<= c_~maxc~0 (+ .cse7 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse6)) (= (+ .cse7 .cse8) c_~maxc~0))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse13 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse11 (select .cse13 (+ ~B~0.offset 4))) (.cse12 (select .cse13 ~B~0.offset))) (and (<= (+ .cse11 1) .cse12) (= .cse12 c_~maxb~0) (= .cse12 c_~maxa~0) (<= c_~maxc~0 (+ .cse12 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse11)) (= (+ .cse12 .cse8) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse14 (select .cse16 (+ ~B~0.offset 4))) (.cse15 (select .cse16 ~B~0.offset))) (and (<= (+ .cse14 1) .cse15) (= .cse15 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse15 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse14)) (= (+ .cse15 .cse8) c_~maxc~0))))) (not (= ~B~0.offset .cse10)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse17 (select .cse21 ~B~0.offset)) (.cse20 (select |c_#memory_int#1| ~A~0.base)) (.cse18 (+ ~A~0.offset 4)) (.cse19 (select .cse21 (+ ~B~0.offset 4)))) (and (= (* .cse17 2) c_~maxc~0) (not (= .cse18 ~B~0.offset)) (<= c_~maxc~0 (+ .cse17 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse19)) (= (+ .cse17 .cse19) c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse17 (select .cse20 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse20 .cse18)) (= c_~maxb~0 .cse19))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse22 (+ ~A~0.offset 4)) (.cse27 (+ ~B~0.offset 4))) (and (not (= .cse22 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse26 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse24 (select .cse26 ~B~0.offset)) (.cse25 (select |c_#memory_int#1| ~A~0.base)) (.cse23 (select .cse26 .cse27))) (and (<= (+ .cse23 1) .cse24) (= .cse24 c_~maxb~0) (= (+ .cse24 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse23)) (= (+ .cse24 (select .cse25 ~A~0.offset)) c_~maxc~0) (<= (+ .cse24 .cse23 1) c_~maxc~0) (= (select .cse25 .cse22) .cse23))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse27))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse30 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse29 (select .cse30 ~B~0.offset)) (.cse28 (select .cse30 (+ ~B~0.offset 4)))) (and (= c_~maxa~0 .cse28) (<= c_~maxc~0 (+ .cse29 c_~maxa~0)) (<= .cse29 .cse28) (<= .cse3 (+ c_~maxa~0 .cse28)) (= (+ .cse29 .cse8) c_~maxc~0) (= c_~maxb~0 .cse28))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse31 (select .cse33 ~B~0.offset)) (.cse32 (select .cse33 (+ ~B~0.offset 4)))) (and (= (+ .cse31 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse32)) (<= .cse31 .cse32) (<= (+ .cse31 .cse32 1) c_~maxc~0) (= (+ .cse31 .cse8) c_~maxc~0) (= c_~maxb~0 .cse32))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse38 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse35 (select .cse38 ~B~0.offset)) (.cse37 (select |c_#memory_int#1| ~A~0.base)) (.cse34 (+ ~A~0.offset 4)) (.cse36 (select .cse38 (+ ~B~0.offset 4)))) (and (not (= .cse34 ~B~0.offset)) (= (+ .cse35 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse36)) (<= .cse35 .cse36) (= (+ .cse35 (select .cse37 ~A~0.offset)) c_~maxc~0) (<= (+ .cse35 .cse36 1) c_~maxc~0) (= (select .cse37 .cse34) .cse36) (= c_~maxb~0 .cse36))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse42 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse39 (select .cse42 ~B~0.offset)) (.cse41 (select |c_#memory_int#1| ~A~0.base)) (.cse40 (select .cse42 (+ ~B~0.offset 4)))) (and (= (* .cse39 2) c_~maxc~0) (= .cse39 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse40)) (= (+ .cse39 .cse40) c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse39 (select .cse41 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse41 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse40))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse47 (+ ~B~0.offset 4)) (.cse48 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse44 (select .cse48 ~B~0.offset)) (.cse46 (select |c_#memory_int#1| ~A~0.base)) (.cse45 (+ ~A~0.offset 4)) (.cse43 (select .cse48 .cse47))) (and (<= (+ .cse43 1) .cse44) (= (* .cse44 2) c_~maxc~0) (= .cse44 c_~maxb~0) (not (= .cse45 ~B~0.offset)) (= (+ .cse44 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse43)) (= (+ .cse44 (select .cse46 ~A~0.offset)) c_~maxc~0) (= (select .cse46 .cse45) .cse43) (not (= ~A~0.offset .cse47)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse51 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse49 (select .cse52 (+ ~B~0.offset 4))) (.cse50 (select .cse52 ~B~0.offset))) (and (<= (+ .cse49 1) .cse50) (= .cse50 c_~maxb~0) (<= c_~maxc~0 (+ .cse50 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse49)) (= (+ .cse50 (select .cse51 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse51 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse57 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse53 (select .cse57 ~B~0.offset)) (.cse56 (select |c_#memory_int#1| ~A~0.base)) (.cse54 (+ ~A~0.offset 4)) (.cse55 (select .cse57 (+ ~B~0.offset 4)))) (and (= (* .cse53 2) c_~maxc~0) (not (= .cse54 ~B~0.offset)) (= c_~maxa~0 .cse55) (<= .cse3 (+ c_~maxa~0 .cse55)) (= (+ .cse53 .cse55) c_~maxc~0) (= (+ .cse53 (select .cse56 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse56 .cse54)) (= c_~maxb~0 .cse55))))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset .cse10)) (exists ((~B~0.base Int)) (let ((.cse60 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse58 (select .cse60 (+ ~B~0.offset 4))) (.cse59 (select .cse60 ~B~0.offset))) (and (<= (+ .cse58 1) .cse59) (= .cse59 c_~maxb~0) (= (+ .cse59 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse58)) (<= (+ .cse59 .cse58 1) c_~maxc~0) (= (+ .cse59 .cse8) c_~maxc~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse63 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse64 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse61 (select .cse64 ~B~0.offset)) (.cse62 (select .cse64 (+ ~B~0.offset 4)))) (and (= .cse61 c_~maxa~0) (<= c_~maxc~0 (+ .cse61 c_~maxa~0)) (<= .cse61 .cse62) (<= .cse3 (+ c_~maxa~0 .cse62)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse61 (select .cse63 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse62))))) (= c_~maxa~0 (select .cse63 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse68 (+ ~B~0.offset 4)) (.cse69 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse65 (select .cse69 ~B~0.offset)) (.cse67 (select |c_#memory_int#1| ~A~0.base)) (.cse66 (select .cse69 .cse68))) (and (= (* .cse65 2) c_~maxc~0) (= c_~maxa~0 .cse66) (= .cse65 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse66)) (= (+ .cse65 (select .cse67 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse67 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse66) (not (= ~A~0.offset .cse68)))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse70 (+ ~A~0.offset 4)) (.cse76 (+ ~B~0.offset 4))) (and (not (= .cse70 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~A~0.base)) (.cse75 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse71 (select .cse75 .cse76)) (.cse72 (select .cse75 ~B~0.offset)) (.cse73 (select .cse74 .cse70))) (and (<= (+ .cse71 1) .cse72) (= .cse72 c_~maxb~0) (= (+ .cse72 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse73 .cse71)) (= (+ .cse72 (select .cse74 ~A~0.offset)) c_~maxc~0) (<= (+ .cse72 .cse73 1) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse76))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse80 (select |c_#memory_int#1| ~A~0.base)) (.cse81 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse77 (select .cse81 ~B~0.offset)) (.cse78 (select .cse80 (+ ~A~0.offset 4))) (.cse79 (select .cse81 (+ ~B~0.offset 4)))) (and (= (+ .cse77 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse78 .cse79)) (<= .cse77 .cse79) (= (+ .cse77 (select .cse80 ~A~0.offset)) c_~maxc~0) (<= (+ .cse77 .cse78 1) c_~maxc~0) (= c_~maxb~0 .cse79))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse85 (select |c_#memory_int#1| ~A~0.base)) (.cse82 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse87 (+ ~B~0.offset 4))) (and (not (= .cse82 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse86 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse83 (select .cse86 .cse87)) (.cse84 (select .cse86 ~B~0.offset))) (and (<= (+ .cse83 1) .cse84) (= (* .cse84 2) c_~maxc~0) (= .cse84 c_~maxb~0) (<= c_~maxc~0 (+ .cse84 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse83)) (= (+ .cse84 (select .cse85 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse87))))) (= c_~maxa~0 (select .cse85 .cse82))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse91 (select |c_#memory_int#1| ~A~0.base)) (.cse88 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (and (not (= .cse88 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse89 (select .cse92 ~B~0.offset)) (.cse90 (select .cse92 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse89 c_~maxa~0)) (<= .cse89 .cse90) (<= .cse3 (+ c_~maxa~0 .cse90)) (= (+ .cse89 .cse90) c_~maxc~0) (= (+ .cse89 (select .cse91 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse90))))))) (= c_~maxa~0 (select .cse91 .cse88))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse97 (select |c_#memory_int#1| ~A~0.base)) (.cse95 (+ ~A~0.offset 4)) (.cse98 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse93 (select .cse98 (+ ~B~0.offset 4))) (.cse94 (select .cse98 ~B~0.offset)) (.cse96 (select .cse97 .cse95))) (and (<= (+ .cse93 1) .cse94) (= .cse94 c_~maxb~0) (not (= .cse95 ~B~0.offset)) (= (+ .cse94 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse96 .cse93)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse94 (select .cse97 ~A~0.offset)) c_~maxc~0) (<= (+ .cse94 .cse96 1) c_~maxc~0))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse99 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse99 (+ ~A~0.offset 4))) (exists ((~B~0.offset Int)) (let ((.cse102 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse100 (select .cse102 ~B~0.offset)) (.cse101 (select .cse102 (+ ~B~0.offset 4)))) (and (= (* .cse100 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse100 c_~maxa~0)) (<= .cse100 .cse101) (<= .cse3 (+ c_~maxa~0 .cse101)) (= (+ .cse100 (select .cse99 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse101)))))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse105 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse103 (select .cse105 (+ ~B~0.offset 4))) (.cse104 (select .cse105 ~B~0.offset))) (and (<= (+ .cse103 1) .cse104) (= .cse104 c_~maxb~0) (<= c_~maxc~0 (+ .cse104 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse103)) (= (+ .cse104 .cse8) c_~maxc~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse108 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse109 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse106 (select .cse109 (+ ~B~0.offset 4))) (.cse107 (select .cse109 ~B~0.offset))) (and (<= (+ .cse106 1) .cse107) (= (* .cse107 2) c_~maxc~0) (= .cse107 c_~maxb~0) (= .cse107 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse106)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse107 (select .cse108 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse108 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse116 (+ ~A~0.offset 4)) (.cse115 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse113 (select |c_#memory_int#1| ~A~0.base)) (.cse114 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse110 (select .cse114 ~B~0.offset)) (.cse111 (select .cse113 .cse116)) (.cse112 (select .cse114 .cse115))) (and (= (+ .cse110 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse111 .cse112)) (<= .cse110 .cse112) (= (+ .cse110 (select .cse113 ~A~0.offset)) c_~maxc~0) (<= (+ .cse110 .cse111 1) c_~maxc~0) (= c_~maxb~0 .cse112))))) (not (= .cse116 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse115))))) (and (or (and (<= c_~maxc~0 .cse117) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse120 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse118 (select .cse120 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse118 1) c_~maxa~0) (<= .cse3 (+ .cse118 .cse119)) (= c_~maxa~0 (select .cse120 ~A~0.offset)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse122 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse121 (select .cse122 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= (+ .cse121 1) c_~maxa~0) (<= .cse3 (+ .cse121 .cse119)) (= c_~maxa~0 (select .cse122 ~A~0.offset)))))) .cse123) (and .cse124 (<= .cse125 c_~maxa~0) (or (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse126 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse126 ~A~0.offset)) (= (select .cse126 (+ ~A~0.offset 4)) .cse119)))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse128 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse128 ~A~0.offset)) (= (select .cse128 (+ ~A~0.offset 4)) .cse119)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse129 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse129 ~A~0.offset)) (= (select .cse129 (+ ~A~0.offset 4)) .cse119)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse131 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse130 (select .cse131 (+ ~A~0.offset 4)))) (and (<= (+ .cse130 1) c_~maxa~0) (<= .cse3 (+ .cse130 .cse119)) (= c_~maxa~0 (select .cse131 ~A~0.offset)))))))) (and (<= .cse132 .cse133) (<= (+ c_~maxa~0 .cse3) .cse134) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse135 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~maxa~0 (select .cse135 (+ ~A~0.offset 4))) c_~maxc~0) (= c_~maxa~0 (select .cse135 ~A~0.offset))))))) .cse136 (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset .cse10)) (= (+ c_~maxa~0 (select .cse137 (+ ~A~0.offset 4))) c_~maxc~0) (= c_~maxa~0 (select .cse137 ~A~0.offset))))) .cse123) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse138 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxa~0 (select .cse138 (+ ~A~0.offset 4))) c_~maxc~0) (= c_~maxa~0 (select .cse138 ~A~0.offset))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse139 (select .cse140 (+ ~A~0.offset 4)))) (and (<= (+ .cse139 1) c_~maxa~0) (<= .cse3 (+ .cse139 .cse119)) (= c_~maxa~0 (select .cse140 ~A~0.offset)))))) (not (= .cse127 ~A~0.offset)))))) (and (let ((.cse154 (div (* (- 1) c_~maxc~0) 2))) (let ((.cse158 (<= 0 (+ .cse119 .cse154))) (.cse159 (= (mod c_~maxc~0 2) 0))) (or (and (<= c_~maxa~0 .cse119) (<= c_~maxc~0 .cse133) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse141 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~maxa~0 (select .cse141 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse141 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxa~0 (select .cse142 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse142 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse144 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse143 (select .cse144 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse10)) (<= .cse143 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse143)) (= c_~maxa~0 (select .cse144 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse145 (select .cse146 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse145 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse145)) (= c_~maxa~0 (select .cse146 (+ ~A~0.offset 4))))))) (and (<= .cse8 c_~maxa~0) (<= c_~maxc~0 (+ .cse8 .cse119)) .cse147) (let ((.cse149 (+ .cse154 c_~maxc~0))) (and (let ((.cse151 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse157 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse157 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse157 (+ ~A~0.offset 4)))))))) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~A~0.base))) (and (= (select .cse148 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse148 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse150 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse150 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse150 (+ ~A~0.offset 4)))))))) .cse151 (and (= .cse119 .cse149) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse152 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= (select .cse152 ~A~0.offset) .cse149) (not (= ~A~0.offset .cse10)) (= c_~maxa~0 (select .cse152 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse153 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse153 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse153 (+ ~A~0.offset 4)))))))) (and (= (+ c_~maxa~0 .cse154) 0) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse155 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse155 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse155 (+ ~A~0.offset 4)))))))) .cse151 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse156 (select |c_#memory_int#1| ~A~0.base))) (and (= (select .cse156 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse156 (+ ~A~0.offset 4)))))))))))) .cse158 .cse159 (<= .cse149 c_~maxa~0))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse161 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse160 (select .cse161 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= .cse160 c_~maxa~0) (not (= .cse127 ~A~0.offset)) (<= c_~maxc~0 (+ .cse119 .cse160)) (= c_~maxa~0 (select .cse161 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse163 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse162 (select .cse163 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= .cse162 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse162)) (= c_~maxa~0 (select .cse163 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse164 (select .cse165 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= .cse164 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse164)) (= c_~maxa~0 (select .cse165 (+ ~A~0.offset 4))) (= .cse119 .cse164))))) (and .cse123 .cse158 .cse159)))) .cse166)) (= c_~maxb~0 .cse119)) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse167 (select .cse170 ~B~0.offset)) (.cse169 (select |c_#memory_int#1| ~A~0.base)) (.cse168 (select .cse170 (+ ~B~0.offset 4)))) (and (= (* .cse167 2) c_~maxc~0) (= c_~maxa~0 .cse168) (= .cse167 c_~maxa~0) (not (= ~A~0.base ~B~0.base)) (<= .cse3 (+ c_~maxa~0 .cse168)) (= (+ .cse167 (select .cse169 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse169 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse168))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse175 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse171 (select .cse175 ~B~0.offset)) (.cse174 (select |c_#memory_int#1| ~A~0.base)) (.cse172 (+ ~A~0.offset 4)) (.cse173 (select .cse175 (+ ~B~0.offset 4)))) (and (= (* .cse171 2) c_~maxc~0) (not (= .cse172 ~B~0.offset)) (= c_~maxa~0 .cse173) (not (= ~A~0.base ~B~0.base)) (<= .cse171 .cse173) (<= .cse3 (+ c_~maxa~0 .cse173)) (= (+ .cse171 (select .cse174 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse174 .cse172)) (= c_~maxb~0 .cse173))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse178 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse179 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse176 (select .cse179 (+ ~B~0.offset 4))) (.cse177 (select .cse179 ~B~0.offset))) (and (<= (+ .cse176 1) .cse177) (= (* .cse177 2) c_~maxc~0) (= .cse177 c_~maxb~0) (<= c_~maxc~0 (+ .cse177 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse176)) (= (+ .cse177 (select .cse178 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse178 (+ ~A~0.offset 4)))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse182 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse181 (select .cse182 ~B~0.offset)) (.cse180 (select .cse182 (+ ~B~0.offset 4)))) (and (<= (+ .cse180 1) .cse181) (= .cse181 c_~maxb~0) (= (+ .cse181 c_~maxa~0) c_~maxc~0) (<= (+ .cse181 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse180)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse183 (+ ~A~0.offset 4)) (.cse188 (+ ~B~0.offset 4))) (and (not (= .cse183 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse184 (select .cse187 ~B~0.offset)) (.cse186 (select |c_#memory_int#1| ~A~0.base)) (.cse185 (select .cse187 .cse188))) (and (= (+ .cse184 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse185)) (<= .cse184 .cse185) (= (+ .cse184 (select .cse186 ~A~0.offset)) c_~maxc~0) (<= (+ .cse184 .cse185 1) c_~maxc~0) (= (select .cse186 .cse183) .cse185) (= c_~maxb~0 .cse185))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse188))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~A~0.base)) (.cse189 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (and (not (= .cse189 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse193 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse190 (select .cse193 (+ ~B~0.offset 4))) (.cse191 (select .cse193 ~B~0.offset))) (and (<= (+ .cse190 1) .cse191) (= .cse191 c_~maxb~0) (<= c_~maxc~0 (+ .cse191 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse190)) (= (+ .cse191 .cse190) c_~maxc~0) (= (+ .cse191 (select .cse192 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~maxa~0 (select .cse192 .cse189))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse194 (select .cse197 ~B~0.offset)) (.cse195 (select .cse197 (+ ~B~0.offset 4)))) (and (= .cse194 c_~maxa~0) (<= c_~maxc~0 (+ .cse194 c_~maxa~0)) (<= .cse194 .cse195) (<= .cse3 (+ c_~maxa~0 .cse195)) (= (+ .cse194 .cse195) c_~maxc~0) (= (+ .cse194 (select .cse196 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse195))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~maxa~0 (select .cse196 (+ ~A~0.offset 4)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse202 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse199 (select .cse202 ~B~0.offset)) (.cse201 (select |c_#memory_int#1| ~A~0.base)) (.cse200 (+ ~A~0.offset 4)) (.cse198 (select .cse202 (+ ~B~0.offset 4)))) (and (<= (+ .cse198 1) .cse199) (= .cse199 c_~maxb~0) (not (= .cse200 ~B~0.offset)) (= (+ .cse199 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse198)) (= (+ .cse199 (select .cse201 ~A~0.offset)) c_~maxc~0) (<= (+ .cse199 .cse198 1) c_~maxc~0) (= (select .cse201 .cse200) .cse198))))) (not (= ~A~0.base ~B~0.base)))) (and (let ((.cse204 (<= (+ .cse8 .cse119 1) c_~maxc~0)) (.cse228 (<= (+ .cse245 1) c_~maxc~0))) (or (and .cse203 (or (and .cse204 .cse205 .cse206) (exists ((~A~0.offset Int)) (let ((.cse207 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse207 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse208 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse209 (select .cse208 .cse207))) (and (= (+ .cse8 (select .cse208 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse209)) (<= (+ .cse8 .cse209 1) c_~maxc~0)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse210 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse211 (select .cse210 (+ ~A~0.offset 4)))) (and (= (+ .cse8 (select .cse210 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse211)) (<= (+ .cse8 .cse211 1) c_~maxc~0))))))) (and (<= (+ .cse8 c_~maxb~0 1) c_~maxc~0) (or (exists ((~A~0.offset Int)) (let ((.cse212 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset .cse10)) (not (= .cse212 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxb~0 (select .cse213 .cse212)) (= (+ .cse8 (select .cse213 ~A~0.offset)) c_~maxc~0))))))) (exists ((~A~0.offset Int)) (let ((.cse215 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse214 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxb~0 (select .cse214 .cse215)) (= (+ .cse8 (select .cse214 ~A~0.offset)) c_~maxc~0)))) (not (= .cse215 c_~C~0.offset))))) (exists ((~A~0.offset Int)) (let ((.cse216 (+ ~A~0.offset 4))) (and (not (= .cse216 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxb~0 (select .cse217 .cse216)) (= (+ .cse8 (select .cse217 ~A~0.offset)) c_~maxc~0)))))))) (<= .cse3 .cse218)) (exists ((~A~0.offset Int)) (let ((.cse219 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse219 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse221 (select .cse220 .cse219))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse220 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse221)) (<= (+ .cse8 .cse221 1) c_~maxc~0)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~A~0.base)) (.cse222 (+ ~A~0.offset 4))) (let ((.cse224 (select .cse223 .cse222))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse222 c_~C~0.offset)) (= (+ .cse8 (select .cse223 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse224)) (<= (+ .cse8 .cse224 1) c_~maxc~0))))) .cse205) (and (or (and .cse205 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse225 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse225 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse225 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse226 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse226 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse227 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse227 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse227 (+ ~A~0.offset 4))))))))) .cse228 (<= .cse3 .cse229)))) (and .cse230 (or (and .cse204 (<= .cse231 .cse134) .cse232) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse236 (select |c_#memory_int#1| ~A~0.base)) (.cse235 (+ ~A~0.offset 4))) (let ((.cse234 (select .cse236 .cse235))) (and (<= .cse233 (+ .cse8 .cse234)) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse235 c_~C~0.offset)) (= (+ .cse8 (select .cse236 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse234 1) c_~maxc~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse239 (select |c_#memory_int#1| ~A~0.base)) (.cse238 (+ ~A~0.offset 4))) (let ((.cse237 (select .cse239 .cse238))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse233 (+ .cse8 .cse237)) (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse238 c_~C~0.offset)) (= (+ .cse8 (select .cse239 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse237 1) c_~maxc~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse241 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse240 (select .cse241 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse233 (+ .cse8 .cse240)) (= (+ .cse8 (select .cse241 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse240 1) c_~maxc~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~A~0.base)) (.cse243 (+ ~A~0.offset 4))) (let ((.cse242 (select .cse244 .cse243))) (and (<= (+ .cse242 1) .cse8) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse243 c_~C~0.offset)) (= (+ .cse8 (select .cse244 ~A~0.offset)) c_~maxc~0) (<= .cse3 (* 2 .cse242)) (<= (+ .cse8 .cse242 1) c_~maxc~0))))) (and (<= (+ 2 .cse3) .cse245) .cse246) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse249 (select |c_#memory_int#1| ~A~0.base)) (.cse248 (+ ~A~0.offset 4))) (let ((.cse247 (select .cse249 .cse248))) (and (<= (+ .cse247 1) .cse8) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse10)) (not (= .cse248 c_~C~0.offset)) (= (+ .cse8 (select .cse249 ~A~0.offset)) c_~maxc~0) (<= .cse3 (* 2 .cse247)) (<= (+ .cse8 .cse247 1) c_~maxc~0))))) (and .cse228 (let ((.cse250 (<= .cse233 .cse245))) (or (and .cse250 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (= (+ .cse8 (select .cse251 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse251 (+ ~A~0.offset 4))))))) (and .cse250 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse252 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse252 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse252 (+ ~A~0.offset 4)))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse255 (select |c_#memory_int#1| ~A~0.base)) (.cse254 (+ ~A~0.offset 4))) (let ((.cse253 (select .cse255 .cse254))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse231 (+ .cse253 c_~maxc~0)) (not (= .cse254 c_~C~0.offset)) (= (+ .cse8 (select .cse255 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse253 1) c_~maxc~0))))) .cse232) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~A~0.base)) (.cse257 (+ ~A~0.offset 4))) (let ((.cse256 (select .cse258 .cse257))) (and (<= (+ .cse256 1) .cse8) (not (= ~A~0.base c_~C~0.base)) (not (= .cse257 c_~C~0.offset)) (= (+ .cse8 (select .cse258 ~A~0.offset)) c_~maxc~0) (<= .cse3 (* 2 .cse256)) (<= (+ .cse8 .cse256 1) c_~maxc~0))))))))) .cse147) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse261 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse259 (select .cse261 (+ ~B~0.offset 4))) (.cse260 (select .cse261 ~B~0.offset))) (and (<= (+ .cse259 1) .cse260) (= .cse260 c_~maxb~0) (<= (+ (* .cse260 2) 1) c_~maxc~0) (= (+ .cse260 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse260 .cse259)) (= (+ .cse260 .cse8) c_~maxc~0))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse264 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse262 (select .cse264 ~B~0.offset)) (.cse263 (select .cse264 (+ ~B~0.offset 4)))) (and (= (+ .cse262 c_~maxa~0) c_~maxc~0) (<= .cse262 .cse263) (<= (+ .cse262 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse263)) (= c_~maxb~0 .cse263))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse268 (select |c_#memory_int#1| ~A~0.base)) (.cse267 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse265 (select .cse269 (+ ~B~0.offset 4))) (.cse266 (select .cse269 ~B~0.offset))) (and (<= (+ .cse265 1) .cse266) (= (* .cse266 2) c_~maxc~0) (= .cse266 c_~maxb~0) (not (= .cse267 ~B~0.offset)) (<= c_~maxc~0 (+ .cse266 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse265)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse266 (select .cse268 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse268 .cse267))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse272 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse273 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse270 (select .cse273 ~B~0.offset)) (.cse271 (select .cse273 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse270 c_~maxa~0)) (<= .cse270 .cse271) (<= .cse3 (+ c_~maxa~0 .cse271)) (= (+ .cse270 (select .cse272 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse271))))) (= c_~maxa~0 (select .cse272 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse276 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse277 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse274 (select .cse277 ~B~0.offset)) (.cse275 (select .cse277 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse274 c_~maxa~0)) (<= .cse274 .cse275) (<= .cse3 (+ c_~maxa~0 .cse275)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse274 (select .cse276 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse275))))) (= c_~maxa~0 (select .cse276 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse278 (select .cse281 ~B~0.offset)) (.cse280 (select |c_#memory_int#1| ~A~0.base)) (.cse279 (select .cse281 (+ ~B~0.offset 4)))) (and (= (* .cse278 2) c_~maxc~0) (= c_~maxa~0 .cse279) (= .cse278 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse279)) (= (+ .cse278 (select .cse280 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse280 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse279))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse285 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse282 (select .cse285 ~B~0.offset)) (.cse283 (select |c_#memory_int#1| ~A~0.base)) (.cse284 (select .cse285 (+ ~B~0.offset 4)))) (and (<= (+ (* .cse282 2) 1) c_~maxc~0) (= .cse282 (select .cse283 (+ ~A~0.offset 4))) (= (+ .cse282 c_~maxa~0) c_~maxc~0) (<= .cse282 .cse284) (<= .cse3 (+ .cse282 .cse284)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse282 (select .cse283 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse284))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse288 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse286 (select .cse288 ~B~0.offset)) (.cse287 (select .cse288 (+ ~B~0.offset 4)))) (and (= (+ .cse286 c_~maxa~0) c_~maxc~0) (<= .cse286 .cse287) (<= (+ .cse286 .cse119 1) c_~maxc~0) (= (+ .cse286 .cse287) c_~maxc~0) (<= .cse3 (+ .cse119 .cse287)) (= c_~maxb~0 .cse287))))) (not (= ~B~0.offset .cse10)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse292 (select |c_#memory_int#1| ~A~0.base)) (.cse289 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse294 (+ ~B~0.offset 4))) (and (not (= .cse289 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse293 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse290 (select .cse293 .cse294)) (.cse291 (select .cse293 ~B~0.offset))) (and (<= (+ .cse290 1) .cse291) (= .cse291 c_~maxb~0) (<= c_~maxc~0 (+ .cse291 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse290)) (= (+ .cse291 (select .cse292 ~A~0.offset)) c_~maxc~0))))) (not (= ~A~0.offset .cse294))))) (= c_~maxa~0 (select .cse292 .cse289))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse297 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse295 (select .cse297 ~B~0.offset)) (.cse296 (select .cse297 (+ ~B~0.offset 4)))) (and (<= (+ (* .cse295 2) 1) c_~maxc~0) (= (+ .cse295 c_~maxa~0) c_~maxc~0) (<= .cse295 .cse296) (<= .cse3 (+ .cse295 .cse296)) (= (+ .cse295 .cse8) c_~maxc~0) (= c_~maxb~0 .cse296))))) (and (<= c_~maxc~0 .cse298) (let ((.cse299 (<= .cse3 .cse340)) (.cse311 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse339 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse339 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse339 (+ ~A~0.offset 4)))))))) (let ((.cse302 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base)) (.cse337 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse337 c_~C~0.offset)) (= (+ .cse8 (select .cse338 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse338 .cse337)))))) (.cse305 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse336 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (= (+ .cse8 (select .cse336 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse336 (+ ~A~0.offset 4))))))) (.cse300 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse335 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse335 (+ ~A~0.offset 4))))))) (.cse304 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse334 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse334 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse334 (+ ~A~0.offset 4))))))) (.cse303 (<= .cse231 (+ c_~maxa~0 c_~maxc~0))) (.cse329 (or (and (<= .cse245 c_~maxc~0) .cse205) (and .cse230 .cse232))) (.cse326 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse333 (select |c_#memory_int#1| ~A~0.base)) (.cse332 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse332 c_~C~0.offset)) (= (+ .cse8 (select .cse333 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse333 .cse332)))))) (.cse306 (and .cse299 .cse311 .cse203)) (.cse307 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse331 (select |c_#memory_int#1| ~A~0.base)) (.cse330 (+ ~A~0.offset 4))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse330 c_~C~0.offset)) (= (+ .cse8 (select .cse331 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse331 .cse330))))))) (or (and .cse299 .cse300 .cse203) (and (<= .cse3 .cse133) .cse301 .cse246) (and .cse299 .cse302 .cse203) (and (or (and .cse230 .cse303 .cse304) (and .cse299 .cse305 .cse203) .cse306) .cse136) (and (or (and .cse230 (let ((.cse308 (<= .cse233 .cse298))) (let ((.cse312 (and .cse300 .cse308))) (or (and .cse307 .cse308) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse310 (select |c_#memory_int#1| ~A~0.base)) (.cse309 (+ ~A~0.offset 4))) (and (not (= ~A~0.base c_~C~0.base)) (not (= .cse309 c_~C~0.offset)) (= (+ .cse8 (select .cse310 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse310 .cse309))))) .cse308) (and .cse302 .cse308) (and (or (and .cse305 .cse308) (and .cse311 .cse308) .cse312) .cse136) .cse312)))) (and .cse299 .cse203 (let ((.cse319 (exists ((~A~0.offset Int)) (let ((.cse327 (+ ~A~0.offset 4))) (and (not (= .cse327 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse328 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse328 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse328 .cse327)))))))))) (or (exists ((~A~0.offset Int)) (let ((.cse313 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse313 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse314 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse314 .cse313)))))))) .cse300 (and .cse136 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse315 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse315 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse315 (+ ~A~0.offset 4)))))))) .cse300 (and .cse301 (or .cse300 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse316 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset .cse10)) (= (+ .cse8 (select .cse316 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse316 (+ ~A~0.offset 4)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse317 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse317 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse318 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse318 (+ ~A~0.offset 4)))))))) (and .cse205 .cse304))) .cse319 (exists ((~A~0.offset Int)) (let ((.cse320 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse320 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse321 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse321 .cse320)))))))) (and .cse301 (or .cse319 (and .cse205 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse323 (select |c_#memory_int#1| ~A~0.base)) (.cse322 (+ ~A~0.offset 4))) (and (not (= .cse322 c_~C~0.offset)) (= (+ .cse8 (select .cse323 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse323 .cse322)))))) (exists ((~A~0.offset Int)) (let ((.cse324 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset .cse10)) (not (= .cse324 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse325 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse325 .cse324)))))))))) (and .cse205 .cse326))))) .cse246) (and .cse123 .cse303 .cse329) (and .cse303 .cse329 .cse326) .cse306 (and .cse299 .cse203 .cse307))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse345 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse341 (select .cse345 ~B~0.offset)) (.cse344 (select .cse345 (+ ~B~0.offset 4)))) (let ((.cse343 (+ .cse341 .cse344)) (.cse342 (select |c_#memory_int#1| ~A~0.base))) (and (<= (+ (* .cse341 2) 1) c_~maxc~0) (= .cse341 (select .cse342 (+ ~A~0.offset 4))) (= (+ .cse341 c_~maxa~0) c_~maxc~0) (<= .cse3 .cse343) (= .cse343 c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse341 (select .cse342 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse344)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse348 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse349 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse346 (select .cse349 ~B~0.offset)) (.cse347 (select .cse349 (+ ~B~0.offset 4)))) (and (= (* .cse346 2) c_~maxc~0) (= .cse346 c_~maxa~0) (<= .cse346 .cse347) (<= .cse3 (+ c_~maxa~0 .cse347)) (= (+ .cse346 (select .cse348 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse347))))) (= c_~maxa~0 (select .cse348 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse354 (+ ~B~0.offset 4)) (.cse355 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse351 (select .cse355 ~B~0.offset)) (.cse353 (select |c_#memory_int#1| ~A~0.base)) (.cse350 (+ ~A~0.offset 4)) (.cse352 (select .cse355 .cse354))) (and (not (= .cse350 ~B~0.offset)) (= (+ .cse351 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse352)) (<= .cse351 .cse352) (= (+ .cse351 (select .cse353 ~A~0.offset)) c_~maxc~0) (<= (+ .cse351 .cse352 1) c_~maxc~0) (= (select .cse353 .cse350) .cse352) (= c_~maxb~0 .cse352) (not (= ~A~0.offset .cse354)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse358 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse357 (select .cse358 ~B~0.offset)) (.cse356 (select .cse358 (+ ~B~0.offset 4)))) (and (<= (+ .cse356 1) .cse357) (= .cse357 c_~maxb~0) (= (+ .cse357 c_~maxa~0) c_~maxc~0) (<= (+ .cse357 .cse119 1) c_~maxc~0) (= (+ .cse357 .cse356) c_~maxc~0) (<= .cse3 (+ .cse119 .cse356)))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)) (exists ((~B~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse359 (select .cse361 ~B~0.offset)) (.cse360 (select .cse361 (+ ~B~0.offset 4)))) (and (= (+ .cse359 c_~maxa~0) c_~maxc~0) (<= .cse359 .cse360) (<= (+ .cse359 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse360)) (= c_~maxb~0 .cse360))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse365 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse362 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse362)) (exists ((~B~0.base Int)) (let ((.cse366 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse363 (select .cse366 .cse362)) (.cse364 (select .cse366 ~B~0.offset))) (and (<= (+ .cse363 1) .cse364) (= .cse364 c_~maxb~0) (= .cse364 c_~maxa~0) (<= c_~maxc~0 (+ .cse364 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse363)) (= (+ .cse364 (select .cse365 ~A~0.offset)) c_~maxc~0)))))))) (= c_~maxa~0 (select .cse365 (+ ~A~0.offset 4)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse370 (select |c_#memory_int#1| ~A~0.base)) (.cse367 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse372 (+ ~B~0.offset 4))) (and (not (= .cse367 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse368 (select .cse371 ~B~0.offset)) (.cse369 (select .cse371 .cse372))) (and (<= c_~maxc~0 (+ .cse368 c_~maxa~0)) (<= .cse368 .cse369) (<= .cse3 (+ c_~maxa~0 .cse369)) (= (+ .cse368 (select .cse370 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse369))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse372))))) (= c_~maxa~0 (select .cse370 .cse367))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse373 (+ ~A~0.offset 4))) (and (not (= .cse373 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse377 (select |c_#memory_int#1| ~A~0.base)) (.cse378 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse374 (select .cse378 (+ ~B~0.offset 4))) (.cse375 (select .cse378 ~B~0.offset)) (.cse376 (select .cse377 .cse373))) (and (<= (+ .cse374 1) .cse375) (= .cse375 c_~maxb~0) (= (+ .cse375 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse376 .cse374)) (= (+ .cse375 .cse374) c_~maxc~0) (= (+ .cse375 (select .cse377 ~A~0.offset)) c_~maxc~0) (<= (+ .cse375 .cse376 1) c_~maxc~0)))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse380 (+ ~A~0.offset 4)) (.cse379 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse379 .cse380)) (exists ((~B~0.offset Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse381 (select .cse383 (+ ~B~0.offset 4))) (.cse382 (select .cse383 ~B~0.offset))) (and (<= (+ .cse381 1) .cse382) (= .cse382 c_~maxb~0) (not (= .cse380 ~B~0.offset)) (<= c_~maxc~0 (+ .cse382 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse381)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse382 (select .cse379 ~A~0.offset)) c_~maxc~0)))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse386 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse384 (select .cse386 ~B~0.offset)) (.cse385 (select .cse386 (+ ~B~0.offset 4)))) (and (= .cse384 c_~maxa~0) (<= c_~maxc~0 (+ .cse384 c_~maxa~0)) (<= .cse384 .cse385) (<= .cse3 (+ c_~maxa~0 .cse385)) (= (+ .cse384 .cse8) c_~maxc~0) (= c_~maxb~0 .cse385))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse389 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse387 (select .cse389 ~B~0.offset)) (.cse388 (select .cse389 (+ ~B~0.offset 4)))) (and (= .cse387 c_~maxa~0) (<= c_~maxc~0 (+ .cse387 c_~maxa~0)) (<= .cse387 .cse388) (<= .cse3 (+ c_~maxa~0 .cse388)) (= (+ .cse387 .cse8) c_~maxc~0) (= c_~maxb~0 .cse388))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse392 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse390 (select .cse392 (+ ~B~0.offset 4))) (.cse391 (select .cse392 ~B~0.offset))) (and (<= (+ .cse390 1) .cse391) (= .cse391 c_~maxb~0) (= .cse391 c_~maxa~0) (<= c_~maxc~0 (+ .cse391 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse390)) (= (+ .cse391 .cse8) c_~maxc~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse393 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse393 (+ ~A~0.offset 4))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse394 (select .cse396 (+ ~B~0.offset 4))) (.cse395 (select .cse396 ~B~0.offset))) (and (<= (+ .cse394 1) .cse395) (= .cse395 c_~maxb~0) (= .cse395 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse394)) (= (+ .cse395 .cse394) c_~maxc~0) (= (+ .cse395 (select .cse393 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse400 (select |c_#memory_int#1| ~A~0.base)) (.cse398 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse401 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse397 (select .cse401 ~B~0.offset)) (.cse399 (select .cse401 (+ ~B~0.offset 4)))) (and (= (* .cse397 2) c_~maxc~0) (not (= .cse398 ~B~0.offset)) (<= c_~maxc~0 (+ .cse397 c_~maxa~0)) (<= .cse397 .cse399) (<= .cse3 (+ c_~maxa~0 .cse399)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse397 (select .cse400 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse399))))) (= c_~maxa~0 (select .cse400 .cse398))))))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse404 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse402 (select .cse404 ~B~0.offset)) (.cse403 (select .cse404 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse402 c_~maxa~0)) (<= .cse402 .cse403) (<= .cse3 (+ c_~maxa~0 .cse403)) (= (+ .cse402 .cse8) c_~maxc~0) (= c_~maxb~0 .cse403))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse407 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse408 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse405 (select .cse408 (+ ~B~0.offset 4))) (.cse406 (select .cse408 ~B~0.offset))) (and (<= (+ .cse405 1) .cse406) (= .cse406 c_~maxb~0) (<= c_~maxc~0 (+ .cse406 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse405)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse406 (select .cse407 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse407 (+ ~A~0.offset 4)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse410 (select .cse411 ~B~0.offset)) (.cse409 (select .cse411 (+ ~B~0.offset 4)))) (and (= c_~maxa~0 .cse409) (= .cse410 c_~maxa~0) (<= c_~maxc~0 (+ .cse410 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse409)) (= (+ .cse410 .cse8) c_~maxc~0) (= c_~maxb~0 .cse409))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse413 (select .cse414 ~B~0.offset)) (.cse412 (select .cse414 (+ ~B~0.offset 4)))) (and (<= (+ .cse412 1) .cse413) (= .cse413 c_~maxb~0) (= (+ .cse413 c_~maxa~0) c_~maxc~0) (<= (+ .cse413 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse412)))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse419 (select |c_#memory_int#1| ~A~0.base)) (.cse415 (+ ~A~0.offset 4)) (.cse420 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse416 (select .cse420 ~B~0.offset)) (.cse417 (select .cse419 .cse415)) (.cse418 (select .cse420 (+ ~B~0.offset 4)))) (and (not (= .cse415 ~B~0.offset)) (= (+ .cse416 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse417 .cse418)) (<= .cse416 .cse418) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse416 (select .cse419 ~A~0.offset)) c_~maxc~0) (<= (+ .cse416 .cse417 1) c_~maxc~0) (= c_~maxb~0 .cse418))))) (not (= ~A~0.base ~B~0.base)))) (and .cse123 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse423 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse422 (select .cse423 ~B~0.offset)) (.cse421 (select .cse423 (+ ~B~0.offset 4)))) (and (<= (+ .cse421 1) .cse422) (= (* .cse422 2) c_~maxc~0) (= .cse422 c_~maxb~0) (<= c_~maxc~0 (+ .cse422 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse421)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse426 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse424 (select .cse426 ~B~0.offset)) (.cse425 (select .cse426 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse424 c_~maxa~0)) (<= .cse424 .cse425) (<= .cse3 (+ c_~maxa~0 .cse425)) (= c_~maxb~0 .cse425))))))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse429 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (select .cse429 ~B~0.offset)) (.cse427 (select .cse429 (+ ~B~0.offset 4)))) (and (<= (+ .cse427 1) .cse428) (= (* .cse428 2) c_~maxc~0) (= .cse428 c_~maxb~0) (<= c_~maxc~0 (+ .cse428 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse427)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (select .cse432 ~B~0.offset)) (.cse430 (select .cse432 (+ ~B~0.offset 4)))) (and (<= (+ .cse430 1) .cse431) (= .cse431 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse431 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse430)))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse435 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (select .cse435 ~B~0.offset)) (.cse434 (select .cse435 (+ ~B~0.offset 4)))) (and (= (* .cse433 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse433 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse434)) (= (+ .cse433 .cse434) c_~maxc~0) (= c_~maxb~0 .cse434))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse438 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse437 (select .cse438 ~B~0.offset)) (.cse436 (select .cse438 (+ ~B~0.offset 4)))) (and (<= (+ .cse436 1) .cse437) (= .cse437 c_~maxb~0) (<= c_~maxc~0 (+ .cse437 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse436)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse441 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse439 (select .cse441 ~B~0.offset)) (.cse440 (select .cse441 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse439 c_~maxa~0)) (<= .cse439 .cse440) (<= .cse3 (+ c_~maxa~0 .cse440)) (= c_~maxb~0 .cse440))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse443 (select .cse444 ~B~0.offset)) (.cse442 (select .cse444 (+ ~B~0.offset 4)))) (and (<= (+ .cse442 1) .cse443) (= .cse443 c_~maxb~0) (<= c_~maxc~0 (+ .cse443 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse442)))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse446 (select .cse447 ~B~0.offset)) (.cse445 (select .cse447 (+ ~B~0.offset 4)))) (and (<= (+ .cse445 1) .cse446) (= .cse446 c_~maxb~0) (<= c_~maxc~0 (+ .cse446 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse445)) (= (+ .cse446 .cse445) c_~maxc~0))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse450 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse448 (select .cse450 ~B~0.offset)) (.cse449 (select .cse450 (+ ~B~0.offset 4)))) (and (= (* .cse448 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse448 c_~maxa~0)) (<= .cse448 .cse449) (<= .cse3 (+ c_~maxa~0 .cse449)) (= c_~maxb~0 .cse449))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse453 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse451 (select .cse453 ~B~0.offset)) (.cse452 (select .cse453 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse451 c_~maxa~0)) (<= .cse451 .cse452) (<= .cse3 (+ c_~maxa~0 .cse452)) (= c_~maxb~0 .cse452))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse456 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse454 (select .cse456 ~B~0.offset)) (.cse455 (select .cse456 (+ ~B~0.offset 4)))) (and (= (* .cse454 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse454 c_~maxa~0)) (<= .cse454 .cse455) (<= .cse3 (+ c_~maxa~0 .cse455)) (= c_~maxb~0 .cse455))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse459 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse457 (select .cse459 ~B~0.offset)) (.cse458 (select .cse459 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse457 c_~maxa~0)) (<= .cse457 .cse458) (<= .cse3 (+ c_~maxa~0 .cse458)) (= (+ .cse457 .cse458) c_~maxc~0) (= c_~maxb~0 .cse458))))) (not (= ~B~0.offset .cse10)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse463 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse460 (select .cse463 (+ ~B~0.offset 4))) (.cse461 (select .cse463 ~B~0.offset)) (.cse462 (select |c_#memory_int#1| ~A~0.base))) (and (<= (+ .cse460 1) .cse461) (= .cse461 c_~maxb~0) (<= (+ (* .cse461 2) 1) c_~maxc~0) (= .cse461 (select .cse462 (+ ~A~0.offset 4))) (= (+ .cse461 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse461 .cse460)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse461 (select .cse462 ~A~0.offset)) c_~maxc~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse467 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse464 (select .cse467 (+ ~B~0.offset 4))) (.cse465 (select .cse467 ~B~0.offset))) (and (<= (+ .cse464 1) .cse465) (= .cse465 c_~maxb~0) (= .cse465 c_~maxa~0) (<= c_~maxc~0 (+ .cse465 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse464)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse465 (select .cse466 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse466 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse470 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse472 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse471 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse468 (select .cse471 .cse472)) (.cse469 (select .cse471 ~B~0.offset))) (and (<= (+ .cse468 1) .cse469) (= (* .cse469 2) c_~maxc~0) (= .cse469 c_~maxb~0) (= .cse469 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse468)) (= (+ .cse469 (select .cse470 ~A~0.offset)) c_~maxc~0))))) (not (= ~A~0.offset .cse472))))) (= c_~maxa~0 (select .cse470 (+ ~A~0.offset 4)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse476 (select |c_#memory_int#1| ~A~0.base)) (.cse475 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse477 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse473 (select .cse477 (+ ~B~0.offset 4))) (.cse474 (select .cse477 ~B~0.offset))) (and (<= (+ .cse473 1) .cse474) (= (* .cse474 2) c_~maxc~0) (= .cse474 c_~maxb~0) (not (= .cse475 ~B~0.offset)) (<= c_~maxc~0 (+ .cse474 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse473)) (= (+ .cse474 (select .cse476 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse476 .cse475))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse481 (select |c_#memory_int#1| ~A~0.base)) (.cse479 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse482 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse478 (select .cse482 ~B~0.offset)) (.cse480 (select .cse482 (+ ~B~0.offset 4)))) (and (= (* .cse478 2) c_~maxc~0) (not (= .cse479 ~B~0.offset)) (<= c_~maxc~0 (+ .cse478 c_~maxa~0)) (<= .cse478 .cse480) (<= .cse3 (+ c_~maxa~0 .cse480)) (= (+ .cse478 (select .cse481 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse480))))) (= c_~maxa~0 (select .cse481 .cse479))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse487 (+ ~B~0.offset 4)) (.cse488 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse484 (select .cse488 ~B~0.offset)) (.cse486 (select |c_#memory_int#1| ~A~0.base)) (.cse485 (+ ~A~0.offset 4)) (.cse483 (select .cse488 .cse487))) (and (<= (+ .cse483 1) .cse484) (= .cse484 c_~maxb~0) (not (= .cse485 ~B~0.offset)) (= (+ .cse484 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse483)) (= (+ .cse484 (select .cse486 ~A~0.offset)) c_~maxc~0) (<= (+ .cse484 .cse483 1) c_~maxc~0) (= (select .cse486 .cse485) .cse483) (not (= ~A~0.offset .cse487)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse491 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse489 (select .cse491 (+ ~B~0.offset 4))) (.cse490 (select .cse491 ~B~0.offset))) (and (<= (+ .cse489 1) .cse490) (= .cse490 c_~maxb~0) (<= c_~maxc~0 (+ .cse490 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse489)) (= (+ .cse490 .cse8) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse494 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse496 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse495 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse492 (select .cse495 ~B~0.offset)) (.cse493 (select .cse495 .cse496))) (and (= (* .cse492 2) c_~maxc~0) (= .cse492 c_~maxa~0) (<= .cse492 .cse493) (<= .cse3 (+ c_~maxa~0 .cse493)) (= (+ .cse492 (select .cse494 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse493))))) (not (= ~A~0.offset .cse496))))) (= c_~maxa~0 (select .cse494 (+ ~A~0.offset 4)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse500 (select |c_#memory_int#1| ~A~0.base)) (.cse497 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse501 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse498 (select .cse501 ~B~0.offset)) (.cse499 (select .cse501 (+ ~B~0.offset 4)))) (and (not (= .cse497 ~B~0.offset)) (<= c_~maxc~0 (+ .cse498 c_~maxa~0)) (<= .cse498 .cse499) (<= .cse3 (+ c_~maxa~0 .cse499)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse498 (select .cse500 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse499))))) (= c_~maxa~0 (select .cse500 .cse497))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse504 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse505 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse502 (select .cse505 (+ ~B~0.offset 4))) (.cse503 (select .cse505 ~B~0.offset))) (and (<= (+ .cse502 1) .cse503) (= (* .cse503 2) c_~maxc~0) (= .cse503 c_~maxb~0) (= .cse503 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse502)) (= (+ .cse503 (select .cse504 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse504 (+ ~A~0.offset 4)))))))) (and (<= .cse125 c_~maxb~0) (let ((.cse510 (= c_~maxc~0 .cse218)) (.cse508 (= .cse534 c_~maxc~0))) (or (and (let ((.cse509 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse520 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse520 ~A~0.offset))) (= c_~maxa~0 (select .cse520 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset))))) (.cse512 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse519 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse519 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse519 (+ ~A~0.offset 4))))))))) (.cse506 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse518 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse518 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse518 (+ ~A~0.offset 4))))))))) (.cse513 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse517 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse517 (+ ~A~0.offset 4))))))) (.cse514 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse516 ~A~0.offset))) (= c_~maxa~0 (select .cse516 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset)))))) (or (and .cse301 (or .cse506 (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse507 ~A~0.offset))) (not (= ~A~0.offset .cse10)) (= c_~maxa~0 (select .cse507 (+ ~A~0.offset 4)))))) .cse508) .cse509)) (and .cse510 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse511 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse511 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse511 (+ ~A~0.offset 4)))))))) .cse512 .cse513 .cse514 (and .cse301 (or .cse506 .cse513 .cse509)))) .cse512 .cse506 .cse513 .cse514 (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse515 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse515 ~A~0.offset))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (= c_~maxa~0 (select .cse515 (+ ~A~0.offset 4)))))) .cse508))) (<= c_~maxc~0 .cse340) .cse166) (and (= .cse340 c_~maxc~0) (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse521 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse522 (select .cse521 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse521 ~A~0.offset))) (<= (+ c_~maxb~0 .cse522 1) c_~maxc~0) (<= .cse3 (+ .cse522 .cse119)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse523 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse524 (select .cse523 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse523 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (<= (+ c_~maxb~0 .cse524 1) c_~maxc~0) (<= .cse3 (+ .cse524 .cse119)))))))) (and (<= (+ c_~maxb~0 .cse119 1) c_~maxc~0) .cse124 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse525 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse525 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= (select .cse525 (+ ~A~0.offset 4)) .cse119)))) (not (= .cse127 ~A~0.offset)))) .cse510 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse526 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse526 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= (select .cse526 (+ ~A~0.offset 4)) .cse119)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse527 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse527 ~A~0.offset))) (= (select .cse527 (+ ~A~0.offset 4)) .cse119)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse528 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse529 (select .cse528 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse528 ~A~0.offset))) (<= (+ c_~maxb~0 .cse529 1) c_~maxc~0) (<= .cse3 (+ .cse529 .cse119)))))) (not (= .cse127 ~A~0.offset)))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse530 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse530 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxb~0 (select .cse530 (+ ~A~0.offset 4)))))))) .cse205 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse531 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse531 ~A~0.offset))) (= c_~maxb~0 (select .cse531 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset))))) (<= (+ 1 .cse218) c_~maxc~0) .cse206) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse532 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse533 (select .cse532 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse532 ~A~0.offset))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= (+ c_~maxb~0 .cse533 1) c_~maxc~0) (<= .cse3 (+ .cse533 .cse119)))))) .cse508)))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse535 (+ ~A~0.offset 4))) (and (not (= .cse535 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse539 (select |c_#memory_int#1| ~A~0.base)) (.cse540 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse536 (select .cse540 ~B~0.offset)) (.cse537 (select .cse539 .cse535)) (.cse538 (select .cse540 (+ ~B~0.offset 4)))) (and (= (+ .cse536 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse537 .cse538)) (<= .cse536 .cse538) (= (+ .cse536 .cse538) c_~maxc~0) (= (+ .cse536 (select .cse539 ~A~0.offset)) c_~maxc~0) (<= (+ .cse536 .cse537 1) c_~maxc~0) (= c_~maxb~0 .cse538))))) (not (= ~B~0.offset ~A~0.offset))))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset .cse10)) (exists ((~B~0.base Int)) (let ((.cse543 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse541 (select .cse543 ~B~0.offset)) (.cse542 (select .cse543 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse541 c_~maxa~0)) (<= .cse541 .cse542) (<= .cse3 (+ c_~maxa~0 .cse542)) (= (+ .cse541 .cse8) c_~maxc~0) (= c_~maxb~0 .cse542))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse547 (select |c_#memory_int#1| ~A~0.base)) (.cse544 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse549 (+ ~B~0.offset 4))) (and (not (= .cse544 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse548 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse545 (select .cse548 ~B~0.offset)) (.cse546 (select .cse548 .cse549))) (and (= (* .cse545 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse545 c_~maxa~0)) (<= .cse545 .cse546) (<= .cse3 (+ c_~maxa~0 .cse546)) (= (+ .cse545 (select .cse547 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse546))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse549))))) (= c_~maxa~0 (select .cse547 .cse544))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse552 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse553 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse550 (select .cse553 ~B~0.offset)) (.cse551 (select .cse553 (+ ~B~0.offset 4)))) (and (= (* .cse550 2) c_~maxc~0) (= .cse550 c_~maxa~0) (<= .cse550 .cse551) (<= .cse3 (+ c_~maxa~0 .cse551)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse550 (select .cse552 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse551))))) (= c_~maxa~0 (select .cse552 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse556 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse558 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse557 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse554 (select .cse557 ~B~0.offset)) (.cse555 (select .cse557 .cse558))) (and (= .cse554 c_~maxa~0) (<= c_~maxc~0 (+ .cse554 c_~maxa~0)) (<= .cse554 .cse555) (<= .cse3 (+ c_~maxa~0 .cse555)) (= (+ .cse554 (select .cse556 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse555))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse558))))) (= c_~maxa~0 (select .cse556 (+ ~A~0.offset 4)))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse563 (+ ~B~0.offset 4)) (.cse564 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse559 (select .cse564 ~B~0.offset)) (.cse562 (select |c_#memory_int#1| ~A~0.base)) (.cse560 (+ ~A~0.offset 4)) (.cse561 (select .cse564 .cse563))) (and (= (* .cse559 2) c_~maxc~0) (not (= .cse560 ~B~0.offset)) (= c_~maxa~0 .cse561) (<= .cse559 .cse561) (<= .cse3 (+ c_~maxa~0 .cse561)) (= (+ .cse559 (select .cse562 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse562 .cse560)) (= c_~maxb~0 .cse561) (not (= ~A~0.offset .cse563)))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse569 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse568 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse565 (select .cse568 .cse569)) (.cse566 (select .cse568 ~B~0.offset)) (.cse567 (select |c_#memory_int#1| ~A~0.base))) (and (<= (+ .cse565 1) .cse566) (= .cse566 c_~maxb~0) (<= (+ (* .cse566 2) 1) c_~maxc~0) (= .cse566 (select .cse567 (+ ~A~0.offset 4))) (= (+ .cse566 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse566 .cse565)) (= (+ .cse566 (select .cse567 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse569))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse573 (select |c_#memory_int#1| ~A~0.base)) (.cse574 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse570 (select .cse574 (+ ~B~0.offset 4))) (.cse571 (select .cse574 ~B~0.offset)) (.cse572 (select .cse573 (+ ~A~0.offset 4)))) (and (<= (+ .cse570 1) .cse571) (= .cse571 c_~maxb~0) (= (+ .cse571 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse572 .cse570)) (= (+ .cse571 (select .cse573 ~A~0.offset)) c_~maxc~0) (<= (+ .cse571 .cse572 1) c_~maxc~0))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse577 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse575 (select .cse577 ~B~0.offset)) (.cse576 (select .cse577 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse575 c_~maxa~0)) (<= .cse575 .cse576) (<= .cse3 (+ c_~maxa~0 .cse576)) (= (+ .cse575 .cse8) c_~maxc~0) (= c_~maxb~0 .cse576))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10))))))))) is different from true [2025-03-13 21:52:21,840 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse127 (+ c_~C~0.offset 8)) (.cse567 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse10 (+ c_~C~0.offset 4)) (.cse8 (select .cse567 c_~C~0.offset)) (.cse119 (select .cse567 .cse127))) (let ((.cse523 (+ c_~maxb~0 .cse119)) (.cse321 (+ .cse8 c_~maxb~0)) (.cse117 (+ c_~maxa~0 .cse119)) (.cse198 (+ .cse8 c_~maxa~0)) (.cse132 (+ c_~maxc~0 1)) (.cse231 (* .cse8 2)) (.cse3 (select .cse567 .cse10))) (let ((.cse133 (* 2 c_~maxa~0)) (.cse136 (= .cse8 c_~maxa~0)) (.cse201 (<= .cse8 c_~maxb~0)) (.cse205 (= .cse8 c_~maxb~0)) (.cse134 (+ .cse119 c_~maxc~0)) (.cse214 (+ .cse3 1)) (.cse233 (+ .cse8 .cse3)) (.cse232 (<= .cse132 .cse231)) (.cse147 (= .cse198 c_~maxc~0)) (.cse123 (= c_~maxa~0 .cse119)) (.cse125 (+ .cse119 1)) (.cse202 (= c_~maxa~0 c_~maxb~0)) (.cse166 (<= .cse3 .cse117)) (.cse237 (+ c_~maxa~0 c_~maxb~0)) (.cse124 (<= .cse3 (* 2 .cse119))) (.cse223 (= .cse321 c_~maxc~0)) (.cse298 (<= .cse3 .cse523)) (.cse310 (* 2 c_~maxb~0))) (or (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse5 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse4 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse0 (select .cse4 ~B~0.offset)) (.cse1 (select |c_#memory_int#1| ~A~0.base)) (.cse2 (select .cse4 .cse5))) (and (<= (+ (* .cse0 2) 1) c_~maxc~0) (= .cse0 (select .cse1 (+ ~A~0.offset 4))) (= (+ .cse0 c_~maxa~0) c_~maxc~0) (<= .cse0 .cse2) (<= .cse3 (+ .cse0 .cse2)) (= (+ .cse0 (select .cse1 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse2))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse5))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse9 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse6 (select .cse9 (+ ~B~0.offset 4))) (.cse7 (select .cse9 ~B~0.offset))) (and (<= (+ .cse6 1) .cse7) (= .cse7 c_~maxb~0) (= c_~maxa~0 .cse6) (<= c_~maxc~0 (+ .cse7 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse6)) (= (+ .cse7 .cse8) c_~maxc~0))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse13 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse11 (select .cse13 (+ ~B~0.offset 4))) (.cse12 (select .cse13 ~B~0.offset))) (and (<= (+ .cse11 1) .cse12) (= .cse12 c_~maxb~0) (= .cse12 c_~maxa~0) (<= c_~maxc~0 (+ .cse12 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse11)) (= (+ .cse12 .cse8) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse14 (select .cse16 (+ ~B~0.offset 4))) (.cse15 (select .cse16 ~B~0.offset))) (and (<= (+ .cse14 1) .cse15) (= .cse15 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse15 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse14)) (= (+ .cse15 .cse8) c_~maxc~0))))) (not (= ~B~0.offset .cse10)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse17 (select .cse21 ~B~0.offset)) (.cse20 (select |c_#memory_int#1| ~A~0.base)) (.cse18 (+ ~A~0.offset 4)) (.cse19 (select .cse21 (+ ~B~0.offset 4)))) (and (= (* .cse17 2) c_~maxc~0) (not (= .cse18 ~B~0.offset)) (<= c_~maxc~0 (+ .cse17 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse19)) (= (+ .cse17 .cse19) c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse17 (select .cse20 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse20 .cse18)) (= c_~maxb~0 .cse19))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse22 (+ ~A~0.offset 4)) (.cse27 (+ ~B~0.offset 4))) (and (not (= .cse22 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse26 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse24 (select .cse26 ~B~0.offset)) (.cse25 (select |c_#memory_int#1| ~A~0.base)) (.cse23 (select .cse26 .cse27))) (and (<= (+ .cse23 1) .cse24) (= .cse24 c_~maxb~0) (= (+ .cse24 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse23)) (= (+ .cse24 (select .cse25 ~A~0.offset)) c_~maxc~0) (<= (+ .cse24 .cse23 1) c_~maxc~0) (= (select .cse25 .cse22) .cse23))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse27))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse30 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse29 (select .cse30 ~B~0.offset)) (.cse28 (select .cse30 (+ ~B~0.offset 4)))) (and (= c_~maxa~0 .cse28) (<= c_~maxc~0 (+ .cse29 c_~maxa~0)) (<= .cse29 .cse28) (<= .cse3 (+ c_~maxa~0 .cse28)) (= (+ .cse29 .cse8) c_~maxc~0) (= c_~maxb~0 .cse28))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse31 (select .cse33 ~B~0.offset)) (.cse32 (select .cse33 (+ ~B~0.offset 4)))) (and (= (+ .cse31 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse32)) (<= .cse31 .cse32) (<= (+ .cse31 .cse32 1) c_~maxc~0) (= (+ .cse31 .cse8) c_~maxc~0) (= c_~maxb~0 .cse32))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse38 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse35 (select .cse38 ~B~0.offset)) (.cse37 (select |c_#memory_int#1| ~A~0.base)) (.cse34 (+ ~A~0.offset 4)) (.cse36 (select .cse38 (+ ~B~0.offset 4)))) (and (not (= .cse34 ~B~0.offset)) (= (+ .cse35 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse36)) (<= .cse35 .cse36) (= (+ .cse35 (select .cse37 ~A~0.offset)) c_~maxc~0) (<= (+ .cse35 .cse36 1) c_~maxc~0) (= (select .cse37 .cse34) .cse36) (= c_~maxb~0 .cse36))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse42 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse39 (select .cse42 ~B~0.offset)) (.cse41 (select |c_#memory_int#1| ~A~0.base)) (.cse40 (select .cse42 (+ ~B~0.offset 4)))) (and (= (* .cse39 2) c_~maxc~0) (= .cse39 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse40)) (= (+ .cse39 .cse40) c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse39 (select .cse41 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse41 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse40))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse47 (+ ~B~0.offset 4)) (.cse48 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse44 (select .cse48 ~B~0.offset)) (.cse46 (select |c_#memory_int#1| ~A~0.base)) (.cse45 (+ ~A~0.offset 4)) (.cse43 (select .cse48 .cse47))) (and (<= (+ .cse43 1) .cse44) (= (* .cse44 2) c_~maxc~0) (= .cse44 c_~maxb~0) (not (= .cse45 ~B~0.offset)) (= (+ .cse44 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse43)) (= (+ .cse44 (select .cse46 ~A~0.offset)) c_~maxc~0) (= (select .cse46 .cse45) .cse43) (not (= ~A~0.offset .cse47)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse51 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse49 (select .cse52 (+ ~B~0.offset 4))) (.cse50 (select .cse52 ~B~0.offset))) (and (<= (+ .cse49 1) .cse50) (= .cse50 c_~maxb~0) (<= c_~maxc~0 (+ .cse50 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse49)) (= (+ .cse50 (select .cse51 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse51 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse57 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse53 (select .cse57 ~B~0.offset)) (.cse56 (select |c_#memory_int#1| ~A~0.base)) (.cse54 (+ ~A~0.offset 4)) (.cse55 (select .cse57 (+ ~B~0.offset 4)))) (and (= (* .cse53 2) c_~maxc~0) (not (= .cse54 ~B~0.offset)) (= c_~maxa~0 .cse55) (<= .cse3 (+ c_~maxa~0 .cse55)) (= (+ .cse53 .cse55) c_~maxc~0) (= (+ .cse53 (select .cse56 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse56 .cse54)) (= c_~maxb~0 .cse55))))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset .cse10)) (exists ((~B~0.base Int)) (let ((.cse60 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse58 (select .cse60 (+ ~B~0.offset 4))) (.cse59 (select .cse60 ~B~0.offset))) (and (<= (+ .cse58 1) .cse59) (= .cse59 c_~maxb~0) (= (+ .cse59 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse58)) (<= (+ .cse59 .cse58 1) c_~maxc~0) (= (+ .cse59 .cse8) c_~maxc~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse63 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse64 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse61 (select .cse64 ~B~0.offset)) (.cse62 (select .cse64 (+ ~B~0.offset 4)))) (and (= .cse61 c_~maxa~0) (<= c_~maxc~0 (+ .cse61 c_~maxa~0)) (<= .cse61 .cse62) (<= .cse3 (+ c_~maxa~0 .cse62)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse61 (select .cse63 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse62))))) (= c_~maxa~0 (select .cse63 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse68 (+ ~B~0.offset 4)) (.cse69 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse65 (select .cse69 ~B~0.offset)) (.cse67 (select |c_#memory_int#1| ~A~0.base)) (.cse66 (select .cse69 .cse68))) (and (= (* .cse65 2) c_~maxc~0) (= c_~maxa~0 .cse66) (= .cse65 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse66)) (= (+ .cse65 (select .cse67 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse67 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse66) (not (= ~A~0.offset .cse68)))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse70 (+ ~A~0.offset 4)) (.cse76 (+ ~B~0.offset 4))) (and (not (= .cse70 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~A~0.base)) (.cse75 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse71 (select .cse75 .cse76)) (.cse72 (select .cse75 ~B~0.offset)) (.cse73 (select .cse74 .cse70))) (and (<= (+ .cse71 1) .cse72) (= .cse72 c_~maxb~0) (= (+ .cse72 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse73 .cse71)) (= (+ .cse72 (select .cse74 ~A~0.offset)) c_~maxc~0) (<= (+ .cse72 .cse73 1) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse76))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse80 (select |c_#memory_int#1| ~A~0.base)) (.cse81 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse77 (select .cse81 ~B~0.offset)) (.cse78 (select .cse80 (+ ~A~0.offset 4))) (.cse79 (select .cse81 (+ ~B~0.offset 4)))) (and (= (+ .cse77 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse78 .cse79)) (<= .cse77 .cse79) (= (+ .cse77 (select .cse80 ~A~0.offset)) c_~maxc~0) (<= (+ .cse77 .cse78 1) c_~maxc~0) (= c_~maxb~0 .cse79))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse85 (select |c_#memory_int#1| ~A~0.base)) (.cse82 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse87 (+ ~B~0.offset 4))) (and (not (= .cse82 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse86 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse83 (select .cse86 .cse87)) (.cse84 (select .cse86 ~B~0.offset))) (and (<= (+ .cse83 1) .cse84) (= (* .cse84 2) c_~maxc~0) (= .cse84 c_~maxb~0) (<= c_~maxc~0 (+ .cse84 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse83)) (= (+ .cse84 (select .cse85 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse87))))) (= c_~maxa~0 (select .cse85 .cse82))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse91 (select |c_#memory_int#1| ~A~0.base)) (.cse88 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (and (not (= .cse88 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse89 (select .cse92 ~B~0.offset)) (.cse90 (select .cse92 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse89 c_~maxa~0)) (<= .cse89 .cse90) (<= .cse3 (+ c_~maxa~0 .cse90)) (= (+ .cse89 .cse90) c_~maxc~0) (= (+ .cse89 (select .cse91 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse90))))))) (= c_~maxa~0 (select .cse91 .cse88))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse97 (select |c_#memory_int#1| ~A~0.base)) (.cse95 (+ ~A~0.offset 4)) (.cse98 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse93 (select .cse98 (+ ~B~0.offset 4))) (.cse94 (select .cse98 ~B~0.offset)) (.cse96 (select .cse97 .cse95))) (and (<= (+ .cse93 1) .cse94) (= .cse94 c_~maxb~0) (not (= .cse95 ~B~0.offset)) (= (+ .cse94 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse96 .cse93)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse94 (select .cse97 ~A~0.offset)) c_~maxc~0) (<= (+ .cse94 .cse96 1) c_~maxc~0))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse99 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse99 (+ ~A~0.offset 4))) (exists ((~B~0.offset Int)) (let ((.cse102 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse100 (select .cse102 ~B~0.offset)) (.cse101 (select .cse102 (+ ~B~0.offset 4)))) (and (= (* .cse100 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse100 c_~maxa~0)) (<= .cse100 .cse101) (<= .cse3 (+ c_~maxa~0 .cse101)) (= (+ .cse100 (select .cse99 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse101)))))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse105 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse103 (select .cse105 (+ ~B~0.offset 4))) (.cse104 (select .cse105 ~B~0.offset))) (and (<= (+ .cse103 1) .cse104) (= .cse104 c_~maxb~0) (<= c_~maxc~0 (+ .cse104 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse103)) (= (+ .cse104 .cse8) c_~maxc~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse108 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse109 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse106 (select .cse109 (+ ~B~0.offset 4))) (.cse107 (select .cse109 ~B~0.offset))) (and (<= (+ .cse106 1) .cse107) (= (* .cse107 2) c_~maxc~0) (= .cse107 c_~maxb~0) (= .cse107 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse106)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse107 (select .cse108 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse108 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse116 (+ ~A~0.offset 4)) (.cse115 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse113 (select |c_#memory_int#1| ~A~0.base)) (.cse114 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse110 (select .cse114 ~B~0.offset)) (.cse111 (select .cse113 .cse116)) (.cse112 (select .cse114 .cse115))) (and (= (+ .cse110 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse111 .cse112)) (<= .cse110 .cse112) (= (+ .cse110 (select .cse113 ~A~0.offset)) c_~maxc~0) (<= (+ .cse110 .cse111 1) c_~maxc~0) (= c_~maxb~0 .cse112))))) (not (= .cse116 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse115))))) (and (or (and (<= c_~maxc~0 .cse117) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse120 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse118 (select .cse120 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse118 1) c_~maxa~0) (<= .cse3 (+ .cse118 .cse119)) (= c_~maxa~0 (select .cse120 ~A~0.offset)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse122 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse121 (select .cse122 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= (+ .cse121 1) c_~maxa~0) (<= .cse3 (+ .cse121 .cse119)) (= c_~maxa~0 (select .cse122 ~A~0.offset)))))) .cse123) (and .cse124 (<= .cse125 c_~maxa~0) (or (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse126 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse126 ~A~0.offset)) (= (select .cse126 (+ ~A~0.offset 4)) .cse119)))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse128 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse128 ~A~0.offset)) (= (select .cse128 (+ ~A~0.offset 4)) .cse119)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse129 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse129 ~A~0.offset)) (= (select .cse129 (+ ~A~0.offset 4)) .cse119)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse131 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse130 (select .cse131 (+ ~A~0.offset 4)))) (and (<= (+ .cse130 1) c_~maxa~0) (<= .cse3 (+ .cse130 .cse119)) (= c_~maxa~0 (select .cse131 ~A~0.offset)))))))) (and (<= .cse132 .cse133) (<= (+ c_~maxa~0 .cse3) .cse134) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse135 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~maxa~0 (select .cse135 (+ ~A~0.offset 4))) c_~maxc~0) (= c_~maxa~0 (select .cse135 ~A~0.offset))))))) .cse136 (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset .cse10)) (= (+ c_~maxa~0 (select .cse137 (+ ~A~0.offset 4))) c_~maxc~0) (= c_~maxa~0 (select .cse137 ~A~0.offset))))) .cse123) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse138 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxa~0 (select .cse138 (+ ~A~0.offset 4))) c_~maxc~0) (= c_~maxa~0 (select .cse138 ~A~0.offset))))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse139 (select .cse140 (+ ~A~0.offset 4)))) (and (<= (+ .cse139 1) c_~maxa~0) (<= .cse3 (+ .cse139 .cse119)) (= c_~maxa~0 (select .cse140 ~A~0.offset)))))) (not (= .cse127 ~A~0.offset)))))) (and (let ((.cse154 (div (* (- 1) c_~maxc~0) 2))) (let ((.cse158 (<= 0 (+ .cse119 .cse154))) (.cse159 (= (mod c_~maxc~0 2) 0))) (or (and (<= c_~maxa~0 .cse119) (<= c_~maxc~0 .cse133) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse141 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~maxa~0 (select .cse141 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse141 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxa~0 (select .cse142 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse142 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse144 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse143 (select .cse144 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse10)) (<= .cse143 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse143)) (= c_~maxa~0 (select .cse144 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse145 (select .cse146 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse145 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse145)) (= c_~maxa~0 (select .cse146 (+ ~A~0.offset 4))))))) (and (<= .cse8 c_~maxa~0) (<= c_~maxc~0 (+ .cse8 .cse119)) .cse147) (let ((.cse149 (+ .cse154 c_~maxc~0))) (and (let ((.cse151 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse157 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse157 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse157 (+ ~A~0.offset 4)))))))) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~A~0.base))) (and (= (select .cse148 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse148 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse150 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse150 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse150 (+ ~A~0.offset 4)))))))) .cse151 (and (= .cse119 .cse149) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse152 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= (select .cse152 ~A~0.offset) .cse149) (not (= ~A~0.offset .cse10)) (= c_~maxa~0 (select .cse152 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse153 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse153 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse153 (+ ~A~0.offset 4)))))))) (and (= (+ c_~maxa~0 .cse154) 0) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse155 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse155 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse155 (+ ~A~0.offset 4)))))))) .cse151 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse156 (select |c_#memory_int#1| ~A~0.base))) (and (= (select .cse156 ~A~0.offset) .cse149) (= c_~maxa~0 (select .cse156 (+ ~A~0.offset 4)))))))))))) .cse158 .cse159 (<= .cse149 c_~maxa~0))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse161 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse160 (select .cse161 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= .cse160 c_~maxa~0) (not (= .cse127 ~A~0.offset)) (<= c_~maxc~0 (+ .cse119 .cse160)) (= c_~maxa~0 (select .cse161 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse163 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse162 (select .cse163 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= .cse162 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse162)) (= c_~maxa~0 (select .cse163 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse164 (select .cse165 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= .cse164 c_~maxa~0) (<= c_~maxc~0 (+ .cse119 .cse164)) (= c_~maxa~0 (select .cse165 (+ ~A~0.offset 4))) (= .cse119 .cse164))))) (and .cse123 .cse158 .cse159)))) .cse166)) (= c_~maxb~0 .cse119)) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse167 (select .cse170 ~B~0.offset)) (.cse169 (select |c_#memory_int#1| ~A~0.base)) (.cse168 (select .cse170 (+ ~B~0.offset 4)))) (and (= (* .cse167 2) c_~maxc~0) (= c_~maxa~0 .cse168) (= .cse167 c_~maxa~0) (not (= ~A~0.base ~B~0.base)) (<= .cse3 (+ c_~maxa~0 .cse168)) (= (+ .cse167 (select .cse169 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse169 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse168))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse175 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse171 (select .cse175 ~B~0.offset)) (.cse174 (select |c_#memory_int#1| ~A~0.base)) (.cse172 (+ ~A~0.offset 4)) (.cse173 (select .cse175 (+ ~B~0.offset 4)))) (and (= (* .cse171 2) c_~maxc~0) (not (= .cse172 ~B~0.offset)) (= c_~maxa~0 .cse173) (not (= ~A~0.base ~B~0.base)) (<= .cse171 .cse173) (<= .cse3 (+ c_~maxa~0 .cse173)) (= (+ .cse171 (select .cse174 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse174 .cse172)) (= c_~maxb~0 .cse173))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse178 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse179 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse176 (select .cse179 (+ ~B~0.offset 4))) (.cse177 (select .cse179 ~B~0.offset))) (and (<= (+ .cse176 1) .cse177) (= (* .cse177 2) c_~maxc~0) (= .cse177 c_~maxb~0) (<= c_~maxc~0 (+ .cse177 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse176)) (= (+ .cse177 (select .cse178 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse178 (+ ~A~0.offset 4)))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse182 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse181 (select .cse182 ~B~0.offset)) (.cse180 (select .cse182 (+ ~B~0.offset 4)))) (and (<= (+ .cse180 1) .cse181) (= .cse181 c_~maxb~0) (= (+ .cse181 c_~maxa~0) c_~maxc~0) (<= (+ .cse181 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse180)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse183 (+ ~A~0.offset 4)) (.cse188 (+ ~B~0.offset 4))) (and (not (= .cse183 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse184 (select .cse187 ~B~0.offset)) (.cse186 (select |c_#memory_int#1| ~A~0.base)) (.cse185 (select .cse187 .cse188))) (and (= (+ .cse184 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse185)) (<= .cse184 .cse185) (= (+ .cse184 (select .cse186 ~A~0.offset)) c_~maxc~0) (<= (+ .cse184 .cse185 1) c_~maxc~0) (= (select .cse186 .cse183) .cse185) (= c_~maxb~0 .cse185))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse188))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~A~0.base)) (.cse189 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (and (not (= .cse189 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse193 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse190 (select .cse193 (+ ~B~0.offset 4))) (.cse191 (select .cse193 ~B~0.offset))) (and (<= (+ .cse190 1) .cse191) (= .cse191 c_~maxb~0) (<= c_~maxc~0 (+ .cse191 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse190)) (= (+ .cse191 .cse190) c_~maxc~0) (= (+ .cse191 (select .cse192 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~maxa~0 (select .cse192 .cse189))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse194 (select .cse197 ~B~0.offset)) (.cse195 (select .cse197 (+ ~B~0.offset 4)))) (and (= .cse194 c_~maxa~0) (<= c_~maxc~0 (+ .cse194 c_~maxa~0)) (<= .cse194 .cse195) (<= .cse3 (+ c_~maxa~0 .cse195)) (= (+ .cse194 .cse195) c_~maxc~0) (= (+ .cse194 (select .cse196 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse195))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~maxa~0 (select .cse196 (+ ~A~0.offset 4)))))) (and (<= c_~maxc~0 .cse198) (let ((.cse199 (<= .cse3 .cse237))) (let ((.cse204 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse236 (select |c_#memory_int#1| ~A~0.base)) (.cse235 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse235 c_~C~0.offset)) (= (+ .cse8 (select .cse236 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse236 .cse235)))))) (.cse200 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse234 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse234 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse234 (+ ~A~0.offset 4))))))) (.cse203 (= .cse231 c_~maxc~0)) (.cse206 (<= .cse233 (+ c_~maxa~0 c_~maxc~0))) (.cse225 (or (and (<= .cse231 c_~maxc~0) .cse223) (and .cse205 .cse232))) (.cse224 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse230 (select |c_#memory_int#1| ~A~0.base)) (.cse229 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse229 c_~C~0.offset)) (= (+ .cse8 (select .cse230 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse230 .cse229)))))) (.cse209 (and .cse199 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse228 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse228 (+ ~A~0.offset 4)))))) .cse201)) (.cse210 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse227 (select |c_#memory_int#1| ~A~0.base)) (.cse226 (+ ~A~0.offset 4))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse226 c_~C~0.offset)) (= (+ .cse8 (select .cse227 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse227 .cse226))))))) (or (and .cse199 .cse200 .cse201) (and (<= .cse3 .cse133) .cse202 .cse203) (and .cse199 .cse204 .cse201) (and (or (and .cse205 .cse206 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse207 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse207 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse207 (+ ~A~0.offset 4))))))) (and .cse199 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse208 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (= (+ .cse8 (select .cse208 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse208 (+ ~A~0.offset 4)))))) .cse201) .cse209) .cse136) (and (or (and .cse205 (let ((.cse211 (<= .cse214 .cse198))) (or (and .cse210 .cse211) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~A~0.base)) (.cse212 (+ ~A~0.offset 4))) (and (not (= ~A~0.base c_~C~0.base)) (not (= .cse212 c_~C~0.offset)) (= (+ .cse8 (select .cse213 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse213 .cse212))))) .cse211) (and .cse204 .cse211) (and .cse200 .cse211)))) (and .cse199 .cse201 (or (exists ((~A~0.offset Int)) (let ((.cse215 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse215 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse216 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse216 .cse215)))))))) .cse200 (exists ((~A~0.offset Int)) (let ((.cse217 (+ ~A~0.offset 4))) (and (not (= .cse217 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse218 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse218 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse218 .cse217)))))))) (exists ((~A~0.offset Int)) (let ((.cse219 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse219 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse220 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse220 .cse219)))))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse221 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse221 (+ ~A~0.offset 4)))))))) .cse200 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse222 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse222 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse222 (+ ~A~0.offset 4))))))))) .cse136) (and .cse223 .cse224)))) .cse203) (and .cse123 .cse206 .cse225) (and .cse206 .cse225 .cse224) .cse209 (and .cse199 .cse201 .cse210))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse242 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse239 (select .cse242 ~B~0.offset)) (.cse241 (select |c_#memory_int#1| ~A~0.base)) (.cse240 (+ ~A~0.offset 4)) (.cse238 (select .cse242 (+ ~B~0.offset 4)))) (and (<= (+ .cse238 1) .cse239) (= .cse239 c_~maxb~0) (not (= .cse240 ~B~0.offset)) (= (+ .cse239 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse238)) (= (+ .cse239 (select .cse241 ~A~0.offset)) c_~maxc~0) (<= (+ .cse239 .cse238 1) c_~maxc~0) (= (select .cse241 .cse240) .cse238))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse245 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse243 (select .cse245 (+ ~B~0.offset 4))) (.cse244 (select .cse245 ~B~0.offset))) (and (<= (+ .cse243 1) .cse244) (= .cse244 c_~maxb~0) (<= (+ (* .cse244 2) 1) c_~maxc~0) (= (+ .cse244 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse244 .cse243)) (= (+ .cse244 .cse8) c_~maxc~0))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse248 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse246 (select .cse248 ~B~0.offset)) (.cse247 (select .cse248 (+ ~B~0.offset 4)))) (and (= (+ .cse246 c_~maxa~0) c_~maxc~0) (<= .cse246 .cse247) (<= (+ .cse246 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse247)) (= c_~maxb~0 .cse247))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse252 (select |c_#memory_int#1| ~A~0.base)) (.cse251 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse249 (select .cse253 (+ ~B~0.offset 4))) (.cse250 (select .cse253 ~B~0.offset))) (and (<= (+ .cse249 1) .cse250) (= (* .cse250 2) c_~maxc~0) (= .cse250 c_~maxb~0) (not (= .cse251 ~B~0.offset)) (<= c_~maxc~0 (+ .cse250 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse249)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse250 (select .cse252 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse252 .cse251))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse256 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse257 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse254 (select .cse257 ~B~0.offset)) (.cse255 (select .cse257 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse254 c_~maxa~0)) (<= .cse254 .cse255) (<= .cse3 (+ c_~maxa~0 .cse255)) (= (+ .cse254 (select .cse256 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse255))))) (= c_~maxa~0 (select .cse256 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse260 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse261 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse258 (select .cse261 ~B~0.offset)) (.cse259 (select .cse261 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse258 c_~maxa~0)) (<= .cse258 .cse259) (<= .cse3 (+ c_~maxa~0 .cse259)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse258 (select .cse260 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse259))))) (= c_~maxa~0 (select .cse260 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse262 (select .cse265 ~B~0.offset)) (.cse264 (select |c_#memory_int#1| ~A~0.base)) (.cse263 (select .cse265 (+ ~B~0.offset 4)))) (and (= (* .cse262 2) c_~maxc~0) (= c_~maxa~0 .cse263) (= .cse262 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse263)) (= (+ .cse262 (select .cse264 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse264 (+ ~A~0.offset 4))) (= c_~maxb~0 .cse263))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse266 (select .cse269 ~B~0.offset)) (.cse267 (select |c_#memory_int#1| ~A~0.base)) (.cse268 (select .cse269 (+ ~B~0.offset 4)))) (and (<= (+ (* .cse266 2) 1) c_~maxc~0) (= .cse266 (select .cse267 (+ ~A~0.offset 4))) (= (+ .cse266 c_~maxa~0) c_~maxc~0) (<= .cse266 .cse268) (<= .cse3 (+ .cse266 .cse268)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse266 (select .cse267 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse268))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse272 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse270 (select .cse272 ~B~0.offset)) (.cse271 (select .cse272 (+ ~B~0.offset 4)))) (and (= (+ .cse270 c_~maxa~0) c_~maxc~0) (<= .cse270 .cse271) (<= (+ .cse270 .cse119 1) c_~maxc~0) (= (+ .cse270 .cse271) c_~maxc~0) (<= .cse3 (+ .cse119 .cse271)) (= c_~maxb~0 .cse271))))) (not (= ~B~0.offset .cse10)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse276 (select |c_#memory_int#1| ~A~0.base)) (.cse273 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse278 (+ ~B~0.offset 4))) (and (not (= .cse273 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse277 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse274 (select .cse277 .cse278)) (.cse275 (select .cse277 ~B~0.offset))) (and (<= (+ .cse274 1) .cse275) (= .cse275 c_~maxb~0) (<= c_~maxc~0 (+ .cse275 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse274)) (= (+ .cse275 (select .cse276 ~A~0.offset)) c_~maxc~0))))) (not (= ~A~0.offset .cse278))))) (= c_~maxa~0 (select .cse276 .cse273))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse279 (select .cse281 ~B~0.offset)) (.cse280 (select .cse281 (+ ~B~0.offset 4)))) (and (<= (+ (* .cse279 2) 1) c_~maxc~0) (= (+ .cse279 c_~maxa~0) c_~maxc~0) (<= .cse279 .cse280) (<= .cse3 (+ .cse279 .cse280)) (= (+ .cse279 .cse8) c_~maxc~0) (= c_~maxb~0 .cse280))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse282 (select .cse286 ~B~0.offset)) (.cse285 (select .cse286 (+ ~B~0.offset 4)))) (let ((.cse284 (+ .cse282 .cse285)) (.cse283 (select |c_#memory_int#1| ~A~0.base))) (and (<= (+ (* .cse282 2) 1) c_~maxc~0) (= .cse282 (select .cse283 (+ ~A~0.offset 4))) (= (+ .cse282 c_~maxa~0) c_~maxc~0) (<= .cse3 .cse284) (= .cse284 c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse282 (select .cse283 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse285)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse289 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse290 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse287 (select .cse290 ~B~0.offset)) (.cse288 (select .cse290 (+ ~B~0.offset 4)))) (and (= (* .cse287 2) c_~maxc~0) (= .cse287 c_~maxa~0) (<= .cse287 .cse288) (<= .cse3 (+ c_~maxa~0 .cse288)) (= (+ .cse287 (select .cse289 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse288))))) (= c_~maxa~0 (select .cse289 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse295 (+ ~B~0.offset 4)) (.cse296 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse292 (select .cse296 ~B~0.offset)) (.cse294 (select |c_#memory_int#1| ~A~0.base)) (.cse291 (+ ~A~0.offset 4)) (.cse293 (select .cse296 .cse295))) (and (not (= .cse291 ~B~0.offset)) (= (+ .cse292 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse293)) (<= .cse292 .cse293) (= (+ .cse292 (select .cse294 ~A~0.offset)) c_~maxc~0) (<= (+ .cse292 .cse293 1) c_~maxc~0) (= (select .cse294 .cse291) .cse293) (= c_~maxb~0 .cse293) (not (= ~A~0.offset .cse295)))))))) (and (let ((.cse297 (<= (+ .cse8 .cse119 1) c_~maxc~0)) (.cse320 (<= (+ .cse231 1) c_~maxc~0))) (or (and .cse201 (or (and .cse297 .cse223 .cse298) (exists ((~A~0.offset Int)) (let ((.cse299 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse299 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse300 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse301 (select .cse300 .cse299))) (and (= (+ .cse8 (select .cse300 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse301)) (<= (+ .cse8 .cse301 1) c_~maxc~0)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse302 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse303 (select .cse302 (+ ~A~0.offset 4)))) (and (= (+ .cse8 (select .cse302 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse303)) (<= (+ .cse8 .cse303 1) c_~maxc~0))))))) (and (<= (+ .cse8 c_~maxb~0 1) c_~maxc~0) (or (exists ((~A~0.offset Int)) (let ((.cse304 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset .cse10)) (not (= .cse304 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxb~0 (select .cse305 .cse304)) (= (+ .cse8 (select .cse305 ~A~0.offset)) c_~maxc~0))))))) (exists ((~A~0.offset Int)) (let ((.cse307 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxb~0 (select .cse306 .cse307)) (= (+ .cse8 (select .cse306 ~A~0.offset)) c_~maxc~0)))) (not (= .cse307 c_~C~0.offset))))) (exists ((~A~0.offset Int)) (let ((.cse308 (+ ~A~0.offset 4))) (and (not (= .cse308 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~maxb~0 (select .cse309 .cse308)) (= (+ .cse8 (select .cse309 ~A~0.offset)) c_~maxc~0)))))))) (<= .cse3 .cse310)) (exists ((~A~0.offset Int)) (let ((.cse311 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse311 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse313 (select .cse312 .cse311))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse312 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse313)) (<= (+ .cse8 .cse313 1) c_~maxc~0)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse315 (select |c_#memory_int#1| ~A~0.base)) (.cse314 (+ ~A~0.offset 4))) (let ((.cse316 (select .cse315 .cse314))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse314 c_~C~0.offset)) (= (+ .cse8 (select .cse315 ~A~0.offset)) c_~maxc~0) (<= .cse3 (+ c_~maxb~0 .cse316)) (<= (+ .cse8 .cse316 1) c_~maxc~0))))) .cse223) (and (or (and .cse223 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse317 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse317 (+ ~A~0.offset 4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse8 (select .cse318 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse318 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse8 (select .cse319 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse319 (+ ~A~0.offset 4))))))))) .cse320 (<= .cse3 .cse321)))) (and .cse205 (or (and .cse297 (<= .cse233 .cse134) .cse232) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse324 (select |c_#memory_int#1| ~A~0.base)) (.cse323 (+ ~A~0.offset 4))) (let ((.cse322 (select .cse324 .cse323))) (and (<= .cse214 (+ .cse8 .cse322)) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse323 c_~C~0.offset)) (= (+ .cse8 (select .cse324 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse322 1) c_~maxc~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse327 (select |c_#memory_int#1| ~A~0.base)) (.cse326 (+ ~A~0.offset 4))) (let ((.cse325 (select .cse327 .cse326))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse214 (+ .cse8 .cse325)) (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse326 c_~C~0.offset)) (= (+ .cse8 (select .cse327 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse325 1) c_~maxc~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse329 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse328 (select .cse329 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse214 (+ .cse8 .cse328)) (= (+ .cse8 (select .cse329 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse328 1) c_~maxc~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base)) (.cse331 (+ ~A~0.offset 4))) (let ((.cse330 (select .cse332 .cse331))) (and (<= (+ .cse330 1) .cse8) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse331 c_~C~0.offset)) (= (+ .cse8 (select .cse332 ~A~0.offset)) c_~maxc~0) (<= .cse3 (* 2 .cse330)) (<= (+ .cse8 .cse330 1) c_~maxc~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base)) (.cse334 (+ ~A~0.offset 4))) (let ((.cse333 (select .cse335 .cse334))) (and (<= (+ .cse333 1) .cse8) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse10)) (not (= .cse334 c_~C~0.offset)) (= (+ .cse8 (select .cse335 ~A~0.offset)) c_~maxc~0) (<= .cse3 (* 2 .cse333)) (<= (+ .cse8 .cse333 1) c_~maxc~0))))) (and .cse320 (let ((.cse336 (<= .cse214 .cse231))) (or (and .cse336 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse337 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (= (+ .cse8 (select .cse337 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse337 (+ ~A~0.offset 4))))))) (and .cse336 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse8 (select .cse338 ~A~0.offset)) c_~maxc~0) (= .cse8 (select .cse338 (+ ~A~0.offset 4)))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~A~0.base)) (.cse340 (+ ~A~0.offset 4))) (let ((.cse339 (select .cse341 .cse340))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse233 (+ .cse339 c_~maxc~0)) (not (= .cse340 c_~C~0.offset)) (= (+ .cse8 (select .cse341 ~A~0.offset)) c_~maxc~0) (<= (+ .cse8 .cse339 1) c_~maxc~0))))) .cse232) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~A~0.base)) (.cse343 (+ ~A~0.offset 4))) (let ((.cse342 (select .cse344 .cse343))) (and (<= (+ .cse342 1) .cse8) (not (= ~A~0.base c_~C~0.base)) (not (= .cse343 c_~C~0.offset)) (= (+ .cse8 (select .cse344 ~A~0.offset)) c_~maxc~0) (<= .cse3 (* 2 .cse342)) (<= (+ .cse8 .cse342 1) c_~maxc~0))))))))) .cse147) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse347 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse346 (select .cse347 ~B~0.offset)) (.cse345 (select .cse347 (+ ~B~0.offset 4)))) (and (<= (+ .cse345 1) .cse346) (= .cse346 c_~maxb~0) (= (+ .cse346 c_~maxa~0) c_~maxc~0) (<= (+ .cse346 .cse119 1) c_~maxc~0) (= (+ .cse346 .cse345) c_~maxc~0) (<= .cse3 (+ .cse119 .cse345)))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)) (exists ((~B~0.base Int)) (let ((.cse350 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse348 (select .cse350 ~B~0.offset)) (.cse349 (select .cse350 (+ ~B~0.offset 4)))) (and (= (+ .cse348 c_~maxa~0) c_~maxc~0) (<= .cse348 .cse349) (<= (+ .cse348 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse349)) (= c_~maxb~0 .cse349))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse354 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse351 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse351)) (exists ((~B~0.base Int)) (let ((.cse355 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse352 (select .cse355 .cse351)) (.cse353 (select .cse355 ~B~0.offset))) (and (<= (+ .cse352 1) .cse353) (= .cse353 c_~maxb~0) (= .cse353 c_~maxa~0) (<= c_~maxc~0 (+ .cse353 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse352)) (= (+ .cse353 (select .cse354 ~A~0.offset)) c_~maxc~0)))))))) (= c_~maxa~0 (select .cse354 (+ ~A~0.offset 4)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse359 (select |c_#memory_int#1| ~A~0.base)) (.cse356 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse361 (+ ~B~0.offset 4))) (and (not (= .cse356 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse360 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse357 (select .cse360 ~B~0.offset)) (.cse358 (select .cse360 .cse361))) (and (<= c_~maxc~0 (+ .cse357 c_~maxa~0)) (<= .cse357 .cse358) (<= .cse3 (+ c_~maxa~0 .cse358)) (= (+ .cse357 (select .cse359 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse358))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse361))))) (= c_~maxa~0 (select .cse359 .cse356))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse362 (+ ~A~0.offset 4))) (and (not (= .cse362 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse366 (select |c_#memory_int#1| ~A~0.base)) (.cse367 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse363 (select .cse367 (+ ~B~0.offset 4))) (.cse364 (select .cse367 ~B~0.offset)) (.cse365 (select .cse366 .cse362))) (and (<= (+ .cse363 1) .cse364) (= .cse364 c_~maxb~0) (= (+ .cse364 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse365 .cse363)) (= (+ .cse364 .cse363) c_~maxc~0) (= (+ .cse364 (select .cse366 ~A~0.offset)) c_~maxc~0) (<= (+ .cse364 .cse365 1) c_~maxc~0)))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse369 (+ ~A~0.offset 4)) (.cse368 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse368 .cse369)) (exists ((~B~0.offset Int)) (let ((.cse372 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse370 (select .cse372 (+ ~B~0.offset 4))) (.cse371 (select .cse372 ~B~0.offset))) (and (<= (+ .cse370 1) .cse371) (= .cse371 c_~maxb~0) (not (= .cse369 ~B~0.offset)) (<= c_~maxc~0 (+ .cse371 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse370)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse371 (select .cse368 ~A~0.offset)) c_~maxc~0)))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse375 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse373 (select .cse375 ~B~0.offset)) (.cse374 (select .cse375 (+ ~B~0.offset 4)))) (and (= .cse373 c_~maxa~0) (<= c_~maxc~0 (+ .cse373 c_~maxa~0)) (<= .cse373 .cse374) (<= .cse3 (+ c_~maxa~0 .cse374)) (= (+ .cse373 .cse8) c_~maxc~0) (= c_~maxb~0 .cse374))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse378 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse376 (select .cse378 ~B~0.offset)) (.cse377 (select .cse378 (+ ~B~0.offset 4)))) (and (= .cse376 c_~maxa~0) (<= c_~maxc~0 (+ .cse376 c_~maxa~0)) (<= .cse376 .cse377) (<= .cse3 (+ c_~maxa~0 .cse377)) (= (+ .cse376 .cse8) c_~maxc~0) (= c_~maxb~0 .cse377))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse381 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse379 (select .cse381 (+ ~B~0.offset 4))) (.cse380 (select .cse381 ~B~0.offset))) (and (<= (+ .cse379 1) .cse380) (= .cse380 c_~maxb~0) (= .cse380 c_~maxa~0) (<= c_~maxc~0 (+ .cse380 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse379)) (= (+ .cse380 .cse8) c_~maxc~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse382 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxa~0 (select .cse382 (+ ~A~0.offset 4))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse385 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse383 (select .cse385 (+ ~B~0.offset 4))) (.cse384 (select .cse385 ~B~0.offset))) (and (<= (+ .cse383 1) .cse384) (= .cse384 c_~maxb~0) (= .cse384 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse383)) (= (+ .cse384 .cse383) c_~maxc~0) (= (+ .cse384 (select .cse382 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse389 (select |c_#memory_int#1| ~A~0.base)) (.cse387 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse390 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse386 (select .cse390 ~B~0.offset)) (.cse388 (select .cse390 (+ ~B~0.offset 4)))) (and (= (* .cse386 2) c_~maxc~0) (not (= .cse387 ~B~0.offset)) (<= c_~maxc~0 (+ .cse386 c_~maxa~0)) (<= .cse386 .cse388) (<= .cse3 (+ c_~maxa~0 .cse388)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse386 (select .cse389 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse388))))) (= c_~maxa~0 (select .cse389 .cse387))))))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse393 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse391 (select .cse393 ~B~0.offset)) (.cse392 (select .cse393 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse391 c_~maxa~0)) (<= .cse391 .cse392) (<= .cse3 (+ c_~maxa~0 .cse392)) (= (+ .cse391 .cse8) c_~maxc~0) (= c_~maxb~0 .cse392))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse396 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse397 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse394 (select .cse397 (+ ~B~0.offset 4))) (.cse395 (select .cse397 ~B~0.offset))) (and (<= (+ .cse394 1) .cse395) (= .cse395 c_~maxb~0) (<= c_~maxc~0 (+ .cse395 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse394)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse395 (select .cse396 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse396 (+ ~A~0.offset 4)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse400 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse399 (select .cse400 ~B~0.offset)) (.cse398 (select .cse400 (+ ~B~0.offset 4)))) (and (= c_~maxa~0 .cse398) (= .cse399 c_~maxa~0) (<= c_~maxc~0 (+ .cse399 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse398)) (= (+ .cse399 .cse8) c_~maxc~0) (= c_~maxb~0 .cse398))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse402 (select .cse403 ~B~0.offset)) (.cse401 (select .cse403 (+ ~B~0.offset 4)))) (and (<= (+ .cse401 1) .cse402) (= .cse402 c_~maxb~0) (= (+ .cse402 c_~maxa~0) c_~maxc~0) (<= (+ .cse402 .cse119 1) c_~maxc~0) (<= .cse3 (+ .cse119 .cse401)))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse408 (select |c_#memory_int#1| ~A~0.base)) (.cse404 (+ ~A~0.offset 4)) (.cse409 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse405 (select .cse409 ~B~0.offset)) (.cse406 (select .cse408 .cse404)) (.cse407 (select .cse409 (+ ~B~0.offset 4)))) (and (not (= .cse404 ~B~0.offset)) (= (+ .cse405 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse406 .cse407)) (<= .cse405 .cse407) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse405 (select .cse408 ~A~0.offset)) c_~maxc~0) (<= (+ .cse405 .cse406 1) c_~maxc~0) (= c_~maxb~0 .cse407))))) (not (= ~A~0.base ~B~0.base)))) (and .cse123 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse412 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse411 (select .cse412 ~B~0.offset)) (.cse410 (select .cse412 (+ ~B~0.offset 4)))) (and (<= (+ .cse410 1) .cse411) (= (* .cse411 2) c_~maxc~0) (= .cse411 c_~maxb~0) (<= c_~maxc~0 (+ .cse411 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse410)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse415 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse413 (select .cse415 ~B~0.offset)) (.cse414 (select .cse415 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse413 c_~maxa~0)) (<= .cse413 .cse414) (<= .cse3 (+ c_~maxa~0 .cse414)) (= c_~maxb~0 .cse414))))))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse418 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse417 (select .cse418 ~B~0.offset)) (.cse416 (select .cse418 (+ ~B~0.offset 4)))) (and (<= (+ .cse416 1) .cse417) (= (* .cse417 2) c_~maxc~0) (= .cse417 c_~maxb~0) (<= c_~maxc~0 (+ .cse417 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse416)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse421 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse420 (select .cse421 ~B~0.offset)) (.cse419 (select .cse421 (+ ~B~0.offset 4)))) (and (<= (+ .cse419 1) .cse420) (= .cse420 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse420 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse419)))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse424 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse422 (select .cse424 ~B~0.offset)) (.cse423 (select .cse424 (+ ~B~0.offset 4)))) (and (= (* .cse422 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse422 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse423)) (= (+ .cse422 .cse423) c_~maxc~0) (= c_~maxb~0 .cse423))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse427 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse427 ~B~0.offset)) (.cse425 (select .cse427 (+ ~B~0.offset 4)))) (and (<= (+ .cse425 1) .cse426) (= .cse426 c_~maxb~0) (<= c_~maxc~0 (+ .cse426 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse425)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (select .cse430 ~B~0.offset)) (.cse429 (select .cse430 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse428 c_~maxa~0)) (<= .cse428 .cse429) (<= .cse3 (+ c_~maxa~0 .cse429)) (= c_~maxb~0 .cse429))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse433 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse432 (select .cse433 ~B~0.offset)) (.cse431 (select .cse433 (+ ~B~0.offset 4)))) (and (<= (+ .cse431 1) .cse432) (= .cse432 c_~maxb~0) (<= c_~maxc~0 (+ .cse432 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse431)))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse436 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse435 (select .cse436 ~B~0.offset)) (.cse434 (select .cse436 (+ ~B~0.offset 4)))) (and (<= (+ .cse434 1) .cse435) (= .cse435 c_~maxb~0) (<= c_~maxc~0 (+ .cse435 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse434)) (= (+ .cse435 .cse434) c_~maxc~0))))) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse439 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse437 (select .cse439 ~B~0.offset)) (.cse438 (select .cse439 (+ ~B~0.offset 4)))) (and (= (* .cse437 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse437 c_~maxa~0)) (<= .cse437 .cse438) (<= .cse3 (+ c_~maxa~0 .cse438)) (= c_~maxb~0 .cse438))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse442 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse440 (select .cse442 ~B~0.offset)) (.cse441 (select .cse442 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse440 c_~maxa~0)) (<= .cse440 .cse441) (<= .cse3 (+ c_~maxa~0 .cse441)) (= c_~maxb~0 .cse441))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse445 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse443 (select .cse445 ~B~0.offset)) (.cse444 (select .cse445 (+ ~B~0.offset 4)))) (and (= (* .cse443 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse443 c_~maxa~0)) (<= .cse443 .cse444) (<= .cse3 (+ c_~maxa~0 .cse444)) (= c_~maxb~0 .cse444))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse448 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse446 (select .cse448 ~B~0.offset)) (.cse447 (select .cse448 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse446 c_~maxa~0)) (<= .cse446 .cse447) (<= .cse3 (+ c_~maxa~0 .cse447)) (= (+ .cse446 .cse447) c_~maxc~0) (= c_~maxb~0 .cse447))))) (not (= ~B~0.offset .cse10)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse452 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse449 (select .cse452 (+ ~B~0.offset 4))) (.cse450 (select .cse452 ~B~0.offset)) (.cse451 (select |c_#memory_int#1| ~A~0.base))) (and (<= (+ .cse449 1) .cse450) (= .cse450 c_~maxb~0) (<= (+ (* .cse450 2) 1) c_~maxc~0) (= .cse450 (select .cse451 (+ ~A~0.offset 4))) (= (+ .cse450 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse450 .cse449)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse450 (select .cse451 ~A~0.offset)) c_~maxc~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse455 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse456 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse453 (select .cse456 (+ ~B~0.offset 4))) (.cse454 (select .cse456 ~B~0.offset))) (and (<= (+ .cse453 1) .cse454) (= .cse454 c_~maxb~0) (= .cse454 c_~maxa~0) (<= c_~maxc~0 (+ .cse454 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse453)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse454 (select .cse455 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse455 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse459 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse461 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse460 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse457 (select .cse460 .cse461)) (.cse458 (select .cse460 ~B~0.offset))) (and (<= (+ .cse457 1) .cse458) (= (* .cse458 2) c_~maxc~0) (= .cse458 c_~maxb~0) (= .cse458 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse457)) (= (+ .cse458 (select .cse459 ~A~0.offset)) c_~maxc~0))))) (not (= ~A~0.offset .cse461))))) (= c_~maxa~0 (select .cse459 (+ ~A~0.offset 4)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse465 (select |c_#memory_int#1| ~A~0.base)) (.cse464 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse466 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse462 (select .cse466 (+ ~B~0.offset 4))) (.cse463 (select .cse466 ~B~0.offset))) (and (<= (+ .cse462 1) .cse463) (= (* .cse463 2) c_~maxc~0) (= .cse463 c_~maxb~0) (not (= .cse464 ~B~0.offset)) (<= c_~maxc~0 (+ .cse463 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse462)) (= (+ .cse463 (select .cse465 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse465 .cse464))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse470 (select |c_#memory_int#1| ~A~0.base)) (.cse468 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse471 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse467 (select .cse471 ~B~0.offset)) (.cse469 (select .cse471 (+ ~B~0.offset 4)))) (and (= (* .cse467 2) c_~maxc~0) (not (= .cse468 ~B~0.offset)) (<= c_~maxc~0 (+ .cse467 c_~maxa~0)) (<= .cse467 .cse469) (<= .cse3 (+ c_~maxa~0 .cse469)) (= (+ .cse467 (select .cse470 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse469))))) (= c_~maxa~0 (select .cse470 .cse468))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse476 (+ ~B~0.offset 4)) (.cse477 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse473 (select .cse477 ~B~0.offset)) (.cse475 (select |c_#memory_int#1| ~A~0.base)) (.cse474 (+ ~A~0.offset 4)) (.cse472 (select .cse477 .cse476))) (and (<= (+ .cse472 1) .cse473) (= .cse473 c_~maxb~0) (not (= .cse474 ~B~0.offset)) (= (+ .cse473 c_~maxa~0) c_~maxc~0) (<= .cse3 (* 2 .cse472)) (= (+ .cse473 (select .cse475 ~A~0.offset)) c_~maxc~0) (<= (+ .cse473 .cse472 1) c_~maxc~0) (= (select .cse475 .cse474) .cse472) (not (= ~A~0.offset .cse476)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse480 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse478 (select .cse480 (+ ~B~0.offset 4))) (.cse479 (select .cse480 ~B~0.offset))) (and (<= (+ .cse478 1) .cse479) (= .cse479 c_~maxb~0) (<= c_~maxc~0 (+ .cse479 c_~maxa~0)) (<= .cse3 (+ c_~maxa~0 .cse478)) (= (+ .cse479 .cse8) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse483 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse485 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse484 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse481 (select .cse484 ~B~0.offset)) (.cse482 (select .cse484 .cse485))) (and (= (* .cse481 2) c_~maxc~0) (= .cse481 c_~maxa~0) (<= .cse481 .cse482) (<= .cse3 (+ c_~maxa~0 .cse482)) (= (+ .cse481 (select .cse483 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse482))))) (not (= ~A~0.offset .cse485))))) (= c_~maxa~0 (select .cse483 (+ ~A~0.offset 4)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse489 (select |c_#memory_int#1| ~A~0.base)) (.cse486 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse490 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse487 (select .cse490 ~B~0.offset)) (.cse488 (select .cse490 (+ ~B~0.offset 4)))) (and (not (= .cse486 ~B~0.offset)) (<= c_~maxc~0 (+ .cse487 c_~maxa~0)) (<= .cse487 .cse488) (<= .cse3 (+ c_~maxa~0 .cse488)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse487 (select .cse489 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse488))))) (= c_~maxa~0 (select .cse489 .cse486))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse493 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse494 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse491 (select .cse494 (+ ~B~0.offset 4))) (.cse492 (select .cse494 ~B~0.offset))) (and (<= (+ .cse491 1) .cse492) (= (* .cse492 2) c_~maxc~0) (= .cse492 c_~maxb~0) (= .cse492 c_~maxa~0) (<= .cse3 (+ c_~maxa~0 .cse491)) (= (+ .cse492 (select .cse493 ~A~0.offset)) c_~maxc~0))))) (= c_~maxa~0 (select .cse493 (+ ~A~0.offset 4)))))))) (and (<= .cse125 c_~maxb~0) (let ((.cse499 (= c_~maxc~0 .cse310)) (.cse497 (= .cse523 c_~maxc~0))) (or (and (let ((.cse498 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse509 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse509 ~A~0.offset))) (= c_~maxa~0 (select .cse509 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset))))) (.cse501 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse508 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse508 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse508 (+ ~A~0.offset 4))))))))) (.cse495 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse507 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse507 (+ ~A~0.offset 4))))))))) (.cse502 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse506 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse506 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse506 (+ ~A~0.offset 4))))))) (.cse503 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse505 ~A~0.offset))) (= c_~maxa~0 (select .cse505 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset)))))) (or (and .cse202 (or .cse495 (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse496 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse496 ~A~0.offset))) (not (= ~A~0.offset .cse10)) (= c_~maxa~0 (select .cse496 (+ ~A~0.offset 4)))))) .cse497) .cse498)) (and .cse499 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse500 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse500 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxa~0 (select .cse500 (+ ~A~0.offset 4)))))))) .cse501 .cse502 .cse503 (and .cse202 (or .cse495 .cse502 .cse498)))) .cse501 .cse495 .cse502 .cse503 (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse504 ~A~0.offset))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (= c_~maxa~0 (select .cse504 (+ ~A~0.offset 4)))))) .cse497))) (<= c_~maxc~0 .cse237) .cse166) (and (= .cse237 c_~maxc~0) (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse510 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse510 ~A~0.offset))) (<= (+ c_~maxb~0 .cse511 1) c_~maxc~0) (<= .cse3 (+ .cse511 .cse119)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse512 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse513 (select .cse512 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse512 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (<= (+ c_~maxb~0 .cse513 1) c_~maxc~0) (<= .cse3 (+ .cse513 .cse119)))))))) (and (<= (+ c_~maxb~0 .cse119 1) c_~maxc~0) .cse124 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse514 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse514 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= (select .cse514 (+ ~A~0.offset 4)) .cse119)))) (not (= .cse127 ~A~0.offset)))) .cse499 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse515 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse515 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= (select .cse515 (+ ~A~0.offset 4)) .cse119)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (not (= .cse127 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse516 ~A~0.offset))) (= (select .cse516 (+ ~A~0.offset 4)) .cse119)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse517 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse518 (select .cse517 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse517 ~A~0.offset))) (<= (+ c_~maxb~0 .cse518 1) c_~maxc~0) (<= .cse3 (+ .cse518 .cse119)))))) (not (= .cse127 ~A~0.offset)))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse519 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse519 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= c_~maxb~0 (select .cse519 (+ ~A~0.offset 4)))))))) .cse223 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse10)) (exists ((~A~0.base Int)) (let ((.cse520 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse520 ~A~0.offset))) (= c_~maxb~0 (select .cse520 (+ ~A~0.offset 4)))))) (not (= .cse127 ~A~0.offset))))) (<= (+ 1 .cse310) c_~maxc~0) .cse298) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse521 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse522 (select .cse521 (+ ~A~0.offset 4)))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse521 ~A~0.offset))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse10)) (<= (+ c_~maxb~0 .cse522 1) c_~maxc~0) (<= .cse3 (+ .cse522 .cse119)))))) .cse497)))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse524 (+ ~A~0.offset 4))) (and (not (= .cse524 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse528 (select |c_#memory_int#1| ~A~0.base)) (.cse529 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse525 (select .cse529 ~B~0.offset)) (.cse526 (select .cse528 .cse524)) (.cse527 (select .cse529 (+ ~B~0.offset 4)))) (and (= (+ .cse525 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse526 .cse527)) (<= .cse525 .cse527) (= (+ .cse525 .cse527) c_~maxc~0) (= (+ .cse525 (select .cse528 ~A~0.offset)) c_~maxc~0) (<= (+ .cse525 .cse526 1) c_~maxc~0) (= c_~maxb~0 .cse527))))) (not (= ~B~0.offset ~A~0.offset))))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset .cse10)) (exists ((~B~0.base Int)) (let ((.cse532 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse530 (select .cse532 ~B~0.offset)) (.cse531 (select .cse532 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 (+ .cse530 c_~maxa~0)) (<= .cse530 .cse531) (<= .cse3 (+ c_~maxa~0 .cse531)) (= (+ .cse530 .cse8) c_~maxc~0) (= c_~maxb~0 .cse531))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse536 (select |c_#memory_int#1| ~A~0.base)) (.cse533 (+ ~A~0.offset 4))) (and (exists ((~B~0.offset Int)) (let ((.cse538 (+ ~B~0.offset 4))) (and (not (= .cse533 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse537 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse534 (select .cse537 ~B~0.offset)) (.cse535 (select .cse537 .cse538))) (and (= (* .cse534 2) c_~maxc~0) (<= c_~maxc~0 (+ .cse534 c_~maxa~0)) (<= .cse534 .cse535) (<= .cse3 (+ c_~maxa~0 .cse535)) (= (+ .cse534 (select .cse536 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse535))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse538))))) (= c_~maxa~0 (select .cse536 .cse533))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse541 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse542 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse539 (select .cse542 ~B~0.offset)) (.cse540 (select .cse542 (+ ~B~0.offset 4)))) (and (= (* .cse539 2) c_~maxc~0) (= .cse539 c_~maxa~0) (<= .cse539 .cse540) (<= .cse3 (+ c_~maxa~0 .cse540)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse539 (select .cse541 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse540))))) (= c_~maxa~0 (select .cse541 (+ ~A~0.offset 4)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse545 (select |c_#memory_int#1| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse547 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse546 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse543 (select .cse546 ~B~0.offset)) (.cse544 (select .cse546 .cse547))) (and (= .cse543 c_~maxa~0) (<= c_~maxc~0 (+ .cse543 c_~maxa~0)) (<= .cse543 .cse544) (<= .cse3 (+ c_~maxa~0 .cse544)) (= (+ .cse543 (select .cse545 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 .cse544))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse547))))) (= c_~maxa~0 (select .cse545 (+ ~A~0.offset 4)))))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse552 (+ ~B~0.offset 4)) (.cse553 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse548 (select .cse553 ~B~0.offset)) (.cse551 (select |c_#memory_int#1| ~A~0.base)) (.cse549 (+ ~A~0.offset 4)) (.cse550 (select .cse553 .cse552))) (and (= (* .cse548 2) c_~maxc~0) (not (= .cse549 ~B~0.offset)) (= c_~maxa~0 .cse550) (<= .cse548 .cse550) (<= .cse3 (+ c_~maxa~0 .cse550)) (= (+ .cse548 (select .cse551 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse551 .cse549)) (= c_~maxb~0 .cse550) (not (= ~A~0.offset .cse552)))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse558 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse557 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse554 (select .cse557 .cse558)) (.cse555 (select .cse557 ~B~0.offset)) (.cse556 (select |c_#memory_int#1| ~A~0.base))) (and (<= (+ .cse554 1) .cse555) (= .cse555 c_~maxb~0) (<= (+ (* .cse555 2) 1) c_~maxc~0) (= .cse555 (select .cse556 (+ ~A~0.offset 4))) (= (+ .cse555 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse555 .cse554)) (= (+ .cse555 (select .cse556 ~A~0.offset)) c_~maxc~0))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse558))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse562 (select |c_#memory_int#1| ~A~0.base)) (.cse563 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse559 (select .cse563 (+ ~B~0.offset 4))) (.cse560 (select .cse563 ~B~0.offset)) (.cse561 (select .cse562 (+ ~A~0.offset 4)))) (and (<= (+ .cse559 1) .cse560) (= .cse560 c_~maxb~0) (= (+ .cse560 c_~maxa~0) c_~maxc~0) (<= .cse3 (+ .cse561 .cse559)) (= (+ .cse560 (select .cse562 ~A~0.offset)) c_~maxc~0) (<= (+ .cse560 .cse561 1) c_~maxc~0))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse566 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse564 (select .cse566 ~B~0.offset)) (.cse565 (select .cse566 (+ ~B~0.offset 4)))) (and (<= c_~maxc~0 (+ .cse564 c_~maxa~0)) (<= .cse564 .cse565) (<= .cse3 (+ c_~maxa~0 .cse565)) (= (+ .cse564 .cse8) c_~maxc~0) (= c_~maxb~0 .cse565))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse10))))))))) is different from true