./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 735b3cc8 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-three-array-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-?-735b3cc-m [2025-03-14 01:10:40,432 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-14 01:10:40,485 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-14 01:10:40,488 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-14 01:10:40,489 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-14 01:10:40,507 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-14 01:10:40,508 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-14 01:10:40,508 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-14 01:10:40,508 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-14 01:10:40,508 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-14 01:10:40,509 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-14 01:10:40,509 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-14 01:10:40,510 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-14 01:10:40,510 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-14 01:10:40,510 INFO L153 SettingsManager]: * Use SBE=true [2025-03-14 01:10:40,510 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-14 01:10:40,510 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-14 01:10:40,510 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-14 01:10:40,511 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-14 01:10:40,511 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-14 01:10:40,512 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-14 01:10:40,512 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-14 01:10:40,513 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-14 01:10:40,513 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-14 01:10:40,513 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-14 01:10:40,513 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-14 01:10:40,513 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-14 01:10:40,764 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-14 01:10:40,773 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-14 01:10:40,775 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-14 01:10:40,776 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-14 01:10:40,776 INFO L274 PluginConnector]: CDTParser initialized [2025-03-14 01:10:40,777 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-14 01:10:41,947 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/094ddf284/3826036529aa47b99131d00dc80e842c/FLAGe6cc4071c [2025-03-14 01:10:42,158 INFO L384 CDTParser]: Found 1 translation units. [2025-03-14 01:10:42,161 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2025-03-14 01:10:42,171 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/094ddf284/3826036529aa47b99131d00dc80e842c/FLAGe6cc4071c [2025-03-14 01:10:42,519 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/094ddf284/3826036529aa47b99131d00dc80e842c [2025-03-14 01:10:42,521 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-14 01:10:42,522 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-14 01:10:42,523 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-14 01:10:42,523 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-14 01:10:42,526 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-14 01:10:42,527 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,527 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4e291d61 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42, skipping insertion in model container [2025-03-14 01:10:42,527 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,541 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-14 01:10:42,661 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-14 01:10:42,667 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-14 01:10:42,673 INFO L200 MainTranslator]: Completed pre-run [2025-03-14 01:10:42,692 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-14 01:10:42,695 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-14 01:10:42,705 INFO L204 MainTranslator]: Completed translation [2025-03-14 01:10:42,706 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42 WrapperNode [2025-03-14 01:10:42,707 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-14 01:10:42,708 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-14 01:10:42,708 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-14 01:10:42,708 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-14 01:10:42,713 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,721 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,746 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 210 [2025-03-14 01:10:42,746 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-14 01:10:42,747 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-14 01:10:42,747 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-14 01:10:42,747 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-14 01:10:42,754 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,754 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,757 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,769 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2025-03-14 01:10:42,769 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,769 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,781 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,782 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,783 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,784 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,786 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-14 01:10:42,788 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-14 01:10:42,788 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-14 01:10:42,788 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-14 01:10:42,789 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (1/1) ... [2025-03-14 01:10:42,794 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-14 01:10:42,803 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:42,814 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-03-14 01:10:42,816 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-03-14 01:10:42,832 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-03-14 01:10:42,832 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-03-14 01:10:42,832 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-03-14 01:10:42,832 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-03-14 01:10:42,833 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-03-14 01:10:42,833 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-14 01:10:42,833 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-14 01:10:42,833 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-14 01:10:42,833 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-14 01:10:42,834 WARN L225 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-03-14 01:10:42,908 INFO L256 CfgBuilder]: Building ICFG [2025-03-14 01:10:42,909 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-14 01:10:43,262 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-03-14 01:10:43,264 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-14 01:10:43,264 INFO L318 CfgBuilder]: Performing block encoding [2025-03-14 01:10:43,558 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-14 01:10:43,559 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 14.03 01:10:43 BoogieIcfgContainer [2025-03-14 01:10:43,559 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-14 01:10:43,561 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-14 01:10:43,561 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-14 01:10:43,565 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-14 01:10:43,565 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.03 01:10:42" (1/3) ... [2025-03-14 01:10:43,566 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6e4a0266 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.03 01:10:43, skipping insertion in model container [2025-03-14 01:10:43,566 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.03 01:10:42" (2/3) ... [2025-03-14 01:10:43,567 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6e4a0266 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.03 01:10:43, skipping insertion in model container [2025-03-14 01:10:43,567 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 14.03 01:10:43" (3/3) ... [2025-03-14 01:10:43,568 INFO L128 eAbstractionObserver]: Analyzing ICFG popl20-three-array-max.wvr.c [2025-03-14 01:10:43,581 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-14 01:10:43,582 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-14 01:10:43,582 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-03-14 01:10:43,632 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-03-14 01:10:43,658 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2025-03-14 01:10:43,687 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2025-03-14 01:10:43,689 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-14 01:10:43,694 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 7/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 39 event pairs, 0 based on Foata normal form. 0/28 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2025-03-14 01:10:43,695 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2025-03-14 01:10:43,697 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2025-03-14 01:10:43,703 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-14 01:10:43,714 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;@5a48d29c, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-14 01:10:43,716 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-03-14 01:10:43,725 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-03-14 01:10:43,726 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2025-03-14 01:10:43,726 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-14 01:10:43,726 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:43,727 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:43,727 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:43,731 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:43,731 INFO L85 PathProgramCache]: Analyzing trace with hash -911464602, now seen corresponding path program 1 times [2025-03-14 01:10:43,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:43,737 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1226407782] [2025-03-14 01:10:43,737 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:43,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:43,799 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-03-14 01:10:43,851 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-03-14 01:10:43,852 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:43,852 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:44,103 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-14 01:10:44,105 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:44,105 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1226407782] [2025-03-14 01:10:44,105 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1226407782] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:44,105 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:44,106 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-14 01:10:44,107 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2103443871] [2025-03-14 01:10:44,107 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:44,112 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-14 01:10:44,116 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:44,131 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-14 01:10:44,132 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-14 01:10:44,133 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:44,136 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 35 transitions, 88 flow. Second operand has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:44,136 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:44,136 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:44,137 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:44,343 INFO L124 PetriNetUnfolderBase]: 431/694 cut-off events. [2025-03-14 01:10:44,344 INFO L125 PetriNetUnfolderBase]: For 65/65 co-relation queries the response was YES. [2025-03-14 01:10:44,348 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1348 conditions, 694 events. 431/694 cut-off events. For 65/65 co-relation queries the response was YES. Maximal size of possible extension queue 48. Compared 2694 event pairs, 284 based on Foata normal form. 0/610 useless extension candidates. Maximal degree in co-relation 1137. Up to 590 conditions per place. [2025-03-14 01:10:44,352 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 28 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2025-03-14 01:10:44,352 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 150 flow [2025-03-14 01:10:44,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-14 01:10:44,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-14 01:10:44,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2025-03-14 01:10:44,361 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.49572649572649574 [2025-03-14 01:10:44,362 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 58 transitions. [2025-03-14 01:10:44,362 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 150 flow [2025-03-14 01:10:44,365 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 138 flow, removed 0 selfloop flow, removed 6 redundant places. [2025-03-14 01:10:44,368 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2025-03-14 01:10:44,370 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=76, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=88, PETRI_PLACES=35, PETRI_TRANSITIONS=36} [2025-03-14 01:10:44,375 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2025-03-14 01:10:44,376 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2025-03-14 01:10:44,376 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:44,376 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:44,376 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:44,377 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-03-14 01:10:44,377 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:44,378 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:44,378 INFO L85 PathProgramCache]: Analyzing trace with hash 1873097933, now seen corresponding path program 1 times [2025-03-14 01:10:44,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:44,378 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1380676866] [2025-03-14 01:10:44,378 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:44,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:44,391 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-03-14 01:10:44,406 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-03-14 01:10:44,406 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:44,406 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:44,576 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-03-14 01:10:44,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:44,576 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1380676866] [2025-03-14 01:10:44,577 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1380676866] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:44,577 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:44,577 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-14 01:10:44,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1211365756] [2025-03-14 01:10:44,577 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:44,578 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-03-14 01:10:44,578 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:44,578 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-14 01:10:44,578 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-14 01:10:44,588 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:44,589 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 36 transitions, 88 flow. Second operand has 4 states, 4 states have (on average 14.25) internal successors, (57), 4 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:44,589 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:44,589 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:44,589 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:44,702 INFO L124 PetriNetUnfolderBase]: 431/696 cut-off events. [2025-03-14 01:10:44,703 INFO L125 PetriNetUnfolderBase]: For 17/17 co-relation queries the response was YES. [2025-03-14 01:10:44,706 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1313 conditions, 696 events. 431/696 cut-off events. For 17/17 co-relation queries the response was YES. Maximal size of possible extension queue 48. Compared 2691 event pairs, 284 based on Foata normal form. 0/612 useless extension candidates. Maximal degree in co-relation 1302. Up to 589 conditions per place. [2025-03-14 01:10:44,710 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 26 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2025-03-14 01:10:44,711 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 156 flow [2025-03-14 01:10:44,711 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-14 01:10:44,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-03-14 01:10:44,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2025-03-14 01:10:44,714 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2025-03-14 01:10:44,714 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 70 transitions. [2025-03-14 01:10:44,714 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 156 flow [2025-03-14 01:10:44,715 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 152 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-03-14 01:10:44,715 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2025-03-14 01:10:44,716 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=84, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=30, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=112, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2025-03-14 01:10:44,717 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2025-03-14 01:10:44,717 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2025-03-14 01:10:44,717 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 14.25) internal successors, (57), 4 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:44,717 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:44,717 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:44,717 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-03-14 01:10:44,718 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:44,718 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:44,718 INFO L85 PathProgramCache]: Analyzing trace with hash -278999820, now seen corresponding path program 1 times [2025-03-14 01:10:44,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:44,718 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [254017896] [2025-03-14 01:10:44,718 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:44,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:44,734 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-14 01:10:44,753 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-14 01:10:44,754 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:44,755 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:44,915 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-03-14 01:10:44,916 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:44,916 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [254017896] [2025-03-14 01:10:44,916 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [254017896] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:44,916 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:44,916 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-14 01:10:44,916 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265912766] [2025-03-14 01:10:44,916 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:44,917 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-14 01:10:44,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:44,917 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-14 01:10:44,917 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-14 01:10:44,917 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:44,918 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:44,918 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:44,918 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:44,918 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:45,070 INFO L124 PetriNetUnfolderBase]: 663/1098 cut-off events. [2025-03-14 01:10:45,072 INFO L125 PetriNetUnfolderBase]: For 32/32 co-relation queries the response was YES. [2025-03-14 01:10:45,074 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2016 conditions, 1098 events. 663/1098 cut-off events. For 32/32 co-relation queries the response was YES. Maximal size of possible extension queue 49. Compared 4591 event pairs, 226 based on Foata normal form. 1/964 useless extension candidates. Maximal degree in co-relation 1996. Up to 459 conditions per place. [2025-03-14 01:10:45,078 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 42 selfloop transitions, 2 changer transitions 2/52 dead transitions. [2025-03-14 01:10:45,079 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 52 transitions, 235 flow [2025-03-14 01:10:45,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-14 01:10:45,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-14 01:10:45,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2025-03-14 01:10:45,080 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6068376068376068 [2025-03-14 01:10:45,080 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 71 transitions. [2025-03-14 01:10:45,080 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 52 transitions, 235 flow [2025-03-14 01:10:45,081 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 52 transitions, 234 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-14 01:10:45,083 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2025-03-14 01:10:45,083 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=111, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=123, PETRI_PLACES=40, PETRI_TRANSITIONS=39} [2025-03-14 01:10:45,084 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2025-03-14 01:10:45,084 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2025-03-14 01:10:45,084 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:45,084 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:45,084 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:45,084 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-03-14 01:10:45,085 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:45,085 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:45,086 INFO L85 PathProgramCache]: Analyzing trace with hash -1970062281, now seen corresponding path program 1 times [2025-03-14 01:10:45,086 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:45,086 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1329086113] [2025-03-14 01:10:45,086 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:45,086 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:45,099 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-14 01:10:45,110 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-14 01:10:45,111 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:45,111 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:45,234 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-14 01:10:45,235 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:45,235 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1329086113] [2025-03-14 01:10:45,235 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1329086113] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:45,235 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [241138810] [2025-03-14 01:10:45,236 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:45,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:45,236 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:45,239 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-14 01:10:45,240 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-03-14 01:10:45,298 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-14 01:10:45,325 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-14 01:10:45,326 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:45,326 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:45,328 INFO L256 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-14 01:10:45,335 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:45,410 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-14 01:10:45,410 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-14 01:10:45,463 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-14 01:10:45,463 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [241138810] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-14 01:10:45,463 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-14 01:10:45,463 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2025-03-14 01:10:45,463 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [309208409] [2025-03-14 01:10:45,463 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-14 01:10:45,464 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2025-03-14 01:10:45,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:45,464 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-03-14 01:10:45,464 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2025-03-14 01:10:45,476 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:45,477 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 39 transitions, 123 flow. Second operand has 12 states, 12 states have (on average 11.083333333333334) internal successors, (133), 12 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:45,477 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:45,477 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:45,477 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:45,794 INFO L124 PetriNetUnfolderBase]: 1039/1608 cut-off events. [2025-03-14 01:10:45,794 INFO L125 PetriNetUnfolderBase]: For 110/110 co-relation queries the response was YES. [2025-03-14 01:10:45,797 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3214 conditions, 1608 events. 1039/1608 cut-off events. For 110/110 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 6430 event pairs, 506 based on Foata normal form. 0/1363 useless extension candidates. Maximal degree in co-relation 2432. Up to 877 conditions per place. [2025-03-14 01:10:45,801 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 37 selfloop transitions, 10 changer transitions 41/93 dead transitions. [2025-03-14 01:10:45,801 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 93 transitions, 457 flow [2025-03-14 01:10:45,802 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-03-14 01:10:45,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-03-14 01:10:45,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 168 transitions. [2025-03-14 01:10:45,803 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4307692307692308 [2025-03-14 01:10:45,803 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 10 states and 168 transitions. [2025-03-14 01:10:45,803 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 93 transitions, 457 flow [2025-03-14 01:10:45,805 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 93 transitions, 455 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-14 01:10:45,806 INFO L231 Difference]: Finished difference. Result has 53 places, 42 transitions, 179 flow [2025-03-14 01:10:45,806 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=121, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=179, PETRI_PLACES=53, PETRI_TRANSITIONS=42} [2025-03-14 01:10:45,806 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 15 predicate places. [2025-03-14 01:10:45,806 INFO L471 AbstractCegarLoop]: Abstraction has has 53 places, 42 transitions, 179 flow [2025-03-14 01:10:45,807 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 11.083333333333334) internal successors, (133), 12 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:45,807 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:45,807 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:45,814 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-03-14 01:10:46,007 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:46,008 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:46,009 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:46,009 INFO L85 PathProgramCache]: Analyzing trace with hash -1354039615, now seen corresponding path program 2 times [2025-03-14 01:10:46,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:46,009 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [79221614] [2025-03-14 01:10:46,009 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-14 01:10:46,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:46,024 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:46,039 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 27 of 33 statements. [2025-03-14 01:10:46,039 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-14 01:10:46,039 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:46,106 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-14 01:10:46,106 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:46,107 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [79221614] [2025-03-14 01:10:46,107 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [79221614] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:46,107 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:46,107 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-14 01:10:46,107 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [706172458] [2025-03-14 01:10:46,107 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:46,107 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-14 01:10:46,108 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:46,108 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-14 01:10:46,108 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-14 01:10:46,118 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:46,118 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 42 transitions, 179 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:46,119 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:46,119 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:46,119 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:46,423 INFO L124 PetriNetUnfolderBase]: 1355/2057 cut-off events. [2025-03-14 01:10:46,423 INFO L125 PetriNetUnfolderBase]: For 362/362 co-relation queries the response was YES. [2025-03-14 01:10:46,427 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4394 conditions, 2057 events. 1355/2057 cut-off events. For 362/362 co-relation queries the response was YES. Maximal size of possible extension queue 87. Compared 9533 event pairs, 550 based on Foata normal form. 13/1835 useless extension candidates. Maximal degree in co-relation 4358. Up to 1082 conditions per place. [2025-03-14 01:10:46,435 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 67 selfloop transitions, 3 changer transitions 14/89 dead transitions. [2025-03-14 01:10:46,435 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 89 transitions, 475 flow [2025-03-14 01:10:46,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-14 01:10:46,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-14 01:10:46,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 116 transitions. [2025-03-14 01:10:46,438 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5948717948717949 [2025-03-14 01:10:46,438 INFO L175 Difference]: Start difference. First operand has 53 places, 42 transitions, 179 flow. Second operand 5 states and 116 transitions. [2025-03-14 01:10:46,438 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 89 transitions, 475 flow [2025-03-14 01:10:46,445 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 89 transitions, 443 flow, removed 13 selfloop flow, removed 5 redundant places. [2025-03-14 01:10:46,446 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2025-03-14 01:10:46,446 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=177, PETRI_PLACES=50, PETRI_TRANSITIONS=44} [2025-03-14 01:10:46,447 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2025-03-14 01:10:46,448 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2025-03-14 01:10:46,448 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:46,448 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:46,448 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:46,449 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-03-14 01:10:46,449 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:46,449 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:46,450 INFO L85 PathProgramCache]: Analyzing trace with hash 1197437667, now seen corresponding path program 3 times [2025-03-14 01:10:46,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:46,450 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2026913404] [2025-03-14 01:10:46,450 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-14 01:10:46,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:46,464 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:46,494 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-14 01:10:46,494 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-03-14 01:10:46,494 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:46,566 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-14 01:10:46,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:46,567 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2026913404] [2025-03-14 01:10:46,567 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2026913404] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:46,567 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:46,567 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-14 01:10:46,567 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [210541571] [2025-03-14 01:10:46,567 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:46,567 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-14 01:10:46,568 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:46,568 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-14 01:10:46,568 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-14 01:10:46,573 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:46,573 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 44 transitions, 177 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:46,573 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:46,573 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:46,573 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:46,892 INFO L124 PetriNetUnfolderBase]: 2313/3650 cut-off events. [2025-03-14 01:10:46,892 INFO L125 PetriNetUnfolderBase]: For 1971/1971 co-relation queries the response was YES. [2025-03-14 01:10:46,899 INFO L83 FinitePrefix]: Finished finitePrefix Result has 8699 conditions, 3650 events. 2313/3650 cut-off events. For 1971/1971 co-relation queries the response was YES. Maximal size of possible extension queue 137. Compared 19265 event pairs, 930 based on Foata normal form. 14/3402 useless extension candidates. Maximal degree in co-relation 8666. Up to 1828 conditions per place. [2025-03-14 01:10:46,911 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 71 selfloop transitions, 3 changer transitions 13/92 dead transitions. [2025-03-14 01:10:46,911 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 92 transitions, 522 flow [2025-03-14 01:10:46,912 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-14 01:10:46,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-14 01:10:46,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2025-03-14 01:10:46,913 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5692307692307692 [2025-03-14 01:10:46,913 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 111 transitions. [2025-03-14 01:10:46,913 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 92 transitions, 522 flow [2025-03-14 01:10:46,921 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 92 transitions, 500 flow, removed 7 selfloop flow, removed 2 redundant places. [2025-03-14 01:10:46,923 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2025-03-14 01:10:46,923 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=171, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=193, PETRI_PLACES=54, PETRI_TRANSITIONS=46} [2025-03-14 01:10:46,924 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2025-03-14 01:10:46,924 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2025-03-14 01:10:46,924 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:46,924 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:46,924 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:46,924 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-03-14 01:10:46,924 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:46,925 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:46,926 INFO L85 PathProgramCache]: Analyzing trace with hash -2048763945, now seen corresponding path program 4 times [2025-03-14 01:10:46,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:46,926 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452224959] [2025-03-14 01:10:46,926 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-14 01:10:46,926 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:46,938 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:46,940 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 21 of 33 statements. [2025-03-14 01:10:46,941 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-14 01:10:46,941 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:46,970 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-14 01:10:46,970 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:46,970 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452224959] [2025-03-14 01:10:46,970 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [452224959] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-14 01:10:46,970 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-14 01:10:46,970 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-14 01:10:46,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [181601433] [2025-03-14 01:10:46,970 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:46,970 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-14 01:10:46,970 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:46,971 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-14 01:10:46,971 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-03-14 01:10:46,978 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:46,978 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 46 transitions, 193 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:46,978 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:46,978 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:46,978 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:47,421 INFO L124 PetriNetUnfolderBase]: 3115/4751 cut-off events. [2025-03-14 01:10:47,422 INFO L125 PetriNetUnfolderBase]: For 3212/3212 co-relation queries the response was YES. [2025-03-14 01:10:47,431 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12209 conditions, 4751 events. 3115/4751 cut-off events. For 3212/3212 co-relation queries the response was YES. Maximal size of possible extension queue 186. Compared 25479 event pairs, 1188 based on Foata normal form. 46/4440 useless extension candidates. Maximal degree in co-relation 12174. Up to 2234 conditions per place. [2025-03-14 01:10:47,448 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 102 selfloop transitions, 16 changer transitions 0/123 dead transitions. [2025-03-14 01:10:47,448 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 123 transitions, 719 flow [2025-03-14 01:10:47,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-14 01:10:47,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-03-14 01:10:47,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 159 transitions. [2025-03-14 01:10:47,449 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5096153846153846 [2025-03-14 01:10:47,449 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 159 transitions. [2025-03-14 01:10:47,449 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 123 transitions, 719 flow [2025-03-14 01:10:47,457 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 123 transitions, 699 flow, removed 3 selfloop flow, removed 2 redundant places. [2025-03-14 01:10:47,458 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2025-03-14 01:10:47,458 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=189, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=301, PETRI_PLACES=61, PETRI_TRANSITIONS=59} [2025-03-14 01:10:47,459 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2025-03-14 01:10:47,459 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2025-03-14 01:10:47,459 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:47,459 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:47,459 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:47,459 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-03-14 01:10:47,460 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:47,460 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:47,460 INFO L85 PathProgramCache]: Analyzing trace with hash -1181982431, now seen corresponding path program 5 times [2025-03-14 01:10:47,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:47,460 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [739119877] [2025-03-14 01:10:47,460 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-14 01:10:47,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:47,476 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:47,488 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-14 01:10:47,488 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-14 01:10:47,488 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:47,584 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-14 01:10:47,584 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:47,584 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [739119877] [2025-03-14 01:10:47,584 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [739119877] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:47,584 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [443255291] [2025-03-14 01:10:47,584 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-14 01:10:47,584 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:47,584 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:47,587 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-14 01:10:47,599 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-03-14 01:10:47,664 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-14 01:10:47,699 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-14 01:10:47,699 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-14 01:10:47,699 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:47,702 INFO L256 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-14 01:10:47,704 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:47,761 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-14 01:10:47,763 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-14 01:10:47,816 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-14 01:10:47,816 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [443255291] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:47,816 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-14 01:10:47,816 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-14 01:10:47,816 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1194427062] [2025-03-14 01:10:47,817 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:47,817 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-14 01:10:47,817 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:47,817 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-14 01:10:47,817 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2025-03-14 01:10:47,825 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-14 01:10:47,826 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 flow. Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:47,826 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:47,826 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-14 01:10:47,826 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:48,063 INFO L124 PetriNetUnfolderBase]: 1843/2907 cut-off events. [2025-03-14 01:10:48,064 INFO L125 PetriNetUnfolderBase]: For 4812/4905 co-relation queries the response was YES. [2025-03-14 01:10:48,071 INFO L83 FinitePrefix]: Finished finitePrefix Result has 8232 conditions, 2907 events. 1843/2907 cut-off events. For 4812/4905 co-relation queries the response was YES. Maximal size of possible extension queue 124. Compared 14893 event pairs, 850 based on Foata normal form. 320/3092 useless extension candidates. Maximal degree in co-relation 8195. Up to 1815 conditions per place. [2025-03-14 01:10:48,082 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 54 selfloop transitions, 9 changer transitions 0/69 dead transitions. [2025-03-14 01:10:48,082 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 69 transitions, 433 flow [2025-03-14 01:10:48,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-14 01:10:48,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-14 01:10:48,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2025-03-14 01:10:48,083 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.43162393162393164 [2025-03-14 01:10:48,084 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 6 states and 101 transitions. [2025-03-14 01:10:48,084 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 69 transitions, 433 flow [2025-03-14 01:10:48,090 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 69 transitions, 423 flow, removed 2 selfloop flow, removed 2 redundant places. [2025-03-14 01:10:48,092 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 267 flow [2025-03-14 01:10:48,092 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=249, PETRI_DIFFERENCE_MINUEND_PLACES=58, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=9, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=267, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-03-14 01:10:48,092 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-14 01:10:48,092 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 267 flow [2025-03-14 01:10:48,092 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:48,093 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:48,093 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:48,100 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-14 01:10:48,293 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2025-03-14 01:10:48,293 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:48,294 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:48,295 INFO L85 PathProgramCache]: Analyzing trace with hash 723441540, now seen corresponding path program 1 times [2025-03-14 01:10:48,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:48,295 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1126489599] [2025-03-14 01:10:48,295 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:48,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:48,304 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-14 01:10:48,313 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-14 01:10:48,314 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:48,314 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:48,445 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-14 01:10:48,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:48,445 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1126489599] [2025-03-14 01:10:48,445 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1126489599] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:48,445 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1158618302] [2025-03-14 01:10:48,445 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:48,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:48,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:48,448 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-14 01:10:48,449 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-03-14 01:10:48,508 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-14 01:10:48,537 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-14 01:10:48,537 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:48,537 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:48,539 INFO L256 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-14 01:10:48,540 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:48,612 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-14 01:10:48,612 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-14 01:10:48,678 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-14 01:10:48,679 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1158618302] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:48,679 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-14 01:10:48,679 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-14 01:10:48,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [113702475] [2025-03-14 01:10:48,679 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-14 01:10:48,679 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-14 01:10:48,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-14 01:10:48,680 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-14 01:10:48,680 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2025-03-14 01:10:48,685 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-14 01:10:48,686 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 54 transitions, 267 flow. Second operand has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:48,686 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-14 01:10:48,686 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-14 01:10:48,686 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-14 01:10:48,945 INFO L124 PetriNetUnfolderBase]: 2134/3139 cut-off events. [2025-03-14 01:10:48,946 INFO L125 PetriNetUnfolderBase]: For 4595/4651 co-relation queries the response was YES. [2025-03-14 01:10:48,953 INFO L83 FinitePrefix]: Finished finitePrefix Result has 9269 conditions, 3139 events. 2134/3139 cut-off events. For 4595/4651 co-relation queries the response was YES. Maximal size of possible extension queue 126. Compared 14943 event pairs, 491 based on Foata normal form. 111/3143 useless extension candidates. Maximal degree in co-relation 9229. Up to 1851 conditions per place. [2025-03-14 01:10:48,963 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 65 selfloop transitions, 7 changer transitions 0/77 dead transitions. [2025-03-14 01:10:48,964 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 77 transitions, 529 flow [2025-03-14 01:10:48,964 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-14 01:10:48,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-14 01:10:48,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2025-03-14 01:10:48,965 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4017094017094017 [2025-03-14 01:10:48,965 INFO L175 Difference]: Start difference. First operand has 63 places, 54 transitions, 267 flow. Second operand 6 states and 94 transitions. [2025-03-14 01:10:48,965 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 77 transitions, 529 flow [2025-03-14 01:10:48,970 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 77 transitions, 491 flow, removed 5 selfloop flow, removed 5 redundant places. [2025-03-14 01:10:48,971 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 262 flow [2025-03-14 01:10:48,971 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=239, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=53, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=262, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-03-14 01:10:48,972 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-14 01:10:48,972 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 262 flow [2025-03-14 01:10:48,972 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-14 01:10:48,972 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-14 01:10:48,972 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-14 01:10:48,979 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2025-03-14 01:10:49,177 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:49,177 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-14 01:10:49,177 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-14 01:10:49,177 INFO L85 PathProgramCache]: Analyzing trace with hash 257271808, now seen corresponding path program 1 times [2025-03-14 01:10:49,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-14 01:10:49,178 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1462335247] [2025-03-14 01:10:49,178 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:49,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-14 01:10:49,187 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-14 01:10:49,271 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-14 01:10:49,271 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:49,272 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:50,740 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-14 01:10:50,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-14 01:10:50,741 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1462335247] [2025-03-14 01:10:50,741 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1462335247] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-14 01:10:50,741 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [686918930] [2025-03-14 01:10:50,741 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-14 01:10:50,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-14 01:10:50,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-14 01:10:50,743 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-14 01:10:50,745 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-03-14 01:10:50,799 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-14 01:10:50,826 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-14 01:10:50,826 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-14 01:10:50,826 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-14 01:10:50,828 INFO L256 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 22 conjuncts are in the unsatisfiable core [2025-03-14 01:10:50,831 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-14 01:10:51,182 INFO L349 Elim1Store]: treesize reduction 96, result has 55.8 percent of original size [2025-03-14 01:10:51,183 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-14 01:11:07,264 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-14 01:11:21,035 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