./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version f8ab0bd5 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 --- Real Ultimate output --- This is Ultimate 0.3.0-?-f8ab0bd-m [2025-03-13 21:51:41,241 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-13 21:51:41,292 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-13 21:51:41,295 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-13 21:51:41,297 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-13 21:51:41,314 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-13 21:51:41,315 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-13 21:51:41,315 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-13 21:51:41,315 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-13 21:51:41,316 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-13 21:51:41,316 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-13 21:51:41,316 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-13 21:51:41,317 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-13 21:51:41,317 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-13 21:51:41,317 INFO L153 SettingsManager]: * Use SBE=true [2025-03-13 21:51:41,317 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-13 21:51:41,317 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-13 21:51:41,318 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-13 21:51:41,318 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:51:41,319 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-13 21:51:41,319 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 [2025-03-13 21:51:41,536 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-13 21:51:41,541 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-13 21:51:41,544 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-13 21:51:41,544 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-13 21:51:41,545 INFO L274 PluginConnector]: CDTParser initialized [2025-03-13 21:51:41,545 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2025-03-13 21:51:42,683 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0228ab4c4/6037ae6d556d4deb8a17ee13747fa7e1/FLAG8da039293 [2025-03-13 21:51:42,894 INFO L384 CDTParser]: Found 1 translation units. [2025-03-13 21:51:42,895 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2025-03-13 21:51:42,900 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0228ab4c4/6037ae6d556d4deb8a17ee13747fa7e1/FLAG8da039293 [2025-03-13 21:51:43,253 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0228ab4c4/6037ae6d556d4deb8a17ee13747fa7e1 [2025-03-13 21:51:43,255 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-13 21:51:43,256 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-13 21:51:43,257 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-13 21:51:43,257 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-13 21:51:43,260 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-13 21:51:43,261 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,262 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62d98f67 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43, skipping insertion in model container [2025-03-13 21:51:43,263 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,276 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-13 21:51:43,410 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2025-03-13 21:51:43,420 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:51:43,429 INFO L200 MainTranslator]: Completed pre-run [2025-03-13 21:51:43,449 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2025-03-13 21:51:43,456 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-13 21:51:43,471 INFO L204 MainTranslator]: Completed translation [2025-03-13 21:51:43,472 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43 WrapperNode [2025-03-13 21:51:43,472 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-13 21:51:43,474 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-13 21:51:43,474 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-13 21:51:43,474 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-13 21:51:43,478 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,483 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,499 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 210 [2025-03-13 21:51:43,499 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-13 21:51:43,499 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-13 21:51:43,499 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-13 21:51:43,499 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-13 21:51:43,505 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,505 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,507 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,517 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2025-03-13 21:51:43,517 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,517 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,527 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,528 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,528 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,529 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,532 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-13 21:51:43,533 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-13 21:51:43,533 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-13 21:51:43,533 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-13 21:51:43,533 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (1/1) ... [2025-03-13 21:51:43,538 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-13 21:51:43,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:43,554 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-03-13 21:51:43,556 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-03-13 21:51:43,572 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-03-13 21:51:43,572 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-03-13 21:51:43,572 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-03-13 21:51:43,572 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-03-13 21:51:43,573 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-03-13 21:51:43,573 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-13 21:51:43,573 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-13 21:51:43,573 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-13 21:51:43,573 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-13 21:51:43,573 WARN L225 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-03-13 21:51:43,654 INFO L256 CfgBuilder]: Building ICFG [2025-03-13 21:51:43,655 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-13 21:51:43,959 INFO L303 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-03-13 21:51:43,960 INFO L313 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-13 21:51:43,960 INFO L318 CfgBuilder]: Performing block encoding [2025-03-13 21:51:44,250 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-13 21:51:44,250 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:51:44 BoogieIcfgContainer [2025-03-13 21:51:44,250 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-13 21:51:44,252 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-13 21:51:44,252 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-13 21:51:44,255 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-13 21:51:44,255 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.03 09:51:43" (1/3) ... [2025-03-13 21:51:44,255 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7d6bfee6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:51:44, skipping insertion in model container [2025-03-13 21:51:44,255 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.03 09:51:43" (2/3) ... [2025-03-13 21:51:44,255 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7d6bfee6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.03 09:51:44, skipping insertion in model container [2025-03-13 21:51:44,255 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 13.03 09:51:44" (3/3) ... [2025-03-13 21:51:44,257 INFO L128 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2025-03-13 21:51:44,267 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-13 21:51:44,269 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG popl20-three-array-min.wvr.c that has 4 procedures, 33 locations, 1 initial locations, 6 loop locations, and 1 error locations. [2025-03-13 21:51:44,270 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-03-13 21:51:44,312 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-03-13 21:51:44,338 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2025-03-13 21:51:44,366 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2025-03-13 21:51:44,367 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-13 21:51:44,373 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 7/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 39 event pairs, 0 based on Foata normal form. 0/28 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2025-03-13 21:51:44,373 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2025-03-13 21:51:44,376 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2025-03-13 21:51:44,384 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-13 21:51:44,394 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;@40cee50, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-13 21:51:44,395 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-03-13 21:51:44,405 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-03-13 21:51:44,406 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2025-03-13 21:51:44,406 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-03-13 21:51:44,406 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:44,406 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:44,407 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:44,410 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:44,410 INFO L85 PathProgramCache]: Analyzing trace with hash -911464602, now seen corresponding path program 1 times [2025-03-13 21:51:44,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:44,416 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [653782926] [2025-03-13 21:51:44,416 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:44,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:44,479 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-03-13 21:51:44,528 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-03-13 21:51:44,528 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:44,528 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:44,772 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-13 21:51:44,772 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:44,772 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [653782926] [2025-03-13 21:51:44,774 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [653782926] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:44,775 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:44,775 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-13 21:51:44,776 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1074345989] [2025-03-13 21:51:44,776 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:44,780 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-13 21:51:44,784 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:44,798 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-13 21:51:44,799 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-13 21:51:44,800 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:44,802 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 35 transitions, 88 flow. Second operand has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:44,802 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:44,803 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:44,803 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:45,002 INFO L124 PetriNetUnfolderBase]: 431/694 cut-off events. [2025-03-13 21:51:45,003 INFO L125 PetriNetUnfolderBase]: For 65/65 co-relation queries the response was YES. [2025-03-13 21:51:45,009 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1348 conditions, 694 events. 431/694 cut-off events. For 65/65 co-relation queries the response was YES. Maximal size of possible extension queue 48. Compared 2694 event pairs, 284 based on Foata normal form. 0/610 useless extension candidates. Maximal degree in co-relation 1137. Up to 590 conditions per place. [2025-03-13 21:51:45,014 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 28 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2025-03-13 21:51:45,015 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 150 flow [2025-03-13 21:51:45,016 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-13 21:51:45,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-13 21:51:45,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2025-03-13 21:51:45,024 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.49572649572649574 [2025-03-13 21:51:45,025 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 58 transitions. [2025-03-13 21:51:45,026 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 150 flow [2025-03-13 21:51:45,029 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 138 flow, removed 0 selfloop flow, removed 6 redundant places. [2025-03-13 21:51:45,032 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2025-03-13 21:51:45,033 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=76, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=88, PETRI_PLACES=35, PETRI_TRANSITIONS=36} [2025-03-13 21:51:45,035 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2025-03-13 21:51:45,035 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2025-03-13 21:51:45,036 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 15.666666666666666) internal successors, (47), 3 states have internal predecessors, (47), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:45,036 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:45,036 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:45,036 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-03-13 21:51:45,036 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:45,036 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:45,036 INFO L85 PathProgramCache]: Analyzing trace with hash 1873097933, now seen corresponding path program 1 times [2025-03-13 21:51:45,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:45,037 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1002443461] [2025-03-13 21:51:45,037 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:45,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:45,054 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-03-13 21:51:45,069 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-03-13 21:51:45,069 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:45,069 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:45,222 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-03-13 21:51:45,223 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:45,223 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1002443461] [2025-03-13 21:51:45,223 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1002443461] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:45,223 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:45,223 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-13 21:51:45,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515069288] [2025-03-13 21:51:45,223 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:45,224 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-03-13 21:51:45,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:45,224 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-13 21:51:45,224 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-13 21:51:45,232 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:45,232 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 36 transitions, 88 flow. Second operand has 4 states, 4 states have (on average 14.25) internal successors, (57), 4 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:45,232 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:45,232 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:45,232 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:45,345 INFO L124 PetriNetUnfolderBase]: 431/696 cut-off events. [2025-03-13 21:51:45,345 INFO L125 PetriNetUnfolderBase]: For 17/17 co-relation queries the response was YES. [2025-03-13 21:51:45,347 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1313 conditions, 696 events. 431/696 cut-off events. For 17/17 co-relation queries the response was YES. Maximal size of possible extension queue 48. Compared 2691 event pairs, 284 based on Foata normal form. 0/612 useless extension candidates. Maximal degree in co-relation 1302. Up to 589 conditions per place. [2025-03-13 21:51:45,351 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 26 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2025-03-13 21:51:45,351 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 156 flow [2025-03-13 21:51:45,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-13 21:51:45,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-03-13 21:51:45,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 70 transitions. [2025-03-13 21:51:45,353 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2025-03-13 21:51:45,353 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 70 transitions. [2025-03-13 21:51:45,353 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 156 flow [2025-03-13 21:51:45,353 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 152 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-03-13 21:51:45,354 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2025-03-13 21:51:45,354 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=84, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=30, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=112, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2025-03-13 21:51:45,354 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2025-03-13 21:51:45,354 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2025-03-13 21:51:45,356 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 14.25) internal successors, (57), 4 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:45,357 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:45,357 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:45,357 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-03-13 21:51:45,357 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:45,357 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:45,357 INFO L85 PathProgramCache]: Analyzing trace with hash -278999820, now seen corresponding path program 1 times [2025-03-13 21:51:45,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:45,357 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [676283725] [2025-03-13 21:51:45,357 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:45,357 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:45,371 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-03-13 21:51:45,406 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-03-13 21:51:45,406 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:45,406 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:45,513 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-03-13 21:51:45,514 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:45,514 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [676283725] [2025-03-13 21:51:45,514 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [676283725] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:45,514 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:45,514 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-03-13 21:51:45,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2138982082] [2025-03-13 21:51:45,514 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:45,514 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-03-13 21:51:45,514 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:45,515 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-13 21:51:45,515 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-13 21:51:45,515 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:45,515 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:45,515 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:45,515 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:45,515 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:45,640 INFO L124 PetriNetUnfolderBase]: 663/1098 cut-off events. [2025-03-13 21:51:45,640 INFO L125 PetriNetUnfolderBase]: For 32/32 co-relation queries the response was YES. [2025-03-13 21:51:45,642 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2016 conditions, 1098 events. 663/1098 cut-off events. For 32/32 co-relation queries the response was YES. Maximal size of possible extension queue 49. Compared 4591 event pairs, 226 based on Foata normal form. 1/964 useless extension candidates. Maximal degree in co-relation 1996. Up to 459 conditions per place. [2025-03-13 21:51:45,646 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 42 selfloop transitions, 2 changer transitions 2/52 dead transitions. [2025-03-13 21:51:45,646 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 52 transitions, 235 flow [2025-03-13 21:51:45,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-13 21:51:45,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-03-13 21:51:45,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2025-03-13 21:51:45,647 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6068376068376068 [2025-03-13 21:51:45,648 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 71 transitions. [2025-03-13 21:51:45,648 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 52 transitions, 235 flow [2025-03-13 21:51:45,649 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 52 transitions, 234 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-13 21:51:45,650 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2025-03-13 21:51:45,651 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=111, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=123, PETRI_PLACES=40, PETRI_TRANSITIONS=39} [2025-03-13 21:51:45,651 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2025-03-13 21:51:45,651 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2025-03-13 21:51:45,651 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:45,652 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:45,652 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:45,652 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-03-13 21:51:45,652 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:45,653 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:45,653 INFO L85 PathProgramCache]: Analyzing trace with hash -1970062281, now seen corresponding path program 1 times [2025-03-13 21:51:45,654 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:45,654 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1169571182] [2025-03-13 21:51:45,654 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:45,654 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:45,664 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-13 21:51:45,680 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-13 21:51:45,681 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:45,681 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:45,816 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-13 21:51:45,816 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:45,816 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1169571182] [2025-03-13 21:51:45,816 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1169571182] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:45,816 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2070688315] [2025-03-13 21:51:45,816 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:45,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:45,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:45,819 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-13 21:51:45,821 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-03-13 21:51:45,882 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-03-13 21:51:45,913 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-03-13 21:51:45,914 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:45,914 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:45,916 INFO L256 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-13 21:51:45,919 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:45,991 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-13 21:51:45,993 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-13 21:51:46,055 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-13 21:51:46,056 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2070688315] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-13 21:51:46,056 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-13 21:51:46,056 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2025-03-13 21:51:46,056 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [733705887] [2025-03-13 21:51:46,056 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-13 21:51:46,056 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2025-03-13 21:51:46,057 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:46,057 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-03-13 21:51:46,058 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2025-03-13 21:51:46,072 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:46,073 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 39 transitions, 123 flow. Second operand has 12 states, 12 states have (on average 11.083333333333334) internal successors, (133), 12 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:46,073 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:46,073 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:46,073 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:46,369 INFO L124 PetriNetUnfolderBase]: 1039/1608 cut-off events. [2025-03-13 21:51:46,369 INFO L125 PetriNetUnfolderBase]: For 110/110 co-relation queries the response was YES. [2025-03-13 21:51:46,371 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3214 conditions, 1608 events. 1039/1608 cut-off events. For 110/110 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 6430 event pairs, 506 based on Foata normal form. 0/1363 useless extension candidates. Maximal degree in co-relation 2432. Up to 877 conditions per place. [2025-03-13 21:51:46,375 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 37 selfloop transitions, 10 changer transitions 41/93 dead transitions. [2025-03-13 21:51:46,375 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 93 transitions, 457 flow [2025-03-13 21:51:46,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-03-13 21:51:46,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-03-13 21:51:46,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 168 transitions. [2025-03-13 21:51:46,377 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4307692307692308 [2025-03-13 21:51:46,377 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 10 states and 168 transitions. [2025-03-13 21:51:46,377 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 93 transitions, 457 flow [2025-03-13 21:51:46,379 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 93 transitions, 455 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-03-13 21:51:46,381 INFO L231 Difference]: Finished difference. Result has 53 places, 42 transitions, 179 flow [2025-03-13 21:51:46,381 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=121, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=179, PETRI_PLACES=53, PETRI_TRANSITIONS=42} [2025-03-13 21:51:46,381 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 15 predicate places. [2025-03-13 21:51:46,382 INFO L471 AbstractCegarLoop]: Abstraction has has 53 places, 42 transitions, 179 flow [2025-03-13 21:51:46,382 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 11.083333333333334) internal successors, (133), 12 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:46,382 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:46,382 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:46,389 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2025-03-13 21:51:46,587 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:46,587 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:46,587 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:46,588 INFO L85 PathProgramCache]: Analyzing trace with hash -1354039615, now seen corresponding path program 2 times [2025-03-13 21:51:46,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:46,588 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1489349479] [2025-03-13 21:51:46,588 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-13 21:51:46,588 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:46,599 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:46,609 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 27 of 33 statements. [2025-03-13 21:51:46,609 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-13 21:51:46,609 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:46,667 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-13 21:51:46,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:46,667 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1489349479] [2025-03-13 21:51:46,667 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1489349479] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:46,667 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:46,667 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:51:46,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1163335829] [2025-03-13 21:51:46,667 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:46,668 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:51:46,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:46,668 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:51:46,668 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:51:46,676 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:46,677 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 42 transitions, 179 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:46,677 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:46,677 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:46,677 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:46,943 INFO L124 PetriNetUnfolderBase]: 1355/2057 cut-off events. [2025-03-13 21:51:46,943 INFO L125 PetriNetUnfolderBase]: For 362/362 co-relation queries the response was YES. [2025-03-13 21:51:46,946 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4394 conditions, 2057 events. 1355/2057 cut-off events. For 362/362 co-relation queries the response was YES. Maximal size of possible extension queue 87. Compared 9533 event pairs, 550 based on Foata normal form. 13/1835 useless extension candidates. Maximal degree in co-relation 4358. Up to 1082 conditions per place. [2025-03-13 21:51:46,952 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 67 selfloop transitions, 3 changer transitions 14/89 dead transitions. [2025-03-13 21:51:46,952 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 89 transitions, 475 flow [2025-03-13 21:51:46,952 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-13 21:51:46,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-13 21:51:46,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 116 transitions. [2025-03-13 21:51:46,953 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5948717948717949 [2025-03-13 21:51:46,953 INFO L175 Difference]: Start difference. First operand has 53 places, 42 transitions, 179 flow. Second operand 5 states and 116 transitions. [2025-03-13 21:51:46,953 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 89 transitions, 475 flow [2025-03-13 21:51:46,960 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 89 transitions, 443 flow, removed 13 selfloop flow, removed 5 redundant places. [2025-03-13 21:51:46,962 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2025-03-13 21:51:46,962 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=177, PETRI_PLACES=50, PETRI_TRANSITIONS=44} [2025-03-13 21:51:46,962 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2025-03-13 21:51:46,963 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2025-03-13 21:51:46,963 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:46,963 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:46,963 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:46,963 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-03-13 21:51:46,964 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:46,964 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:46,964 INFO L85 PathProgramCache]: Analyzing trace with hash 1197437667, now seen corresponding path program 3 times [2025-03-13 21:51:46,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:46,964 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1045132953] [2025-03-13 21:51:46,964 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-13 21:51:46,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:46,977 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:47,001 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-13 21:51:47,002 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-03-13 21:51:47,002 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:47,074 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-13 21:51:47,074 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:47,074 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1045132953] [2025-03-13 21:51:47,074 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1045132953] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:47,075 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:47,075 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:51:47,075 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1280291623] [2025-03-13 21:51:47,075 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:47,075 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:51:47,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:47,076 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:51:47,076 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:51:47,082 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:47,082 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 44 transitions, 177 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:47,082 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:47,082 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:47,082 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:47,393 INFO L124 PetriNetUnfolderBase]: 2313/3650 cut-off events. [2025-03-13 21:51:47,393 INFO L125 PetriNetUnfolderBase]: For 1971/1971 co-relation queries the response was YES. [2025-03-13 21:51:47,399 INFO L83 FinitePrefix]: Finished finitePrefix Result has 8699 conditions, 3650 events. 2313/3650 cut-off events. For 1971/1971 co-relation queries the response was YES. Maximal size of possible extension queue 137. Compared 19265 event pairs, 930 based on Foata normal form. 14/3402 useless extension candidates. Maximal degree in co-relation 8666. Up to 1828 conditions per place. [2025-03-13 21:51:47,412 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 71 selfloop transitions, 3 changer transitions 13/92 dead transitions. [2025-03-13 21:51:47,413 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 92 transitions, 522 flow [2025-03-13 21:51:47,413 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-03-13 21:51:47,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-03-13 21:51:47,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 111 transitions. [2025-03-13 21:51:47,414 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5692307692307692 [2025-03-13 21:51:47,414 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 111 transitions. [2025-03-13 21:51:47,414 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 92 transitions, 522 flow [2025-03-13 21:51:47,420 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 92 transitions, 500 flow, removed 7 selfloop flow, removed 2 redundant places. [2025-03-13 21:51:47,421 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2025-03-13 21:51:47,421 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=171, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=193, PETRI_PLACES=54, PETRI_TRANSITIONS=46} [2025-03-13 21:51:47,422 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2025-03-13 21:51:47,422 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2025-03-13 21:51:47,422 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:47,422 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:47,422 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:47,422 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-03-13 21:51:47,423 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:47,423 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:47,423 INFO L85 PathProgramCache]: Analyzing trace with hash -2048763945, now seen corresponding path program 4 times [2025-03-13 21:51:47,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:47,423 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [456861875] [2025-03-13 21:51:47,423 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-13 21:51:47,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:47,432 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:47,434 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 21 of 33 statements. [2025-03-13 21:51:47,435 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-13 21:51:47,435 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:47,463 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-03-13 21:51:47,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:47,463 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [456861875] [2025-03-13 21:51:47,463 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [456861875] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-13 21:51:47,463 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-13 21:51:47,463 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-03-13 21:51:47,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1608601999] [2025-03-13 21:51:47,464 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:47,464 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-03-13 21:51:47,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:47,464 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-03-13 21:51:47,464 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-03-13 21:51:47,469 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:47,469 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 46 transitions, 193 flow. Second operand has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:47,470 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:47,470 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:47,470 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:47,919 INFO L124 PetriNetUnfolderBase]: 3115/4751 cut-off events. [2025-03-13 21:51:47,919 INFO L125 PetriNetUnfolderBase]: For 3212/3212 co-relation queries the response was YES. [2025-03-13 21:51:47,928 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12209 conditions, 4751 events. 3115/4751 cut-off events. For 3212/3212 co-relation queries the response was YES. Maximal size of possible extension queue 186. Compared 25479 event pairs, 1188 based on Foata normal form. 46/4440 useless extension candidates. Maximal degree in co-relation 12174. Up to 2234 conditions per place. [2025-03-13 21:51:47,946 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 102 selfloop transitions, 16 changer transitions 0/123 dead transitions. [2025-03-13 21:51:47,946 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 123 transitions, 719 flow [2025-03-13 21:51:47,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-13 21:51:47,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-03-13 21:51:47,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 159 transitions. [2025-03-13 21:51:47,949 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5096153846153846 [2025-03-13 21:51:47,949 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 159 transitions. [2025-03-13 21:51:47,949 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 123 transitions, 719 flow [2025-03-13 21:51:47,957 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 123 transitions, 699 flow, removed 3 selfloop flow, removed 2 redundant places. [2025-03-13 21:51:47,959 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2025-03-13 21:51:47,959 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=189, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=301, PETRI_PLACES=61, PETRI_TRANSITIONS=59} [2025-03-13 21:51:47,960 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2025-03-13 21:51:47,960 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2025-03-13 21:51:47,961 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 13.4) internal successors, (67), 5 states have internal predecessors, (67), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:47,962 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:47,962 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:47,962 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-03-13 21:51:47,962 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:47,962 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:47,962 INFO L85 PathProgramCache]: Analyzing trace with hash -1181982431, now seen corresponding path program 5 times [2025-03-13 21:51:47,962 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:47,964 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [740890167] [2025-03-13 21:51:47,964 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-13 21:51:47,964 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:47,985 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:48,006 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-13 21:51:48,006 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-13 21:51:48,006 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:48,104 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-13 21:51:48,105 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:48,105 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [740890167] [2025-03-13 21:51:48,105 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [740890167] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:48,105 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [434376656] [2025-03-13 21:51:48,105 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-13 21:51:48,105 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:48,105 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:48,107 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-13 21:51:48,109 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-03-13 21:51:48,165 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-03-13 21:51:48,200 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-03-13 21:51:48,201 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-13 21:51:48,201 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:48,204 INFO L256 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-13 21:51:48,206 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:48,257 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-13 21:51:48,258 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-13 21:51:48,307 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-03-13 21:51:48,308 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [434376656] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:48,308 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-13 21:51:48,308 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-13 21:51:48,308 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [450150702] [2025-03-13 21:51:48,308 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:48,308 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-13 21:51:48,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:48,309 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-13 21:51:48,309 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2025-03-13 21:51:48,316 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-03-13 21:51:48,317 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 flow. Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:48,317 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:48,317 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-03-13 21:51:48,317 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:48,547 INFO L124 PetriNetUnfolderBase]: 1843/2907 cut-off events. [2025-03-13 21:51:48,548 INFO L125 PetriNetUnfolderBase]: For 4812/4905 co-relation queries the response was YES. [2025-03-13 21:51:48,554 INFO L83 FinitePrefix]: Finished finitePrefix Result has 8232 conditions, 2907 events. 1843/2907 cut-off events. For 4812/4905 co-relation queries the response was YES. Maximal size of possible extension queue 124. Compared 14893 event pairs, 850 based on Foata normal form. 320/3092 useless extension candidates. Maximal degree in co-relation 8195. Up to 1815 conditions per place. [2025-03-13 21:51:48,562 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 54 selfloop transitions, 9 changer transitions 0/69 dead transitions. [2025-03-13 21:51:48,562 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 69 transitions, 433 flow [2025-03-13 21:51:48,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-13 21:51:48,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-13 21:51:48,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2025-03-13 21:51:48,563 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.43162393162393164 [2025-03-13 21:51:48,563 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 6 states and 101 transitions. [2025-03-13 21:51:48,563 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 69 transitions, 433 flow [2025-03-13 21:51:48,568 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 69 transitions, 423 flow, removed 2 selfloop flow, removed 2 redundant places. [2025-03-13 21:51:48,569 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 267 flow [2025-03-13 21:51:48,569 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=249, PETRI_DIFFERENCE_MINUEND_PLACES=58, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=9, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=267, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-03-13 21:51:48,570 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-13 21:51:48,570 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 267 flow [2025-03-13 21:51:48,570 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:48,570 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:48,570 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:48,576 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2025-03-13 21:51:48,771 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2025-03-13 21:51:48,771 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:48,772 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:48,773 INFO L85 PathProgramCache]: Analyzing trace with hash 723441540, now seen corresponding path program 1 times [2025-03-13 21:51:48,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:48,773 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [25573461] [2025-03-13 21:51:48,773 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:48,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:48,781 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-13 21:51:48,788 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-13 21:51:48,788 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:48,788 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:48,892 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-13 21:51:48,893 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:48,893 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [25573461] [2025-03-13 21:51:48,893 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [25573461] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:48,893 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [701383236] [2025-03-13 21:51:48,893 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:48,893 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:48,893 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:48,895 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-13 21:51:48,896 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-03-13 21:51:48,969 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-03-13 21:51:48,995 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-03-13 21:51:48,995 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:48,995 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:48,997 INFO L256 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-13 21:51:48,998 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:49,063 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-13 21:51:49,063 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-13 21:51:49,114 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-03-13 21:51:49,114 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [701383236] provided 1 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:49,114 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-03-13 21:51:49,115 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-03-13 21:51:49,115 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [84737956] [2025-03-13 21:51:49,115 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-13 21:51:49,115 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-03-13 21:51:49,115 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-13 21:51:49,115 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-13 21:51:49,116 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2025-03-13 21:51:49,121 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 8 out of 39 [2025-03-13 21:51:49,121 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 54 transitions, 267 flow. Second operand has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:49,121 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-03-13 21:51:49,121 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 8 of 39 [2025-03-13 21:51:49,121 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-03-13 21:51:49,359 INFO L124 PetriNetUnfolderBase]: 2134/3139 cut-off events. [2025-03-13 21:51:49,359 INFO L125 PetriNetUnfolderBase]: For 4595/4651 co-relation queries the response was YES. [2025-03-13 21:51:49,364 INFO L83 FinitePrefix]: Finished finitePrefix Result has 9269 conditions, 3139 events. 2134/3139 cut-off events. For 4595/4651 co-relation queries the response was YES. Maximal size of possible extension queue 126. Compared 14943 event pairs, 491 based on Foata normal form. 111/3143 useless extension candidates. Maximal degree in co-relation 9229. Up to 1851 conditions per place. [2025-03-13 21:51:49,375 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 65 selfloop transitions, 7 changer transitions 0/77 dead transitions. [2025-03-13 21:51:49,375 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 77 transitions, 529 flow [2025-03-13 21:51:49,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-13 21:51:49,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-03-13 21:51:49,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2025-03-13 21:51:49,376 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4017094017094017 [2025-03-13 21:51:49,376 INFO L175 Difference]: Start difference. First operand has 63 places, 54 transitions, 267 flow. Second operand 6 states and 94 transitions. [2025-03-13 21:51:49,377 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 77 transitions, 529 flow [2025-03-13 21:51:49,382 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 77 transitions, 491 flow, removed 5 selfloop flow, removed 5 redundant places. [2025-03-13 21:51:49,383 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 262 flow [2025-03-13 21:51:49,383 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=239, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=53, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=262, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-03-13 21:51:49,384 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-03-13 21:51:49,384 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 262 flow [2025-03-13 21:51:49,384 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 12.666666666666666) internal successors, (76), 6 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-13 21:51:49,384 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-03-13 21:51:49,385 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-13 21:51:49,391 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-13 21:51:49,589 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:49,589 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-03-13 21:51:49,590 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-13 21:51:49,590 INFO L85 PathProgramCache]: Analyzing trace with hash 257271808, now seen corresponding path program 1 times [2025-03-13 21:51:49,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-13 21:51:49,590 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440354511] [2025-03-13 21:51:49,590 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:49,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-13 21:51:49,601 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-13 21:51:49,659 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-13 21:51:49,660 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:49,660 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:51,457 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-03-13 21:51:51,458 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-13 21:51:51,458 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1440354511] [2025-03-13 21:51:51,458 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1440354511] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-13 21:51:51,458 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1204404446] [2025-03-13 21:51:51,458 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-13 21:51:51,458 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-13 21:51:51,459 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-13 21:51:51,460 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-13 21:51:51,463 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-03-13 21:51:51,523 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-03-13 21:51:51,553 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-03-13 21:51:51,553 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-13 21:51:51,553 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-13 21:51:51,557 INFO L256 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 23 conjuncts are in the unsatisfiable core [2025-03-13 21:51:51,559 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-13 21:51:51,912 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2025-03-13 21:51:51,912 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 135 treesize of output 171 [2025-03-13 21:52:03,448 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse524 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse524 c_~C~0.offset)) (.cse50 (select .cse524 .cse109)) (.cse523 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse523)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse158 (+ .cse7 c_~minb~0)) (.cse171 (* 2 c_~minb~0)) (.cse1 (select .cse524 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse171 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse523 .cse1)) (.cse8 (<= .cse158 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse342 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse522 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse521 (select .cse522 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse521) (<= (+ .cse521 c_~minb~0 1) .cse1) (<= (+ .cse521 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse522 ~A~0.offset) c_~minb~0)) (= (+ .cse521 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse171)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse361 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse520 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse519 (select .cse520 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse519 c_~minb~0)) (<= (+ .cse519 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse520 ~A~0.offset) c_~minb~0)) (= (+ .cse519 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse129 (select |c_#memory_int#1| ~A~0.base)) (.cse125 (+ ~A~0.offset 4))) (let ((.cse126 (select .cse129 .cse125)) (.cse127 (select |c_#memory_int#1| ~B~0.base)) (.cse128 (+ ~B~0.offset 4))) (and (not (= .cse125 ~B~0.offset)) (<= .cse14 (+ .cse126 c_~minb~0)) (= (+ .cse126 (select .cse127 .cse128)) .cse1) (<= (+ .cse126 c_~minb~0 1) .cse1) (= (select .cse127 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse129 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse128))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse133 (+ ~A~0.offset 4)) (.cse134 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse130 (select .cse134 ~A~0.offset)) (.cse131 (select .cse134 .cse133))) (and (= c_~mina~0 .cse130) (<= (+ .cse130 1) .cse131) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse132 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse131 (select .cse132 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse132 ~B~0.offset) .cse130))))) (not (= .cse133 ~B~0.offset)))) (= (* 2 .cse131) .cse1) (= (+ .cse131 c_~minb~0) .cse1) (<= (+ .cse130 .cse1) (+ c_~minc~0 .cse131)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse136 (select .cse137 ~A~0.offset)) (.cse135 (select .cse137 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse135) (= (+ .cse135 c_~minb~0) .cse1) (<= .cse135 .cse136) (<= (+ .cse136 .cse1) (+ c_~minc~0 .cse135)) (= (+ .cse135 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse139 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse138 (select .cse139 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse138) (<= (+ .cse138 c_~minb~0 1) .cse1) (<= (+ .cse138 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse139 ~A~0.offset) c_~minb~0)) (= (+ .cse138 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse140 (select .cse142 ~A~0.offset)) (.cse141 (select .cse142 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse140)) (= c_~mina~0 .cse141) (= (+ .cse141 c_~minb~0) .cse1) (<= .cse141 .cse140) (<= (+ .cse140 .cse1) (+ c_~minc~0 .cse141)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse143 (select .cse146 ~A~0.offset)) (.cse144 (select .cse146 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse143) (= c_~minc~0 (+ .cse144 .cse143)) (<= (+ .cse143 1) .cse144) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse145 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse144 (select .cse145 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) .cse143))))) (= (+ .cse144 c_~minb~0) .cse1) (<= (+ .cse143 .cse1) (+ c_~minc~0 .cse144)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse150 (+ ~A~0.offset 4)) (.cse151 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse149 (select .cse151 ~A~0.offset)) (.cse147 (select .cse151 .cse150))) (and (= c_~mina~0 .cse147) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse147 (select .cse148 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse148 ~B~0.offset) .cse149))))) (not (= .cse150 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse147 c_~minb~0) .cse1) (<= .cse147 .cse149) (<= (+ .cse149 .cse1) (+ c_~minc~0 .cse147)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse153 (select .cse154 ~A~0.offset)) (.cse152 (select .cse154 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse152) (= (+ .cse152 c_~minb~0) .cse1) (<= .cse152 .cse153) (<= (+ .cse153 .cse1) (+ c_~minc~0 .cse152)) (= (+ .cse152 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse157 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse155 (select .cse157 (+ ~A~0.offset 4)))) (and (= (+ .cse155 (select .cse156 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse155) (<= (+ .cse155 c_~minb~0 1) .cse1) (<= (+ .cse155 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse157 ~A~0.offset) c_~minb~0)))))) (= (select .cse156 ~B~0.offset) c_~minb~0)))))) (and (= c_~minc~0 .cse158) (let ((.cse189 (div (* (- 1) .cse1) 2))) (let ((.cse162 (+ c_~minb~0 1)) (.cse184 (+ .cse189 .cse1))) (let ((.cse159 (<= (+ .cse171 1) .cse1)) (.cse160 (<= .cse14 .cse171)) (.cse165 (<= .cse162 .cse184)) (.cse166 (= (mod .cse1 2) 0))) (or (and .cse159 .cse10 .cse160 .cse49) (exists ((~B~0.offset Int)) (let ((.cse161 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse161)) (exists ((~B~0.base Int)) (let ((.cse164 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse163 (select .cse164 .cse161))) (and (<= .cse162 .cse163) (<= .cse11 (+ c_~minc~0 .cse163)) (= (+ c_~mina~0 .cse163) .cse1) (= (select .cse164 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse165 .cse10 .cse166) (and .cse159 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse167 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse167 ~B~0.offset) c_~minb~0) (= (+ (select .cse167 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse168 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse168)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse169 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse169 ~B~0.offset) c_~minb~0) (= (+ (select .cse169 .cse168) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse170 ~B~0.offset) c_~minb~0) (= (+ (select .cse170 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse171 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse160))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse172 (select .cse173 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse172) (<= .cse11 (+ c_~minc~0 .cse172)) (= (+ c_~mina~0 .cse172) .cse1) (= (select .cse173 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse175 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse174 (select .cse175 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse174) (<= .cse11 (+ c_~minc~0 .cse174)) (= (+ c_~mina~0 .cse174) .cse1) (= (select .cse175 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse176 (select .cse177 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse176 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse176) (= (select .cse177 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse179 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse178 (select .cse179 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse178 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse178) (= (select .cse179 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse181 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse180 (select .cse181 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse180) (<= .cse11 (+ c_~minc~0 .cse180)) (= (+ c_~mina~0 .cse180) .cse1) (= (select .cse181 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (and .cse165 (let ((.cse185 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse192 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse192 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))))) (or (and (or (exists ((~B~0.offset Int)) (let ((.cse182 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse182)) (exists ((~B~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse183 .cse182) .cse184) (= (select .cse183 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) .cse185) .cse113) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse186 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse186 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse187 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse187 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse185 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse188 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse188 (+ ~B~0.offset 4)) .cse184) (= (select .cse188 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse189 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse190 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse190)) (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse191 .cse190) .cse184) (= (select .cse191 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or (and (<= c_~minb~0 (+ c_~minc~0 .cse189)) (= (+ .cse189 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse189 1) c_~minb~0))) .cse166) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse194 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse193 (select .cse194 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse193) (= c_~minc~0 (+ .cse193 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse193)) (= (+ c_~mina~0 .cse193) .cse1) (= (select .cse194 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse195 (select .cse196 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse195 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse195) (= (select .cse196 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse198 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse197 (select .cse198 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse197 1) .cse11) (<= .cse162 .cse197) (= c_~minc~0 (+ .cse197 c_~minb~0)) (= (select .cse198 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base)) (.cse200 (+ ~B~0.offset 4))) (let ((.cse199 (select .cse201 .cse200))) (and (<= (+ c_~minc~0 .cse199 1) .cse11) (<= .cse162 .cse199) (not (= c_~C~0.offset .cse200)) (= (select .cse201 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse205 (+ ~A~0.offset 4)) (.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse202 (select .cse206 ~A~0.offset)) (.cse203 (select .cse206 .cse205))) (and (= c_~mina~0 .cse202) (<= (+ .cse202 1) .cse203) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse204 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse203 (select .cse204 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse204 ~B~0.offset) .cse202))))) (not (= .cse205 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse203 c_~minb~0) .cse1) (<= (+ .cse202 .cse1) (+ c_~minc~0 .cse203)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse209 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse207 (select .cse209 (+ ~A~0.offset 4))) (.cse208 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse207 c_~minb~0)) (= (+ .cse207 (select .cse208 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse207 c_~minb~0 1) .cse1) (= (select .cse208 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse209 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse212 (+ ~A~0.offset 4)) (.cse214 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse211 (select .cse214 ~A~0.offset)) (.cse210 (select .cse214 .cse212))) (and (= (+ .cse210 .cse211) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse212 ~B~0.offset)) (= (+ .cse210 (select .cse213 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse213 ~B~0.offset) .cse211))))) (= c_~mina~0 .cse210) (= (+ .cse210 c_~minb~0) .cse1) (<= .cse210 .cse211) (<= (+ .cse211 .cse1) (+ c_~minc~0 .cse210)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse215 (select .cse216 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse215 c_~minb~0)) (<= (+ .cse215 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse216 ~A~0.offset) c_~minb~0)) (= (+ .cse215 .cse50) .cse1) (= .cse215 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse217 (select .cse220 ~A~0.offset)) (.cse218 (select .cse220 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse217) (<= (+ .cse217 1) .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse219 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse219 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse219 ~B~0.offset) .cse217))))) (= (+ .cse218 c_~minb~0) .cse1) (<= (+ .cse217 .cse1) (+ c_~minc~0 .cse218)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse224 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse221 (select .cse224 (+ ~A~0.offset 4))) (.cse222 (select .cse224 ~A~0.offset))) (and (= c_~minc~0 (+ .cse221 .cse222)) (= c_~mina~0 .cse221) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse221 (select .cse223 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse223 ~B~0.offset) .cse222))))) (= (* 2 .cse221) .cse1) (= (+ .cse221 c_~minb~0) .cse1) (<= .cse221 .cse222))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse225 (select .cse228 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse225) (<= (+ .cse225 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse227 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse225 (select .cse226 .cse227)) .cse1) (= (select .cse226 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse227))))) (<= (+ .cse225 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse228 ~A~0.offset) c_~minb~0)) (= .cse225 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse229 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse230 (+ ~A~0.offset 4))) (and (not (= .cse230 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse231 (select .cse232 .cse230))) (and (= .cse11 (+ c_~minc~0 .cse231)) (= (+ .cse231 (select .cse229 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse231) (<= (+ .cse231 c_~minb~0 1) .cse1) (<= (+ .cse231 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse232 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse233 (select .cse237 ~A~0.offset)) (.cse234 (select .cse237 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse233) (exists ((~B~0.offset Int)) (let ((.cse236 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse234 (select .cse235 .cse236)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse233))))) (not (= ~A~0.offset .cse236))))) (= c_~minc~0 (+ .cse234 .cse233)) (<= (+ .cse233 1) .cse234) (= (* 2 .cse234) .cse1) (= (+ .cse234 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse242 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse238 (select .cse242 ~A~0.offset)) (.cse239 (select .cse242 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse238) (exists ((~B~0.offset Int)) (let ((.cse241 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse240 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse239 (select .cse240 .cse241)) .cse1) (= c_~minc~0 (+ (select .cse240 ~B~0.offset) .cse238))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse241))))) (= c_~minc~0 (+ .cse239 .cse238)) (<= (+ .cse238 1) .cse239) (= (* 2 .cse239) .cse1) (= (+ .cse239 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse247 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse243 (select .cse247 .cse245)) (.cse244 (select .cse247 ~A~0.offset))) (and (= (+ .cse243 .cse244) .cse1) (= c_~mina~0 .cse243) (= (* 2 .cse243) .cse1) (= (+ .cse243 c_~minb~0) .cse1) (<= (+ .cse244 .cse1) (+ c_~minc~0 .cse243)) (exists ((~B~0.offset Int)) (and (not (= .cse245 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse246 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse243 (select .cse246 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse246 ~B~0.offset) .cse244))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~A~0.base)) (.cse248 (+ ~A~0.offset 4))) (let ((.cse249 (select .cse251 .cse248)) (.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse248 ~B~0.offset)) (<= .cse14 (+ .cse249 c_~minb~0)) (= (+ .cse249 (select .cse250 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse249 c_~minb~0 1) .cse1) (= (select .cse250 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse251 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse252 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse271 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse271 ~B~0.offset) .cse7)))))) (.cse261 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse266 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse270 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse270 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse270 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse267 (exists ((~B~0.offset Int)) (let ((.cse268 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse268)) (exists ((~B~0.base Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse269 .cse268) c_~minb~0) (= c_~minc~0 (+ (select .cse269 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse252 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse253 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse257 (exists ((~B~0.offset Int)) (let ((.cse259 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse259)) (exists ((~B~0.base Int)) (let ((.cse260 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse260 .cse259) c_~minb~0) (= c_~minc~0 (+ (select .cse260 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse254 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse254 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse254 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse252 (exists ((~B~0.offset Int)) (let ((.cse255 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse255)) (exists ((~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse256 .cse255) c_~minb~0) (= c_~minc~0 (+ (select .cse256 ~B~0.offset) .cse7)))))))) .cse257)) .cse252 .cse257 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse258 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse258 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse261) (and .cse261 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse263 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse263)) (exists ((~B~0.base Int)) (let ((.cse264 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse264 .cse263) c_~minb~0) (= c_~minc~0 (+ (select .cse264 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse265 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse265 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse266)) .cse266 .cse267)) .cse266 .cse267)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse158) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse274 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse275 (select |c_#memory_int#1| ~A~0.base)) (.cse272 (+ ~A~0.offset 4))) (let ((.cse273 (select .cse275 .cse272))) (and (not (= .cse272 ~B~0.offset)) (= (+ .cse273 (select .cse274 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse273) (<= (+ .cse273 c_~minb~0 1) .cse1) (<= (+ .cse273 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse275 ~A~0.offset) c_~minb~0)))))) (= (select .cse274 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse279 ~A~0.offset)) (.cse276 (select .cse279 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse276 .cse277)) (= c_~mina~0 .cse276) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse276 (select .cse278 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse278 ~B~0.offset) .cse277))))) (= (+ .cse276 c_~minb~0) .cse1) (<= .cse276 .cse277) (<= (+ .cse277 .cse1) (+ c_~minc~0 .cse276)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse281 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse281 ~A~0.offset) c_~minb~0)) (= (+ .cse280 .cse50) .cse1) (= .cse280 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse282 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse286 (+ ~A~0.offset 4)) (.cse284 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse285 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse283 (select .cse285 .cse286))) (and (= (+ .cse283 (select .cse282 .cse284)) .cse1) (= c_~mina~0 .cse283) (<= (+ .cse283 c_~minb~0 1) .cse1) (<= (+ .cse283 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse285 ~A~0.offset) c_~minb~0)))))) (not (= .cse286 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse284)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse289 ~A~0.offset)) (.cse288 (select .cse289 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse287) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse287 1) .cse288) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)) (= (+ .cse288 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse295 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse290 (select .cse295 ~A~0.offset)) (.cse291 (select .cse295 .cse294))) (and (= c_~mina~0 .cse290) (exists ((~B~0.offset Int)) (let ((.cse293 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse292 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse291 (select .cse292 .cse293)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse292 ~B~0.offset) .cse290))))) (not (= .cse294 ~B~0.offset)) (not (= ~A~0.offset .cse293))))) (<= (+ .cse290 1) .cse291) (= (* 2 .cse291) .cse1) (= (+ .cse291 c_~minb~0) .cse1) (<= (+ .cse290 .cse1) (+ c_~minc~0 .cse291)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse297 (+ ~A~0.offset 4)) (.cse301 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse296 (select .cse301 ~A~0.offset)) (.cse298 (select .cse301 .cse297))) (and (= c_~mina~0 .cse296) (exists ((~B~0.offset Int)) (let ((.cse300 (+ ~B~0.offset 4))) (and (not (= .cse297 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse299 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse298 (select .cse299 .cse300)) .cse1) (= c_~minc~0 (+ (select .cse299 ~B~0.offset) .cse296))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse300))))) (<= (+ .cse296 1) .cse298) (= (+ .cse298 c_~minb~0) .cse1) (<= (+ .cse296 .cse1) (+ c_~minc~0 .cse298)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse302 (select .cse306 ~A~0.offset)) (.cse303 (select .cse306 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse302) (exists ((~B~0.offset Int)) (let ((.cse305 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse304 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse303 (select .cse304 .cse305)) .cse1) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse302))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse305))))) (= c_~minc~0 (+ .cse303 .cse302)) (<= (+ .cse302 1) .cse303) (= (+ .cse303 c_~minb~0) .cse1) (<= (+ .cse302 .cse1) (+ c_~minc~0 .cse303)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse308 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse307 (select .cse308 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse307) (<= (+ .cse307 c_~minb~0 1) .cse1) (<= (+ .cse307 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse308 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse310 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse309 (select .cse310 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse309)) (= c_~mina~0 .cse309) (<= (+ .cse309 c_~minb~0 1) .cse1) (= (* 2 .cse309) .cse1) (= c_~minc~0 (+ (select .cse310 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse311 (select .cse312 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse311 c_~minb~0)) (<= (+ .cse311 c_~minb~0 1) .cse1) (= (* 2 .cse311) .cse1) (= c_~minc~0 (+ (select .cse312 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse313 (select .cse314 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse313)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse313 c_~minb~0)) (<= (+ .cse313 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse314 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse316 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse315 (select .cse316 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse315)) (= c_~mina~0 .cse315) (<= (+ .cse315 c_~minb~0 1) .cse1) (<= (+ .cse315 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse316 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse317 (select .cse318 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse317 c_~minb~0)) (<= (+ .cse317 c_~minb~0 1) .cse1) (= (* 2 .cse317) .cse1) (= c_~minc~0 (+ (select .cse318 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse320 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse319 (select .cse320 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse319) (<= (+ .cse319 c_~minb~0 1) .cse1) (<= (+ .cse319 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse320 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse322 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse321 (select .cse322 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse321) (<= (+ .cse321 c_~minb~0 1) .cse1) (= (* 2 .cse321) .cse1) (<= (+ .cse321 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse322 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse324 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse323 (select .cse324 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse323 c_~minb~0)) (<= (+ .cse323 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse324 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse325 (select .cse326 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse325 c_~minb~0)) (<= (+ .cse325 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse326 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse328 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse327 (select .cse328 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse327 c_~minb~0)) (<= (+ .cse327 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse328 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse330 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse329 (select .cse330 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse329) (<= (+ .cse329 c_~minb~0 1) .cse1) (= (* 2 .cse329) .cse1) (<= (+ .cse329 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse330 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse331) (<= (+ .cse331 c_~minb~0 1) .cse1) (<= (+ .cse331 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse332 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse336 (select .cse338 ~A~0.offset)) (.cse337 (select .cse338 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse336) (<= (+ .cse336 1) .cse337) (= (+ .cse337 c_~minb~0) .cse1) (<= (+ .cse336 .cse1) (+ c_~minc~0 .cse337)) (= (+ .cse337 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse341 ~A~0.offset)) (.cse339 (select .cse341 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse339) (= (+ .cse339 c_~minb~0) .cse1) (<= .cse339 .cse340) (<= (+ .cse340 .cse1) (+ c_~minc~0 .cse339)) (= c_~minc~0 (* 2 .cse340)) (= (+ .cse339 .cse50) .cse1))))) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse345 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse343 (select .cse345 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse344 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse343) (<= (+ .cse343 c_~minb~0 1) .cse1) (<= (+ .cse343 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse345 ~A~0.offset) c_~minb~0)) (= .cse343 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse349 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse348 (select .cse349 ~A~0.offset)) (.cse346 (select .cse349 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse347 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse346 (select .cse347 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse347 ~B~0.offset) .cse348))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse346 .cse348)) (= c_~mina~0 .cse346) (= (+ .cse346 c_~minb~0) .cse1) (<= .cse346 .cse348) (<= (+ .cse348 .cse1) (+ c_~minc~0 .cse346)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse353 (+ ~A~0.offset 4)) (.cse354 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse354 ~A~0.offset)) (.cse350 (select .cse354 .cse353))) (and (= c_~mina~0 .cse350) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse351 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse350 (select .cse351 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse352))))) (not (= .cse353 ~B~0.offset)))) (= (* 2 .cse350) .cse1) (= (+ .cse350 c_~minb~0) .cse1) (<= .cse350 .cse352) (<= (+ .cse352 .cse1) (+ c_~minc~0 .cse350)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse355 (select .cse356 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse355) (<= (+ .cse355 c_~minb~0 1) .cse1) (<= (+ .cse355 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse356 ~A~0.offset) c_~minb~0)) (= (+ .cse355 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse358 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse357 (select .cse358 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse357 c_~minb~0)) (<= (+ .cse357 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse358 ~A~0.offset) c_~minb~0)) (= (+ .cse357 .cse50) .cse1))))) .cse10) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse360 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse359 (select .cse360 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse359) (<= (+ .cse359 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse360 ~A~0.offset) c_~minb~0)) (= (+ .cse359 .cse50) .cse1) (= .cse359 c_~minb~0))))) .cse361) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse366 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse363 (select .cse366 (+ ~A~0.offset 4))) (.cse365 (select .cse366 ~A~0.offset))) (let ((.cse362 (+ .cse363 .cse365))) (and (= .cse362 .cse1) (= c_~minc~0 .cse362) (= c_~mina~0 .cse363) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse364 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse363 (select .cse364 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse364 ~B~0.offset) .cse365))))) (= (+ .cse363 c_~minb~0) .cse1) (<= .cse363 .cse365) (<= (+ .cse365 .cse1) (+ c_~minc~0 .cse363))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse367 (select .cse368 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse367) (<= (+ .cse367 c_~minb~0 1) .cse1) (<= (+ .cse367 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)) (= (+ .cse367 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse369) (<= (+ .cse369 c_~minb~0 1) .cse1) (= (* 2 .cse369) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse370 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse369 (select .cse370 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse370 ~B~0.offset) c_~minb~0)))) (<= (+ .cse369 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse371 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse372 (select .cse374 ~A~0.offset)) (.cse373 (select .cse374 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse372)) (= c_~mina~0 .cse372) (<= (+ .cse372 1) .cse373) (= (+ .cse373 c_~minb~0) .cse1) (<= (+ .cse372 .cse1) (+ c_~minc~0 .cse373)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (+ ~A~0.offset 4)) (.cse379 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse376 (select .cse379 ~A~0.offset)) (.cse375 (select .cse379 .cse378))) (and (= (+ .cse375 .cse376) .cse1) (= c_~mina~0 .cse375) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse377 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse375 (select .cse377 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse377 ~B~0.offset) .cse376))))) (not (= .cse378 ~B~0.offset)))) (= (* 2 .cse375) .cse1) (= (+ .cse375 c_~minb~0) .cse1) (<= (+ .cse376 .cse1) (+ c_~minc~0 .cse375)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse381 (select |c_#memory_int#1| ~A~0.base)) (.cse382 (+ ~A~0.offset 4))) (let ((.cse380 (select .cse381 .cse382))) (and (= c_~mina~0 .cse380) (<= (+ .cse380 c_~minb~0 1) .cse1) (= (* 2 .cse380) .cse1) (<= (+ .cse380 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse381 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse384 (+ ~B~0.offset 4))) (and (not (= .cse382 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse380 (select .cse383 .cse384)) .cse1) (= (select .cse383 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse384))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse387 (select .cse388 ~A~0.offset)) (.cse385 (select .cse388 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse385) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse386 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse385 (select .cse386 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse386 ~B~0.offset) .cse387))))) (= (+ .cse385 c_~minb~0) .cse1) (<= .cse385 .cse387) (<= (+ .cse387 .cse1) (+ c_~minc~0 .cse385)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base)) (.cse389 (+ ~A~0.offset 4))) (let ((.cse390 (select .cse392 .cse389))) (and (exists ((~B~0.offset Int)) (and (not (= .cse389 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse390 (select .cse391 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse391 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse390) (<= (+ .cse390 c_~minb~0 1) .cse1) (= (* 2 .cse390) .cse1) (<= (+ .cse390 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse392 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse394 (select .cse395 ~A~0.offset)) (.cse393 (select .cse395 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse393) (= (+ .cse393 c_~minb~0) .cse1) (<= .cse393 .cse394) (<= (+ .cse394 .cse1) (+ c_~minc~0 .cse393)) (= c_~minc~0 (* 2 .cse394)) (= (+ .cse393 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base)) (.cse397 (+ ~A~0.offset 4))) (let ((.cse396 (select .cse399 .cse397))) (and (<= .cse14 (+ .cse396 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse397 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse396 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse396 c_~minb~0 1) .cse1) (= (* 2 .cse396) .cse1) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse402 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse400 (select .cse402 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse401 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse401 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse402 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse404 (select |c_#memory_int#1| ~A~0.base)) (.cse405 (+ ~A~0.offset 4))) (let ((.cse403 (select .cse404 .cse405))) (and (<= .cse14 (+ .cse403 c_~minb~0)) (<= (+ .cse403 c_~minb~0 1) .cse1) (= (* 2 .cse403) .cse1) (= c_~minc~0 (+ (select .cse404 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse407 (+ ~B~0.offset 4))) (and (not (= .cse405 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse406 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse403 (select .cse406 .cse407)) .cse1) (= (select .cse406 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse407))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~A~0.base)) (.cse409 (+ ~A~0.offset 4))) (let ((.cse408 (select .cse411 .cse409))) (and (<= .cse14 (+ .cse408 c_~minb~0)) (<= (+ .cse408 c_~minb~0 1) .cse1) (= (* 2 .cse408) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse409 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse410 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse408 (select .cse410 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse410 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse411 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#1| ~A~0.base)) (.cse413 (+ ~A~0.offset 4))) (let ((.cse412 (select .cse415 .cse413))) (and (<= .cse14 (+ .cse412 c_~minb~0)) (= (* 2 .cse412) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse413 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse412 (select .cse414 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse414 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse415 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse417 (select |c_#memory_int#1| ~A~0.base)) (.cse418 (+ ~A~0.offset 4))) (let ((.cse416 (select .cse417 .cse418))) (and (<= .cse14 (+ .cse416 c_~minb~0)) (= (* 2 .cse416) .cse1) (= c_~minc~0 (+ (select .cse417 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse420 (+ ~B~0.offset 4))) (and (not (= .cse418 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse419 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse416 (select .cse419 .cse420)) .cse1) (= (select .cse419 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse420)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse421 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse422 (select .cse421 ~B~0.offset))) (let ((.cse423 (+ .cse422 .cse50))) (and (= (+ .cse50 (select .cse421 (+ ~B~0.offset 4))) .cse1) (= (+ .cse422 .cse1) .cse48) (<= .cse1 .cse423) (<= .cse423 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse428 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse429 (select .cse428 ~B~0.offset))) (let ((.cse427 (+ .cse429 .cse50))) (and (<= .cse14 .cse427) (= (+ .cse50 (select .cse428 (+ ~B~0.offset 4))) .cse1) (= (+ .cse429 .cse1) .cse48) (<= .cse1 .cse427) (= c_~minc~0 (+ .cse429 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (+ (select .cse430 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse430 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (<= .cse431 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (+ (select .cse432 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse433) (<= .cse433 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse435 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse436 (select .cse435 ~B~0.offset))) (let ((.cse434 (+ .cse436 .cse50))) (and (<= .cse14 .cse434) (= (+ .cse50 (select .cse435 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse434) (= c_~minc~0 (+ .cse436 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (+ (select .cse437 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse438) (<= .cse438 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse440 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse441 (select .cse440 ~B~0.offset))) (let ((.cse439 (+ .cse441 .cse50))) (and (<= .cse14 .cse439) (= (+ .cse50 (select .cse440 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse439) (= c_~minc~0 (+ .cse441 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 (+ ~A~0.offset 4))) (.cse443 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse442 c_~minb~0)) (= (+ .cse442 (select .cse443 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse442 c_~minb~0 1) .cse1) (= (select .cse443 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse444 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse445 (select .cse447 ~A~0.offset)) (.cse446 (select .cse447 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse445)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse446) (= (+ .cse446 c_~minb~0) .cse1) (<= .cse446 .cse445) (<= (+ .cse445 .cse1) (+ c_~minc~0 .cse446)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse450 ~A~0.offset)) (.cse448 (select .cse450 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= .cse448 .cse449) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)) (= (+ .cse448 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse453 (+ ~A~0.offset 4)) (.cse455 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse455 ~A~0.offset)) (.cse451 (select .cse455 .cse453))) (and (= (+ .cse451 .cse452) .cse1) (= c_~mina~0 .cse452) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse453 ~B~0.offset)) (= (+ .cse451 (select .cse454 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse454 ~B~0.offset) .cse452))))) (<= (+ .cse452 1) .cse451) (= (+ .cse451 c_~minb~0) .cse1) (<= (+ .cse452 .cse1) (+ c_~minc~0 .cse451)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse456 (select .cse457 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse456 c_~minb~0)) (<= (+ .cse456 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse457 ~A~0.offset) c_~minb~0)) (= (+ .cse456 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse458 (+ ~A~0.offset 4)) (.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 ~A~0.offset)) (.cse459 (select .cse463 .cse458))) (and (exists ((~B~0.offset Int)) (let ((.cse461 (+ ~B~0.offset 4))) (and (not (= .cse458 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse460 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse459 (select .cse460 .cse461)) .cse1) (= c_~minc~0 (+ (select .cse460 ~B~0.offset) .cse462))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse461))))) (= c_~mina~0 .cse459) (= (* 2 .cse459) .cse1) (= (+ .cse459 c_~minb~0) .cse1) (<= .cse459 .cse462) (<= (+ .cse462 .cse1) (+ c_~minc~0 .cse459)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse464 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse464 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse465 (select .cse466 (+ ~A~0.offset 4)))) (and (= (+ .cse465 (select .cse464 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse465) (<= (+ .cse465 c_~minb~0 1) .cse1) (<= (+ .cse465 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse466 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse470 (select |c_#memory_int#1| ~A~0.base)) (.cse468 (+ ~A~0.offset 4))) (let ((.cse467 (select .cse470 .cse468))) (and (= c_~mina~0 .cse467) (<= (+ .cse467 c_~minb~0 1) .cse1) (= (* 2 .cse467) .cse1) (<= (+ .cse467 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse468 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse467 (select .cse469 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse469 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse470 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse475 (+ ~A~0.offset 4)) (.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse471 (select .cse476 .cse475))) (and (exists ((~B~0.offset Int)) (let ((.cse473 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse472 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse471 (select .cse472 .cse473)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse472 ~B~0.offset) .cse474))))) (not (= .cse475 ~B~0.offset)) (not (= ~A~0.offset .cse473))))) (= c_~mina~0 .cse471) (= (* 2 .cse471) .cse1) (= (+ .cse471 c_~minb~0) .cse1) (<= .cse471 .cse474) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse471)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse479 ~A~0.offset)) (.cse478 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse477)) (= c_~mina~0 .cse477) (<= (+ .cse477 1) .cse478) (= (* 2 .cse478) .cse1) (= (+ .cse478 c_~minb~0) .cse1) (<= (+ .cse477 .cse1) (+ c_~minc~0 .cse478)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse481 (select .cse482 ~A~0.offset)) (.cse480 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse480 .cse481)) (= c_~mina~0 .cse480) (= (+ .cse480 c_~minb~0) .cse1) (<= .cse480 .cse481) (<= (+ .cse481 .cse1) (+ c_~minc~0 .cse480)) (= (+ .cse480 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse486)) (= c_~mina~0 .cse487) (= (* 2 .cse487) .cse1) (= (+ .cse487 c_~minb~0) .cse1) (<= .cse487 .cse486) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse491 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse491 ~A~0.offset)) (.cse490 (select .cse491 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse489) (= c_~minc~0 (+ .cse490 .cse489)) (<= (+ .cse489 1) .cse490) (= (+ .cse490 c_~minb~0) .cse1) (<= (+ .cse489 .cse1) (+ c_~minc~0 .cse490)) (= (+ .cse490 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse493 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse492 (select .cse493 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse492 c_~minb~0)) (<= (+ .cse492 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse493 ~A~0.offset) c_~minb~0)) (= (+ .cse492 .cse50) .cse1)))))) .cse361 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 (+ ~A~0.offset 4))) (.cse495 (select .cse498 ~A~0.offset))) (let ((.cse494 (+ .cse496 .cse495))) (and (= .cse494 .cse1) (= c_~mina~0 .cse495) (= c_~minc~0 .cse494) (<= (+ .cse495 1) .cse496) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse497 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse496 (select .cse497 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse497 ~B~0.offset) .cse495))))) (= (+ .cse496 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse501 ~A~0.offset)) (.cse500 (select .cse501 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse499)) (= c_~mina~0 .cse499) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse499 1) .cse500) (= (+ .cse500 c_~minb~0) .cse1) (<= (+ .cse499 .cse1) (+ c_~minc~0 .cse500)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse502 (select .cse505 ~A~0.offset)) (.cse503 (select .cse505 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse502) (= c_~minc~0 (+ .cse503 .cse502)) (<= (+ .cse502 1) .cse503) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse503 (select .cse504 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse504 ~B~0.offset) .cse502))))) (= (* 2 .cse503) .cse1) (= (+ .cse503 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse507 (select .cse510 (+ ~A~0.offset 4))) (.cse509 (select .cse510 ~A~0.offset))) (let ((.cse506 (+ .cse507 .cse509))) (and (= .cse506 .cse1) (= c_~minc~0 .cse506) (= c_~mina~0 .cse507) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse508 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse507 (select .cse508 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse508 ~B~0.offset) .cse509))))) (= (+ .cse507 c_~minb~0) .cse1) (<= .cse507 .cse509) (<= (+ .cse509 .cse1) (+ c_~minc~0 .cse507))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse513 ~A~0.offset)) (.cse512 (select .cse513 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse511) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse511 1) .cse512) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512)) (= c_~minc~0 (* 2 .cse511)) (= (+ .cse512 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (+ ~A~0.offset 4)) (.cse518 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse514 (select .cse518 ~A~0.offset)) (.cse515 (select .cse518 .cse517))) (and (= c_~mina~0 .cse514) (<= (+ .cse514 1) .cse515) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse515 (select .cse516 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse516 ~B~0.offset) .cse514))))) (not (= .cse517 ~B~0.offset)))) (= (+ .cse515 c_~minb~0) .cse1) (<= (+ .cse514 .cse1) (+ c_~minc~0 .cse515))))))))))) is different from true [2025-03-13 21:52:16,319 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse521 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse521 c_~C~0.offset)) (.cse50 (select .cse521 .cse109)) (.cse520 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse520)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse125 (+ .cse7 c_~minb~0)) (.cse138 (* 2 c_~minb~0)) (.cse1 (select .cse521 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse138 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse520 .cse1)) (.cse8 (<= .cse125 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse339 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse519 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse518 (select .cse519 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse518) (<= (+ .cse518 c_~minb~0 1) .cse1) (<= (+ .cse518 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse519 ~A~0.offset) c_~minb~0)) (= (+ .cse518 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse138)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse358 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse516 (select .cse517 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse516 c_~minb~0)) (<= (+ .cse516 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse517 ~A~0.offset) c_~minb~0)) (= (+ .cse516 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and (= c_~minc~0 .cse125) (let ((.cse139 (div (* (- 1) .cse1) 2))) (let ((.cse129 (+ c_~minb~0 1)) (.cse141 (+ .cse139 .cse1))) (let ((.cse126 (<= (+ .cse138 1) .cse1)) (.cse127 (<= .cse14 .cse138)) (.cse132 (<= .cse129 .cse141)) (.cse133 (= (mod .cse1 2) 0))) (or (and .cse126 .cse10 .cse127 .cse49) (exists ((~B~0.offset Int)) (let ((.cse128 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse128)) (exists ((~B~0.base Int)) (let ((.cse131 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse130 (select .cse131 .cse128))) (and (<= .cse129 .cse130) (<= .cse11 (+ c_~minc~0 .cse130)) (= (+ c_~mina~0 .cse130) .cse1) (= (select .cse131 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse132 .cse10 .cse133) (and .cse126 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse134 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse134 ~B~0.offset) c_~minb~0) (= (+ (select .cse134 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse135 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse135)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse136 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse136 ~B~0.offset) c_~minb~0) (= (+ (select .cse136 .cse135) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse137 ~B~0.offset) c_~minb~0) (= (+ (select .cse137 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse138 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse127))) (and .cse132 (or (and (<= c_~minb~0 (+ c_~minc~0 .cse139)) (= (+ .cse139 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse139 1) c_~minb~0))) (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse140 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse140 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse142 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse142 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse143 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse143 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse143 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse144 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse144 (+ ~B~0.offset 4)) .cse141) (= (select .cse144 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse139 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse145 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse145)) (exists ((~B~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse146 .cse145) .cse141) (= (select .cse146 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse133) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse147 (select .cse148 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse147) (<= .cse11 (+ c_~minc~0 .cse147)) (= (+ c_~mina~0 .cse147) .cse1) (= (select .cse148 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse150 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse149 (select .cse150 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse149) (<= .cse11 (+ c_~minc~0 .cse149)) (= (+ c_~mina~0 .cse149) .cse1) (= (select .cse150 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse152 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse151 (select .cse152 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse151 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse151) (= (select .cse152 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse153 (select .cse154 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse153 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse153) (= (select .cse154 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse155 (select .cse156 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse155) (<= .cse11 (+ c_~minc~0 .cse155)) (= (+ c_~mina~0 .cse155) .cse1) (= (select .cse156 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse158 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse157 (select .cse158 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse157) (= c_~minc~0 (+ .cse157 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse157)) (= (+ c_~mina~0 .cse157) .cse1) (= (select .cse158 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse160 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse159 (select .cse160 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse159 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse159) (= (select .cse160 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse162 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse161 (select .cse162 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse161 1) .cse11) (<= .cse129 .cse161) (= c_~minc~0 (+ .cse161 c_~minb~0)) (= (select .cse162 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~B~0.base)) (.cse164 (+ ~B~0.offset 4))) (let ((.cse163 (select .cse165 .cse164))) (and (<= (+ c_~minc~0 .cse163 1) .cse11) (<= .cse129 .cse163) (not (= c_~C~0.offset .cse164)) (= (select .cse165 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~A~0.base)) (.cse166 (+ ~A~0.offset 4))) (let ((.cse167 (select .cse170 .cse166)) (.cse168 (select |c_#memory_int#1| ~B~0.base)) (.cse169 (+ ~B~0.offset 4))) (and (not (= .cse166 ~B~0.offset)) (<= .cse14 (+ .cse167 c_~minb~0)) (= (+ .cse167 (select .cse168 .cse169)) .cse1) (<= (+ .cse167 c_~minb~0 1) .cse1) (= (select .cse168 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse170 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse169))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (+ ~A~0.offset 4)) (.cse175 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse171 (select .cse175 ~A~0.offset)) (.cse172 (select .cse175 .cse174))) (and (= c_~mina~0 .cse171) (<= (+ .cse171 1) .cse172) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse172 (select .cse173 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse173 ~B~0.offset) .cse171))))) (not (= .cse174 ~B~0.offset)))) (= (* 2 .cse172) .cse1) (= (+ .cse172 c_~minb~0) .cse1) (<= (+ .cse171 .cse1) (+ c_~minc~0 .cse172)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse178 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse177 (select .cse178 ~A~0.offset)) (.cse176 (select .cse178 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse176) (= (+ .cse176 c_~minb~0) .cse1) (<= .cse176 .cse177) (<= (+ .cse177 .cse1) (+ c_~minc~0 .cse176)) (= (+ .cse176 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse180 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse179 (select .cse180 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse179) (<= (+ .cse179 c_~minb~0 1) .cse1) (<= (+ .cse179 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse180 ~A~0.offset) c_~minb~0)) (= (+ .cse179 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse181 (select .cse183 ~A~0.offset)) (.cse182 (select .cse183 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse181)) (= c_~mina~0 .cse182) (= (+ .cse182 c_~minb~0) .cse1) (<= .cse182 .cse181) (<= (+ .cse181 .cse1) (+ c_~minc~0 .cse182)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse184 (select .cse187 ~A~0.offset)) (.cse185 (select .cse187 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse184) (= c_~minc~0 (+ .cse185 .cse184)) (<= (+ .cse184 1) .cse185) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse185 (select .cse186 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse186 ~B~0.offset) .cse184))))) (= (+ .cse185 c_~minb~0) .cse1) (<= (+ .cse184 .cse1) (+ c_~minc~0 .cse185)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse191 (+ ~A~0.offset 4)) (.cse192 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse190 (select .cse192 ~A~0.offset)) (.cse188 (select .cse192 .cse191))) (and (= c_~mina~0 .cse188) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse188 (select .cse189 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse189 ~B~0.offset) .cse190))))) (not (= .cse191 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse188 c_~minb~0) .cse1) (<= .cse188 .cse190) (<= (+ .cse190 .cse1) (+ c_~minc~0 .cse188)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse195 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse194 (select .cse195 ~A~0.offset)) (.cse193 (select .cse195 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse193) (= (+ .cse193 c_~minb~0) .cse1) (<= .cse193 .cse194) (<= (+ .cse194 .cse1) (+ c_~minc~0 .cse193)) (= (+ .cse193 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse198 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse196 (select .cse198 (+ ~A~0.offset 4)))) (and (= (+ .cse196 (select .cse197 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse196) (<= (+ .cse196 c_~minb~0 1) .cse1) (<= (+ .cse196 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse198 ~A~0.offset) c_~minb~0)))))) (= (select .cse197 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse202 (+ ~A~0.offset 4)) (.cse203 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse199 (select .cse203 ~A~0.offset)) (.cse200 (select .cse203 .cse202))) (and (= c_~mina~0 .cse199) (<= (+ .cse199 1) .cse200) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse200 (select .cse201 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse201 ~B~0.offset) .cse199))))) (not (= .cse202 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse200 c_~minb~0) .cse1) (<= (+ .cse199 .cse1) (+ c_~minc~0 .cse200)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse204 (select .cse206 (+ ~A~0.offset 4))) (.cse205 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse204 c_~minb~0)) (= (+ .cse204 (select .cse205 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse204 c_~minb~0 1) .cse1) (= (select .cse205 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse206 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse209 (+ ~A~0.offset 4)) (.cse211 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse208 (select .cse211 ~A~0.offset)) (.cse207 (select .cse211 .cse209))) (and (= (+ .cse207 .cse208) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse210 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse209 ~B~0.offset)) (= (+ .cse207 (select .cse210 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse210 ~B~0.offset) .cse208))))) (= c_~mina~0 .cse207) (= (+ .cse207 c_~minb~0) .cse1) (<= .cse207 .cse208) (<= (+ .cse208 .cse1) (+ c_~minc~0 .cse207)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse212 (select .cse213 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse212 c_~minb~0)) (<= (+ .cse212 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse213 ~A~0.offset) c_~minb~0)) (= (+ .cse212 .cse50) .cse1) (= .cse212 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse214 (select .cse217 ~A~0.offset)) (.cse215 (select .cse217 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse214) (<= (+ .cse214 1) .cse215) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse215 (select .cse216 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse216 ~B~0.offset) .cse214))))) (= (+ .cse215 c_~minb~0) .cse1) (<= (+ .cse214 .cse1) (+ c_~minc~0 .cse215)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse218 (select .cse221 (+ ~A~0.offset 4))) (.cse219 (select .cse221 ~A~0.offset))) (and (= c_~minc~0 (+ .cse218 .cse219)) (= c_~mina~0 .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse220 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse220 ~B~0.offset) .cse219))))) (= (* 2 .cse218) .cse1) (= (+ .cse218 c_~minb~0) .cse1) (<= .cse218 .cse219))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse225 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse222 (select .cse225 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse222) (<= (+ .cse222 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse224 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse222 (select .cse223 .cse224)) .cse1) (= (select .cse223 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse224))))) (<= (+ .cse222 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse225 ~A~0.offset) c_~minb~0)) (= .cse222 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse226 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse227 (+ ~A~0.offset 4))) (and (not (= .cse227 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse228 (select .cse229 .cse227))) (and (= .cse11 (+ c_~minc~0 .cse228)) (= (+ .cse228 (select .cse226 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse228) (<= (+ .cse228 c_~minb~0 1) .cse1) (<= (+ .cse228 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse229 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse234 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse230 (select .cse234 ~A~0.offset)) (.cse231 (select .cse234 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse230) (exists ((~B~0.offset Int)) (let ((.cse233 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse231 (select .cse232 .cse233)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse232 ~B~0.offset) .cse230))))) (not (= ~A~0.offset .cse233))))) (= c_~minc~0 (+ .cse231 .cse230)) (<= (+ .cse230 1) .cse231) (= (* 2 .cse231) .cse1) (= (+ .cse231 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse239 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse235 (select .cse239 ~A~0.offset)) (.cse236 (select .cse239 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse235) (exists ((~B~0.offset Int)) (let ((.cse238 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse236 (select .cse237 .cse238)) .cse1) (= c_~minc~0 (+ (select .cse237 ~B~0.offset) .cse235))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse238))))) (= c_~minc~0 (+ .cse236 .cse235)) (<= (+ .cse235 1) .cse236) (= (* 2 .cse236) .cse1) (= (+ .cse236 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~A~0.base)) (.cse242 (+ ~A~0.offset 4))) (let ((.cse240 (select .cse244 .cse242)) (.cse241 (select .cse244 ~A~0.offset))) (and (= (+ .cse240 .cse241) .cse1) (= c_~mina~0 .cse240) (= (* 2 .cse240) .cse1) (= (+ .cse240 c_~minb~0) .cse1) (<= (+ .cse241 .cse1) (+ c_~minc~0 .cse240)) (exists ((~B~0.offset Int)) (and (not (= .cse242 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse240 (select .cse243 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse243 ~B~0.offset) .cse241))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse248 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse246 (select .cse248 .cse245)) (.cse247 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse245 ~B~0.offset)) (<= .cse14 (+ .cse246 c_~minb~0)) (= (+ .cse246 (select .cse247 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse246 c_~minb~0 1) .cse1) (= (select .cse247 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse248 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse249 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse268 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse268 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse268 ~B~0.offset) .cse7)))))) (.cse258 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse263 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse267 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse267 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse267 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse264 (exists ((~B~0.offset Int)) (let ((.cse265 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse265)) (exists ((~B~0.base Int)) (let ((.cse266 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse266 .cse265) c_~minb~0) (= c_~minc~0 (+ (select .cse266 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse249 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse250 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse250 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse254 (exists ((~B~0.offset Int)) (let ((.cse256 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse256)) (exists ((~B~0.base Int)) (let ((.cse257 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse257 .cse256) c_~minb~0) (= c_~minc~0 (+ (select .cse257 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse251 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse251 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse249 (exists ((~B~0.offset Int)) (let ((.cse252 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse252)) (exists ((~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse253 .cse252) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)))))))) .cse254)) .cse249 .cse254 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse255 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse255 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse255 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse258) (and .cse258 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse259 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse259 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse260 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse260)) (exists ((~B~0.base Int)) (let ((.cse261 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse261 .cse260) c_~minb~0) (= c_~minc~0 (+ (select .cse261 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse263)) .cse263 .cse264)) .cse263 .cse264)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse125) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse272 (select |c_#memory_int#1| ~A~0.base)) (.cse269 (+ ~A~0.offset 4))) (let ((.cse270 (select .cse272 .cse269))) (and (not (= .cse269 ~B~0.offset)) (= (+ .cse270 (select .cse271 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse270) (<= (+ .cse270 c_~minb~0 1) .cse1) (<= (+ .cse270 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse272 ~A~0.offset) c_~minb~0)))))) (= (select .cse271 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse276 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse274 (select .cse276 ~A~0.offset)) (.cse273 (select .cse276 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse273 .cse274)) (= c_~mina~0 .cse273) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse275 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse273 (select .cse275 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse275 ~B~0.offset) .cse274))))) (= (+ .cse273 c_~minb~0) .cse1) (<= .cse273 .cse274) (<= (+ .cse274 .cse1) (+ c_~minc~0 .cse273)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse278 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse277) (<= (+ .cse277 c_~minb~0 1) .cse1) (<= (+ .cse277 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse278 ~A~0.offset) c_~minb~0)) (= (+ .cse277 .cse50) .cse1) (= .cse277 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse279 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse283 (+ ~A~0.offset 4)) (.cse281 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse282 .cse283))) (and (= (+ .cse280 (select .cse279 .cse281)) .cse1) (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse282 ~A~0.offset) c_~minb~0)))))) (not (= .cse283 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse281)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse284 (select .cse286 ~A~0.offset)) (.cse285 (select .cse286 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse284) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse284 1) .cse285) (= (+ .cse285 c_~minb~0) .cse1) (<= (+ .cse284 .cse1) (+ c_~minc~0 .cse285)) (= (+ .cse285 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse291 (+ ~A~0.offset 4)) (.cse292 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse292 ~A~0.offset)) (.cse288 (select .cse292 .cse291))) (and (= c_~mina~0 .cse287) (exists ((~B~0.offset Int)) (let ((.cse290 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse288 (select .cse289 .cse290)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse289 ~B~0.offset) .cse287))))) (not (= .cse291 ~B~0.offset)) (not (= ~A~0.offset .cse290))))) (<= (+ .cse287 1) .cse288) (= (* 2 .cse288) .cse1) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse298 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse293 (select .cse298 ~A~0.offset)) (.cse295 (select .cse298 .cse294))) (and (= c_~mina~0 .cse293) (exists ((~B~0.offset Int)) (let ((.cse297 (+ ~B~0.offset 4))) (and (not (= .cse294 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse296 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse295 (select .cse296 .cse297)) .cse1) (= c_~minc~0 (+ (select .cse296 ~B~0.offset) .cse293))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse297))))) (<= (+ .cse293 1) .cse295) (= (+ .cse295 c_~minb~0) .cse1) (<= (+ .cse293 .cse1) (+ c_~minc~0 .cse295)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse303 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse299 (select .cse303 ~A~0.offset)) (.cse300 (select .cse303 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse299) (exists ((~B~0.offset Int)) (let ((.cse302 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse301 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse300 (select .cse301 .cse302)) .cse1) (= c_~minc~0 (+ (select .cse301 ~B~0.offset) .cse299))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse302))))) (= c_~minc~0 (+ .cse300 .cse299)) (<= (+ .cse299 1) .cse300) (= (+ .cse300 c_~minb~0) .cse1) (<= (+ .cse299 .cse1) (+ c_~minc~0 .cse300)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse304 (select .cse305 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse304) (<= (+ .cse304 c_~minb~0 1) .cse1) (<= (+ .cse304 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse305 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse307 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse306 (select .cse307 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse306)) (= c_~mina~0 .cse306) (<= (+ .cse306 c_~minb~0 1) .cse1) (= (* 2 .cse306) .cse1) (= c_~minc~0 (+ (select .cse307 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse309 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse308 c_~minb~0)) (<= (+ .cse308 c_~minb~0 1) .cse1) (= (* 2 .cse308) .cse1) (= c_~minc~0 (+ (select .cse309 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse311 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse310 (select .cse311 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse310)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse310 c_~minb~0)) (<= (+ .cse310 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse311 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse313 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse312 (select .cse313 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse312)) (= c_~mina~0 .cse312) (<= (+ .cse312 c_~minb~0 1) .cse1) (<= (+ .cse312 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse313 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse315 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse314 (select .cse315 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse314 c_~minb~0)) (<= (+ .cse314 c_~minb~0 1) .cse1) (= (* 2 .cse314) .cse1) (= c_~minc~0 (+ (select .cse315 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse317 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse316) (<= (+ .cse316 c_~minb~0 1) .cse1) (<= (+ .cse316 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse317 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse318 (select .cse319 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse318) (<= (+ .cse318 c_~minb~0 1) .cse1) (= (* 2 .cse318) .cse1) (<= (+ .cse318 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse319 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse320 (select .cse321 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse320 c_~minb~0)) (<= (+ .cse320 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse321 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse323 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse322 (select .cse323 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse322 c_~minb~0)) (<= (+ .cse322 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse323 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse324 (select .cse325 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse324 c_~minb~0)) (<= (+ .cse324 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse325 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse327 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse326 (select .cse327 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse326) (<= (+ .cse326 c_~minb~0 1) .cse1) (= (* 2 .cse326) .cse1) (<= (+ .cse326 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse327 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse329 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse328 (select .cse329 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse328) (<= (+ .cse328 c_~minb~0 1) .cse1) (<= (+ .cse328 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse329 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse330 (select .cse332 ~A~0.offset)) (.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse330) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse330 1) .cse331) (= (+ .cse331 c_~minb~0) .cse1) (<= (+ .cse330 .cse1) (+ c_~minc~0 .cse331)) (= (+ .cse331 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse337 (select .cse338 ~A~0.offset)) (.cse336 (select .cse338 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse336) (= (+ .cse336 c_~minb~0) .cse1) (<= .cse336 .cse337) (<= (+ .cse337 .cse1) (+ c_~minc~0 .cse336)) (= c_~minc~0 (* 2 .cse337)) (= (+ .cse336 .cse50) .cse1))))) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse342 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse342 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse340 (select .cse341 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse341 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse340) (<= (+ .cse340 c_~minb~0 1) .cse1) (<= (+ .cse340 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse342 ~A~0.offset) c_~minb~0)) (= .cse340 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse346 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse345 (select .cse346 ~A~0.offset)) (.cse343 (select .cse346 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse344 ~B~0.offset) .cse345))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse343 .cse345)) (= c_~mina~0 .cse343) (= (+ .cse343 c_~minb~0) .cse1) (<= .cse343 .cse345) (<= (+ .cse345 .cse1) (+ c_~minc~0 .cse343)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse350 (+ ~A~0.offset 4)) (.cse351 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse349 (select .cse351 ~A~0.offset)) (.cse347 (select .cse351 .cse350))) (and (= c_~mina~0 .cse347) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse348 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse347 (select .cse348 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse348 ~B~0.offset) .cse349))))) (not (= .cse350 ~B~0.offset)))) (= (* 2 .cse347) .cse1) (= (+ .cse347 c_~minb~0) .cse1) (<= .cse347 .cse349) (<= (+ .cse349 .cse1) (+ c_~minc~0 .cse347)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse353 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse352) (<= (+ .cse352 c_~minb~0 1) .cse1) (<= (+ .cse352 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse353 ~A~0.offset) c_~minb~0)) (= (+ .cse352 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse355 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse354 (select .cse355 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse354 c_~minb~0)) (<= (+ .cse354 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse355 ~A~0.offset) c_~minb~0)) (= (+ .cse354 .cse50) .cse1))))) .cse10) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse357 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse356 (select .cse357 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse356) (<= (+ .cse356 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse357 ~A~0.offset) c_~minb~0)) (= (+ .cse356 .cse50) .cse1) (= .cse356 c_~minb~0))))) .cse358) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse363 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse360 (select .cse363 (+ ~A~0.offset 4))) (.cse362 (select .cse363 ~A~0.offset))) (let ((.cse359 (+ .cse360 .cse362))) (and (= .cse359 .cse1) (= c_~minc~0 .cse359) (= c_~mina~0 .cse360) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse360 (select .cse361 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse361 ~B~0.offset) .cse362))))) (= (+ .cse360 c_~minb~0) .cse1) (<= .cse360 .cse362) (<= (+ .cse362 .cse1) (+ c_~minc~0 .cse360))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse365 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse364 (select .cse365 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse364) (<= (+ .cse364 c_~minb~0 1) .cse1) (<= (+ .cse364 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse365 ~A~0.offset) c_~minb~0)) (= (+ .cse364 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse366 (select .cse368 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse366) (<= (+ .cse366 c_~minb~0 1) .cse1) (= (* 2 .cse366) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse367 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse366 (select .cse367 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse367 ~B~0.offset) c_~minb~0)))) (<= (+ .cse366 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 ~A~0.offset)) (.cse370 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse369)) (= c_~mina~0 .cse369) (<= (+ .cse369 1) .cse370) (= (+ .cse370 c_~minb~0) .cse1) (<= (+ .cse369 .cse1) (+ c_~minc~0 .cse370)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse375 (+ ~A~0.offset 4)) (.cse376 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse373 (select .cse376 ~A~0.offset)) (.cse372 (select .cse376 .cse375))) (and (= (+ .cse372 .cse373) .cse1) (= c_~mina~0 .cse372) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse372 (select .cse374 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse374 ~B~0.offset) .cse373))))) (not (= .cse375 ~B~0.offset)))) (= (* 2 .cse372) .cse1) (= (+ .cse372 c_~minb~0) .cse1) (<= (+ .cse373 .cse1) (+ c_~minc~0 .cse372)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (select |c_#memory_int#1| ~A~0.base)) (.cse379 (+ ~A~0.offset 4))) (let ((.cse377 (select .cse378 .cse379))) (and (= c_~mina~0 .cse377) (<= (+ .cse377 c_~minb~0 1) .cse1) (= (* 2 .cse377) .cse1) (<= (+ .cse377 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse378 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse381 (+ ~B~0.offset 4))) (and (not (= .cse379 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse380 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse377 (select .cse380 .cse381)) .cse1) (= (select .cse380 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse381))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse385 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse385 ~A~0.offset)) (.cse382 (select .cse385 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse382) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse382 (select .cse383 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse383 ~B~0.offset) .cse384))))) (= (+ .cse382 c_~minb~0) .cse1) (<= .cse382 .cse384) (<= (+ .cse384 .cse1) (+ c_~minc~0 .cse382)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse389 (select |c_#memory_int#1| ~A~0.base)) (.cse386 (+ ~A~0.offset 4))) (let ((.cse387 (select .cse389 .cse386))) (and (exists ((~B~0.offset Int)) (and (not (= .cse386 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse387 (select .cse388 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse388 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse387) (<= (+ .cse387 c_~minb~0 1) .cse1) (= (* 2 .cse387) .cse1) (<= (+ .cse387 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse389 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse391 (select .cse392 ~A~0.offset)) (.cse390 (select .cse392 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse390) (= (+ .cse390 c_~minb~0) .cse1) (<= .cse390 .cse391) (<= (+ .cse391 .cse1) (+ c_~minc~0 .cse390)) (= c_~minc~0 (* 2 .cse391)) (= (+ .cse390 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~A~0.base)) (.cse394 (+ ~A~0.offset 4))) (let ((.cse393 (select .cse396 .cse394))) (and (<= .cse14 (+ .cse393 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse394 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse393 (select .cse395 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse395 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse393 c_~minb~0 1) .cse1) (= (* 2 .cse393) .cse1) (= c_~minc~0 (+ (select .cse396 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse397 (select .cse399 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse397 c_~minb~0)) (<= (+ .cse397 c_~minb~0 1) .cse1) (= (* 2 .cse397) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse397 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~A~0.base)) (.cse402 (+ ~A~0.offset 4))) (let ((.cse400 (select .cse401 .cse402))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (= c_~minc~0 (+ (select .cse401 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse404 (+ ~B~0.offset 4))) (and (not (= .cse402 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse403 .cse404)) .cse1) (= (select .cse403 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse404))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~A~0.base)) (.cse406 (+ ~A~0.offset 4))) (let ((.cse405 (select .cse408 .cse406))) (and (<= .cse14 (+ .cse405 c_~minb~0)) (<= (+ .cse405 c_~minb~0 1) .cse1) (= (* 2 .cse405) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse406 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse407 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse405 (select .cse407 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse407 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse408 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse412 (select |c_#memory_int#1| ~A~0.base)) (.cse410 (+ ~A~0.offset 4))) (let ((.cse409 (select .cse412 .cse410))) (and (<= .cse14 (+ .cse409 c_~minb~0)) (= (* 2 .cse409) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse410 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse409 (select .cse411 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse411 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse412 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~A~0.base)) (.cse415 (+ ~A~0.offset 4))) (let ((.cse413 (select .cse414 .cse415))) (and (<= .cse14 (+ .cse413 c_~minb~0)) (= (* 2 .cse413) .cse1) (= c_~minc~0 (+ (select .cse414 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse417 (+ ~B~0.offset 4))) (and (not (= .cse415 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse416 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse413 (select .cse416 .cse417)) .cse1) (= (select .cse416 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse417)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse418 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse419 (select .cse418 ~B~0.offset))) (let ((.cse420 (+ .cse419 .cse50))) (and (= (+ .cse50 (select .cse418 (+ ~B~0.offset 4))) .cse1) (= (+ .cse419 .cse1) .cse48) (<= .cse1 .cse420) (<= .cse420 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse422 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse423 (select .cse422 ~B~0.offset))) (let ((.cse421 (+ .cse423 .cse50))) (and (<= .cse14 .cse421) (= (+ .cse50 (select .cse422 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse421) (= c_~minc~0 (+ .cse423 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (= (+ .cse426 .cse1) .cse48) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (+ (select .cse427 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse427 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse428) (<= .cse428 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse429 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse430 (+ (select .cse429 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse429 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse430) (<= .cse430 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (select .cse432 ~B~0.offset))) (let ((.cse431 (+ .cse433 .cse50))) (and (<= .cse14 .cse431) (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (= c_~minc~0 (+ .cse433 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse434 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse435 (+ (select .cse434 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse434 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse435) (<= .cse435 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (select .cse437 ~B~0.offset))) (let ((.cse436 (+ .cse438 .cse50))) (and (<= .cse14 .cse436) (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse436) (= c_~minc~0 (+ .cse438 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse441 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse439 (select .cse441 (+ ~A~0.offset 4))) (.cse440 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse439 c_~minb~0)) (= (+ .cse439 (select .cse440 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse439 c_~minb~0 1) .cse1) (= (select .cse440 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse441 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 ~A~0.offset)) (.cse443 (select .cse444 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse442)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse443) (= (+ .cse443 c_~minb~0) .cse1) (<= .cse443 .cse442) (<= (+ .cse442 .cse1) (+ c_~minc~0 .cse443)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse446 (select .cse447 ~A~0.offset)) (.cse445 (select .cse447 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse445) (= (+ .cse445 c_~minb~0) .cse1) (<= .cse445 .cse446) (<= (+ .cse446 .cse1) (+ c_~minc~0 .cse445)) (= (+ .cse445 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (+ ~A~0.offset 4)) (.cse452 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse452 ~A~0.offset)) (.cse448 (select .cse452 .cse450))) (and (= (+ .cse448 .cse449) .cse1) (= c_~mina~0 .cse449) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse451 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse450 ~B~0.offset)) (= (+ .cse448 (select .cse451 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse451 ~B~0.offset) .cse449))))) (<= (+ .cse449 1) .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse453 (select .cse454 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse453 c_~minb~0)) (<= (+ .cse453 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse454 ~A~0.offset) c_~minb~0)) (= (+ .cse453 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse455 (+ ~A~0.offset 4)) (.cse460 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse459 (select .cse460 ~A~0.offset)) (.cse456 (select .cse460 .cse455))) (and (exists ((~B~0.offset Int)) (let ((.cse458 (+ ~B~0.offset 4))) (and (not (= .cse455 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse456 (select .cse457 .cse458)) .cse1) (= c_~minc~0 (+ (select .cse457 ~B~0.offset) .cse459))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse458))))) (= c_~mina~0 .cse456) (= (* 2 .cse456) .cse1) (= (+ .cse456 c_~minb~0) .cse1) (<= .cse456 .cse459) (<= (+ .cse459 .cse1) (+ c_~minc~0 .cse456)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse461 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse461 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 (+ ~A~0.offset 4)))) (and (= (+ .cse462 (select .cse461 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse462) (<= (+ .cse462 c_~minb~0 1) .cse1) (<= (+ .cse462 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse463 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse467 (select |c_#memory_int#1| ~A~0.base)) (.cse465 (+ ~A~0.offset 4))) (let ((.cse464 (select .cse467 .cse465))) (and (= c_~mina~0 .cse464) (<= (+ .cse464 c_~minb~0 1) .cse1) (= (* 2 .cse464) .cse1) (<= (+ .cse464 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse465 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse466 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse464 (select .cse466 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse466 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse467 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (+ ~A~0.offset 4)) (.cse473 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse471 (select .cse473 ~A~0.offset)) (.cse468 (select .cse473 .cse472))) (and (exists ((~B~0.offset Int)) (let ((.cse470 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse468 (select .cse469 .cse470)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse469 ~B~0.offset) .cse471))))) (not (= .cse472 ~B~0.offset)) (not (= ~A~0.offset .cse470))))) (= c_~mina~0 .cse468) (= (* 2 .cse468) .cse1) (= (+ .cse468 c_~minb~0) .cse1) (<= .cse468 .cse471) (<= (+ .cse471 .cse1) (+ c_~minc~0 .cse468)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse475 (select .cse476 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse474)) (= c_~mina~0 .cse474) (<= (+ .cse474 1) .cse475) (= (* 2 .cse475) .cse1) (= (+ .cse475 c_~minb~0) .cse1) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse475)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse478 (select .cse479 ~A~0.offset)) (.cse477 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse477 .cse478)) (= c_~mina~0 .cse477) (= (+ .cse477 c_~minb~0) .cse1) (<= .cse477 .cse478) (<= (+ .cse478 .cse1) (+ c_~minc~0 .cse477)) (= (+ .cse477 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse480 (select .cse482 ~A~0.offset)) (.cse481 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse480)) (= c_~mina~0 .cse481) (= (* 2 .cse481) .cse1) (= (+ .cse481 c_~minb~0) .cse1) (<= .cse481 .cse480) (<= (+ .cse480 .cse1) (+ c_~minc~0 .cse481)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse486) (= c_~minc~0 (+ .cse487 .cse486)) (<= (+ .cse486 1) .cse487) (= (+ .cse487 c_~minb~0) .cse1) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)) (= (+ .cse487 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse490 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse490 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse489 c_~minb~0)) (<= (+ .cse489 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse490 ~A~0.offset) c_~minb~0)) (= (+ .cse489 .cse50) .cse1)))))) .cse358 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse495 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse493 (select .cse495 (+ ~A~0.offset 4))) (.cse492 (select .cse495 ~A~0.offset))) (let ((.cse491 (+ .cse493 .cse492))) (and (= .cse491 .cse1) (= c_~mina~0 .cse492) (= c_~minc~0 .cse491) (<= (+ .cse492 1) .cse493) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse494 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse493 (select .cse494 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse494 ~B~0.offset) .cse492))))) (= (+ .cse493 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 ~A~0.offset)) (.cse497 (select .cse498 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse496)) (= c_~mina~0 .cse496) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse496 1) .cse497) (= (+ .cse497 c_~minb~0) .cse1) (<= (+ .cse496 .cse1) (+ c_~minc~0 .cse497)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse502 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse502 ~A~0.offset)) (.cse500 (select .cse502 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse499) (= c_~minc~0 (+ .cse500 .cse499)) (<= (+ .cse499 1) .cse500) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse500 (select .cse501 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse501 ~B~0.offset) .cse499))))) (= (* 2 .cse500) .cse1) (= (+ .cse500 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse504 (select .cse507 (+ ~A~0.offset 4))) (.cse506 (select .cse507 ~A~0.offset))) (let ((.cse503 (+ .cse504 .cse506))) (and (= .cse503 .cse1) (= c_~minc~0 .cse503) (= c_~mina~0 .cse504) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse504 (select .cse505 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse505 ~B~0.offset) .cse506))))) (= (+ .cse504 c_~minb~0) .cse1) (<= .cse504 .cse506) (<= (+ .cse506 .cse1) (+ c_~minc~0 .cse504))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse508 (select .cse510 ~A~0.offset)) (.cse509 (select .cse510 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse508) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse508 1) .cse509) (= (+ .cse509 c_~minb~0) .cse1) (<= (+ .cse508 .cse1) (+ c_~minc~0 .cse509)) (= c_~minc~0 (* 2 .cse508)) (= (+ .cse509 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse514 (+ ~A~0.offset 4)) (.cse515 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse515 ~A~0.offset)) (.cse512 (select .cse515 .cse514))) (and (= c_~mina~0 .cse511) (<= (+ .cse511 1) .cse512) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse512 (select .cse513 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse513 ~B~0.offset) .cse511))))) (not (= .cse514 ~B~0.offset)))) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512))))))))))) is different from true