/root/.sdkman/candidates/java/21.0.5-tem/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata ./data -tc ../benchexec/../../../trunk/examples/toolchains/AutomizerCInline.xml -s ../benchexec/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf --traceabstraction.automaton.type.used.in.concurrency.analysis PETRI_NET -i ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c -------------------------------------------------------------------------------- This is Ultimate 0.3.0-wip.dk.cfg-lbe-improvements-94356ea-m [2025-04-13 20:56:40,363 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-04-13 20:56:40,419 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../benchexec/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2025-04-13 20:56:40,422 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-04-13 20:56:40,423 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-04-13 20:56:40,444 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-04-13 20:56:40,445 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-04-13 20:56:40,445 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-04-13 20:56:40,445 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-04-13 20:56:40,445 INFO L153 SettingsManager]: * Use memory slicer=true [2025-04-13 20:56:40,445 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-04-13 20:56:40,446 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-04-13 20:56:40,447 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-04-13 20:56:40,447 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-04-13 20:56:40,447 INFO L153 SettingsManager]: * Use SBE=true [2025-04-13 20:56:40,448 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * sizeof long=4 [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * sizeof long double=12 [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Use constant arrays=true [2025-04-13 20:56:40,448 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-04-13 20:56:40,448 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-04-13 20:56:40,449 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-04-13 20:56:40,449 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-04-13 20:56:40,449 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-04-13 20:56:40,450 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-04-13 20:56:40,450 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-04-13 20:56:40,450 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-04-13 20:56:40,450 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Automaton type used in concurrency analysis -> PETRI_NET [2025-04-13 20:56:40,669 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-04-13 20:56:40,676 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-04-13 20:56:40,678 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-04-13 20:56:40,679 INFO L270 PluginConnector]: Initializing CDTParser... [2025-04-13 20:56:40,680 INFO L274 PluginConnector]: CDTParser initialized [2025-04-13 20:56:40,681 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2025-04-13 20:56:41,965 INFO L538 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/57d3b1a4b/22ac1f5651214b67a31a5e7ceb4a2dc9/FLAG09e686218 [2025-04-13 20:56:42,161 INFO L389 CDTParser]: Found 1 translation units. [2025-04-13 20:56:42,162 INFO L178 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2025-04-13 20:56:42,176 INFO L432 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/57d3b1a4b/22ac1f5651214b67a31a5e7ceb4a2dc9/FLAG09e686218 [2025-04-13 20:56:42,965 INFO L440 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/57d3b1a4b/22ac1f5651214b67a31a5e7ceb4a2dc9 [2025-04-13 20:56:42,966 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-04-13 20:56:42,967 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2025-04-13 20:56:42,968 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-04-13 20:56:42,968 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-04-13 20:56:42,971 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-04-13 20:56:42,972 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.04 08:56:42" (1/1) ... [2025-04-13 20:56:42,972 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@48bf1a33 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:42, skipping insertion in model container [2025-04-13 20:56:42,972 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 13.04 08:56:42" (1/1) ... [2025-04-13 20:56:42,983 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-04-13 20:56:43,162 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c[2854,2867] [2025-04-13 20:56:43,176 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-04-13 20:56:43,186 INFO L200 MainTranslator]: Completed pre-run [2025-04-13 20:56:43,221 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c[2854,2867] [2025-04-13 20:56:43,228 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-04-13 20:56:43,245 INFO L204 MainTranslator]: Completed translation [2025-04-13 20:56:43,245 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43 WrapperNode [2025-04-13 20:56:43,246 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-04-13 20:56:43,246 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-04-13 20:56:43,246 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-04-13 20:56:43,246 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-04-13 20:56:43,250 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,261 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,289 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 210 [2025-04-13 20:56:43,289 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-04-13 20:56:43,289 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-04-13 20:56:43,291 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-04-13 20:56:43,291 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-04-13 20:56:43,297 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,297 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,304 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,324 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-04-13 20:56:43,324 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,324 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,333 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,333 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,340 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,341 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,342 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,354 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-04-13 20:56:43,354 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-04-13 20:56:43,354 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-04-13 20:56:43,354 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-04-13 20:56:43,355 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (1/1) ... [2025-04-13 20:56:43,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-04-13 20:56:43,369 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-04-13 20:56:43,381 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-04-13 20:56:43,383 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-04-13 20:56:43,400 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-04-13 20:56:43,400 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-04-13 20:56:43,400 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-04-13 20:56:43,401 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-04-13 20:56:43,401 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-04-13 20:56:43,401 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-04-13 20:56:43,402 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-04-13 20:56:43,402 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-04-13 20:56:43,402 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-04-13 20:56:43,403 WARN L203 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-04-13 20:56:43,494 INFO L234 CfgBuilder]: Building ICFG [2025-04-13 20:56:43,495 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-04-13 20:56:43,858 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-04-13 20:56:43,859 INFO L289 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-04-13 20:56:43,859 INFO L294 CfgBuilder]: Performing block encoding [2025-04-13 20:56:44,157 WARN L179 LargeBlockEncoding]: Complex 3:2 sequential composition. Such compositions can cause exponential blowup and should not occur in structured programs. [2025-04-13 20:56:44,159 WARN L179 LargeBlockEncoding]: Complex 2:2 sequential composition. Such compositions can cause exponential blowup and should not occur in structured programs. [2025-04-13 20:56:44,162 INFO L313 CfgBuilder]: Removed 0 assume(true) statements. [2025-04-13 20:56:44,162 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.04 08:56:44 BoogieIcfgContainer [2025-04-13 20:56:44,162 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-04-13 20:56:44,164 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-04-13 20:56:44,164 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-04-13 20:56:44,168 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-04-13 20:56:44,168 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 13.04 08:56:42" (1/3) ... [2025-04-13 20:56:44,169 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7d7bd1e4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.04 08:56:44, skipping insertion in model container [2025-04-13 20:56:44,169 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 13.04 08:56:43" (2/3) ... [2025-04-13 20:56:44,169 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7d7bd1e4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 13.04 08:56:44, skipping insertion in model container [2025-04-13 20:56:44,169 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 13.04 08:56:44" (3/3) ... [2025-04-13 20:56:44,170 INFO L128 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2025-04-13 20:56:44,183 INFO L217 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-04-13 20:56:44,184 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG popl20-three-array-min.wvr.c that has 4 procedures, 29 locations, 35 edges, 1 initial locations, 6 loop locations, and 1 error locations. [2025-04-13 20:56:44,184 INFO L490 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-04-13 20:56:44,230 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-04-13 20:56:44,251 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 38 places, 38 transitions, 97 flow [2025-04-13 20:56:44,270 INFO L116 PetriNetUnfolderBase]: 10/35 cut-off events. [2025-04-13 20:56:44,271 INFO L117 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-04-13 20:56:44,273 INFO L83 FinitePrefix]: Finished finitePrefix Result has 48 conditions, 35 events. 10/35 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 38 event pairs, 0 based on Foata normal form. 0/24 useless extension candidates. Maximal degree in co-relation 26. Up to 3 conditions per place. [2025-04-13 20:56:44,273 INFO L82 GeneralOperation]: Start removeDead. Operand has 38 places, 38 transitions, 97 flow [2025-04-13 20:56:44,275 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 34 places, 34 transitions, 86 flow [2025-04-13 20:56:44,279 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-04-13 20:56:44,286 INFO L340 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;@5ebb0661, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-04-13 20:56:44,286 INFO L341 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-04-13 20:56:44,294 INFO L177 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-04-13 20:56:44,294 INFO L116 PetriNetUnfolderBase]: 10/33 cut-off events. [2025-04-13 20:56:44,294 INFO L117 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-04-13 20:56:44,294 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:44,295 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-13 20:56:44,295 INFO L403 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-04-13 20:56:44,298 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:44,298 INFO L85 PathProgramCache]: Analyzing trace with hash -894410509, now seen corresponding path program 1 times [2025-04-13 20:56:44,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:44,303 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1026532928] [2025-04-13 20:56:44,303 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:44,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:44,360 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-04-13 20:56:44,410 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-04-13 20:56:44,410 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:44,410 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:44,646 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-04-13 20:56:44,646 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:44,648 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1026532928] [2025-04-13 20:56:44,649 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1026532928] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:44,649 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:44,649 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-04-13 20:56:44,650 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1658444640] [2025-04-13 20:56:44,650 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:44,656 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-04-13 20:56:44,659 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:44,673 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-04-13 20:56:44,673 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-04-13 20:56:44,674 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:44,676 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 34 places, 34 transitions, 86 flow. Second operand has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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-04-13 20:56:44,676 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:44,676 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:44,676 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:44,854 INFO L116 PetriNetUnfolderBase]: 455/656 cut-off events. [2025-04-13 20:56:44,854 INFO L117 PetriNetUnfolderBase]: For 50/50 co-relation queries the response was YES. [2025-04-13 20:56:44,855 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1322 conditions, 656 events. 455/656 cut-off events. For 50/50 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 1979 event pairs, 226 based on Foata normal form. 0/452 useless extension candidates. Maximal degree in co-relation 1122. Up to 608 conditions per place. [2025-04-13 20:56:44,861 INFO L140 encePairwiseOnDemand]: 35/38 looper letters, 31 selfloop transitions, 2 changer transitions 0/35 dead transitions. [2025-04-13 20:56:44,861 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 36 places, 35 transitions, 154 flow [2025-04-13 20:56:44,863 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-04-13 20:56:44,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-04-13 20:56:44,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 49 transitions. [2025-04-13 20:56:44,872 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.4298245614035088 [2025-04-13 20:56:44,873 INFO L175 Difference]: Start difference. First operand has 34 places, 34 transitions, 86 flow. Second operand 3 states and 49 transitions. [2025-04-13 20:56:44,873 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 36 places, 35 transitions, 154 flow [2025-04-13 20:56:44,880 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 30 places, 35 transitions, 142 flow, removed 0 selfloop flow, removed 6 redundant places. [2025-04-13 20:56:44,882 INFO L231 Difference]: Finished difference. Result has 31 places, 35 transitions, 86 flow [2025-04-13 20:56:44,884 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=74, PETRI_DIFFERENCE_MINUEND_PLACES=28, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=34, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=32, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=86, PETRI_PLACES=31, PETRI_TRANSITIONS=35} [2025-04-13 20:56:44,886 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, -3 predicate places. [2025-04-13 20:56:44,887 INFO L485 AbstractCegarLoop]: Abstraction has has 31 places, 35 transitions, 86 flow [2025-04-13 20:56:44,887 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 11.0) internal successors, (33), 3 states have internal predecessors, (33), 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-04-13 20:56:44,887 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:44,887 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-04-13 20:56:44,887 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-04-13 20:56:44,887 INFO L403 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-04-13 20:56:44,888 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:44,888 INFO L85 PathProgramCache]: Analyzing trace with hash 928793418, now seen corresponding path program 1 times [2025-04-13 20:56:44,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:44,888 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1799447696] [2025-04-13 20:56:44,888 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:44,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:44,905 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 19 statements into 1 equivalence classes. [2025-04-13 20:56:44,931 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 19 of 19 statements. [2025-04-13 20:56:44,932 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:44,932 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:45,060 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-04-13 20:56:45,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:45,060 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1799447696] [2025-04-13 20:56:45,060 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1799447696] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:45,060 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:45,060 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-04-13 20:56:45,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [188001822] [2025-04-13 20:56:45,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:45,061 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-04-13 20:56:45,061 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:45,061 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-13 20:56:45,061 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-04-13 20:56:45,062 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:45,062 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 31 places, 35 transitions, 86 flow. Second operand has 4 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 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-04-13 20:56:45,062 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:45,062 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:45,062 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:45,224 INFO L116 PetriNetUnfolderBase]: 455/658 cut-off events. [2025-04-13 20:56:45,224 INFO L117 PetriNetUnfolderBase]: For 12/12 co-relation queries the response was YES. [2025-04-13 20:56:45,227 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1293 conditions, 658 events. 455/658 cut-off events. For 12/12 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 1968 event pairs, 226 based on Foata normal form. 0/454 useless extension candidates. Maximal degree in co-relation 1282. Up to 607 conditions per place. [2025-04-13 20:56:45,231 INFO L140 encePairwiseOnDemand]: 31/38 looper letters, 29 selfloop transitions, 6 changer transitions 0/37 dead transitions. [2025-04-13 20:56:45,231 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 34 places, 37 transitions, 160 flow [2025-04-13 20:56:45,232 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-13 20:56:45,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-04-13 20:56:45,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 57 transitions. [2025-04-13 20:56:45,233 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.375 [2025-04-13 20:56:45,233 INFO L175 Difference]: Start difference. First operand has 31 places, 35 transitions, 86 flow. Second operand 4 states and 57 transitions. [2025-04-13 20:56:45,233 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 34 places, 37 transitions, 160 flow [2025-04-13 20:56:45,234 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 33 places, 37 transitions, 156 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-04-13 20:56:45,234 INFO L231 Difference]: Finished difference. Result has 34 places, 37 transitions, 110 flow [2025-04-13 20:56:45,234 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=82, PETRI_DIFFERENCE_MINUEND_PLACES=30, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=110, PETRI_PLACES=34, PETRI_TRANSITIONS=37} [2025-04-13 20:56:45,235 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 0 predicate places. [2025-04-13 20:56:45,235 INFO L485 AbstractCegarLoop]: Abstraction has has 34 places, 37 transitions, 110 flow [2025-04-13 20:56:45,235 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 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-04-13 20:56:45,235 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:45,235 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-04-13 20:56:45,235 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-04-13 20:56:45,235 INFO L403 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-04-13 20:56:45,239 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:45,239 INFO L85 PathProgramCache]: Analyzing trace with hash 2039789406, now seen corresponding path program 1 times [2025-04-13 20:56:45,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:45,239 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [599873767] [2025-04-13 20:56:45,239 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:45,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:45,252 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-04-13 20:56:45,267 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-04-13 20:56:45,267 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:45,267 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:45,423 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-04-13 20:56:45,423 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:45,423 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [599873767] [2025-04-13 20:56:45,423 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [599873767] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:45,423 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:45,423 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-04-13 20:56:45,423 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [134172406] [2025-04-13 20:56:45,423 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:45,423 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-04-13 20:56:45,424 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:45,424 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-04-13 20:56:45,424 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-04-13 20:56:45,424 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:45,424 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 34 places, 37 transitions, 110 flow. Second operand has 3 states, 3 states have (on average 12.0) internal successors, (36), 3 states have internal predecessors, (36), 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-04-13 20:56:45,424 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:45,424 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:45,424 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:45,552 INFO L116 PetriNetUnfolderBase]: 636/956 cut-off events. [2025-04-13 20:56:45,553 INFO L117 PetriNetUnfolderBase]: For 23/23 co-relation queries the response was YES. [2025-04-13 20:56:45,554 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1842 conditions, 956 events. 636/956 cut-off events. For 23/23 co-relation queries the response was YES. Maximal size of possible extension queue 40. Compared 3213 event pairs, 172 based on Foata normal form. 1/682 useless extension candidates. Maximal degree in co-relation 1822. Up to 446 conditions per place. [2025-04-13 20:56:45,557 INFO L140 encePairwiseOnDemand]: 35/38 looper letters, 45 selfloop transitions, 2 changer transitions 3/52 dead transitions. [2025-04-13 20:56:45,558 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 36 places, 52 transitions, 243 flow [2025-04-13 20:56:45,558 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-04-13 20:56:45,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-04-13 20:56:45,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 63 transitions. [2025-04-13 20:56:45,560 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.5526315789473685 [2025-04-13 20:56:45,560 INFO L175 Difference]: Start difference. First operand has 34 places, 37 transitions, 110 flow. Second operand 3 states and 63 transitions. [2025-04-13 20:56:45,560 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 36 places, 52 transitions, 243 flow [2025-04-13 20:56:45,561 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 35 places, 52 transitions, 242 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-04-13 20:56:45,562 INFO L231 Difference]: Finished difference. Result has 36 places, 37 transitions, 119 flow [2025-04-13 20:56:45,562 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=109, PETRI_DIFFERENCE_MINUEND_PLACES=33, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=37, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=35, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=119, PETRI_PLACES=36, PETRI_TRANSITIONS=37} [2025-04-13 20:56:45,563 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 2 predicate places. [2025-04-13 20:56:45,563 INFO L485 AbstractCegarLoop]: Abstraction has has 36 places, 37 transitions, 119 flow [2025-04-13 20:56:45,563 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 12.0) internal successors, (36), 3 states have internal predecessors, (36), 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-04-13 20:56:45,563 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:45,563 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] [2025-04-13 20:56:45,563 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-04-13 20:56:45,563 INFO L403 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-04-13 20:56:45,564 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:45,564 INFO L85 PathProgramCache]: Analyzing trace with hash -60265696, now seen corresponding path program 1 times [2025-04-13 20:56:45,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:45,564 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1903040380] [2025-04-13 20:56:45,564 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:45,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:45,576 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 25 statements into 1 equivalence classes. [2025-04-13 20:56:45,592 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 25 of 25 statements. [2025-04-13 20:56:45,592 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:45,592 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:45,670 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-04-13 20:56:45,671 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:45,671 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1903040380] [2025-04-13 20:56:45,671 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1903040380] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:45,671 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:45,671 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-04-13 20:56:45,671 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2039772337] [2025-04-13 20:56:45,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:45,671 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-04-13 20:56:45,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:45,674 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-04-13 20:56:45,674 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-04-13 20:56:45,674 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:45,674 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 36 places, 37 transitions, 119 flow. Second operand has 3 states, 3 states have (on average 12.666666666666666) internal successors, (38), 3 states have internal predecessors, (38), 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-04-13 20:56:45,674 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:45,674 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:45,674 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:45,813 INFO L116 PetriNetUnfolderBase]: 695/1070 cut-off events. [2025-04-13 20:56:45,813 INFO L117 PetriNetUnfolderBase]: For 102/102 co-relation queries the response was YES. [2025-04-13 20:56:45,814 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2190 conditions, 1070 events. 695/1070 cut-off events. For 102/102 co-relation queries the response was YES. Maximal size of possible extension queue 55. Compared 4091 event pairs, 334 based on Foata normal form. 8/791 useless extension candidates. Maximal degree in co-relation 2168. Up to 774 conditions per place. [2025-04-13 20:56:45,818 INFO L140 encePairwiseOnDemand]: 36/38 looper letters, 48 selfloop transitions, 1 changer transitions 2/53 dead transitions. [2025-04-13 20:56:45,818 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 53 transitions, 264 flow [2025-04-13 20:56:45,819 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-04-13 20:56:45,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-04-13 20:56:45,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2025-04-13 20:56:45,820 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.543859649122807 [2025-04-13 20:56:45,820 INFO L175 Difference]: Start difference. First operand has 36 places, 37 transitions, 119 flow. Second operand 3 states and 62 transitions. [2025-04-13 20:56:45,820 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 53 transitions, 264 flow [2025-04-13 20:56:45,821 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 53 transitions, 261 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-04-13 20:56:45,823 INFO L231 Difference]: Finished difference. Result has 38 places, 37 transitions, 122 flow [2025-04-13 20:56:45,823 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=117, PETRI_DIFFERENCE_MINUEND_PLACES=35, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=37, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=122, PETRI_PLACES=38, PETRI_TRANSITIONS=37} [2025-04-13 20:56:45,824 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 4 predicate places. [2025-04-13 20:56:45,824 INFO L485 AbstractCegarLoop]: Abstraction has has 38 places, 37 transitions, 122 flow [2025-04-13 20:56:45,824 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 12.666666666666666) internal successors, (38), 3 states have internal predecessors, (38), 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-04-13 20:56:45,825 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:45,825 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] [2025-04-13 20:56:45,825 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2025-04-13 20:56:45,825 INFO L403 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-04-13 20:56:45,825 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:45,825 INFO L85 PathProgramCache]: Analyzing trace with hash 473396364, now seen corresponding path program 2 times [2025-04-13 20:56:45,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:45,826 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1389078740] [2025-04-13 20:56:45,826 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-13 20:56:45,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:45,835 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 25 statements into 2 equivalence classes. [2025-04-13 20:56:45,843 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 22 of 25 statements. [2025-04-13 20:56:45,844 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-13 20:56:45,844 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:45,906 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-04-13 20:56:45,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:45,907 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1389078740] [2025-04-13 20:56:45,907 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1389078740] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:45,907 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:45,907 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-04-13 20:56:45,907 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1600116129] [2025-04-13 20:56:45,907 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:45,907 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-04-13 20:56:45,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:45,908 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-13 20:56:45,908 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-04-13 20:56:45,910 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:45,911 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 37 transitions, 122 flow. Second operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 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-04-13 20:56:45,911 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:45,911 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:45,911 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:46,081 INFO L116 PetriNetUnfolderBase]: 610/951 cut-off events. [2025-04-13 20:56:46,082 INFO L117 PetriNetUnfolderBase]: For 238/238 co-relation queries the response was YES. [2025-04-13 20:56:46,083 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1931 conditions, 951 events. 610/951 cut-off events. For 238/238 co-relation queries the response was YES. Maximal size of possible extension queue 38. Compared 3367 event pairs, 73 based on Foata normal form. 35/787 useless extension candidates. Maximal degree in co-relation 1908. Up to 531 conditions per place. [2025-04-13 20:56:46,089 INFO L140 encePairwiseOnDemand]: 32/38 looper letters, 51 selfloop transitions, 5 changer transitions 2/60 dead transitions. [2025-04-13 20:56:46,089 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 41 places, 60 transitions, 291 flow [2025-04-13 20:56:46,089 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-13 20:56:46,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-04-13 20:56:46,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2025-04-13 20:56:46,092 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.5131578947368421 [2025-04-13 20:56:46,092 INFO L175 Difference]: Start difference. First operand has 38 places, 37 transitions, 122 flow. Second operand 4 states and 78 transitions. [2025-04-13 20:56:46,092 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 41 places, 60 transitions, 291 flow [2025-04-13 20:56:46,093 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 40 places, 60 transitions, 288 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-04-13 20:56:46,093 INFO L231 Difference]: Finished difference. Result has 42 places, 40 transitions, 149 flow [2025-04-13 20:56:46,094 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=119, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=37, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=149, PETRI_PLACES=42, PETRI_TRANSITIONS=40} [2025-04-13 20:56:46,096 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 8 predicate places. [2025-04-13 20:56:46,096 INFO L485 AbstractCegarLoop]: Abstraction has has 42 places, 40 transitions, 149 flow [2025-04-13 20:56:46,097 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 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-04-13 20:56:46,097 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:46,097 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] [2025-04-13 20:56:46,097 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-04-13 20:56:46,097 INFO L403 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-04-13 20:56:46,097 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:46,097 INFO L85 PathProgramCache]: Analyzing trace with hash 1032286133, now seen corresponding path program 1 times [2025-04-13 20:56:46,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:46,097 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1697831239] [2025-04-13 20:56:46,098 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:46,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:46,114 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-04-13 20:56:46,131 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-04-13 20:56:46,131 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:46,131 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:46,249 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-04-13 20:56:46,249 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:46,249 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1697831239] [2025-04-13 20:56:46,249 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1697831239] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-13 20:56:46,249 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1492512382] [2025-04-13 20:56:46,250 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:46,250 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-13 20:56:46,250 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-04-13 20:56:46,253 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-04-13 20:56:46,254 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-04-13 20:56:46,318 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-04-13 20:56:46,353 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-04-13 20:56:46,353 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:46,353 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:46,355 INFO L256 TraceCheckSpWp]: Trace formula consists of 287 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-04-13 20:56:46,359 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-13 20:56:46,416 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-04-13 20:56:46,416 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-04-13 20:56:46,469 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-04-13 20:56:46,470 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1492512382] provided 0 perfect and 2 imperfect interpolant sequences [2025-04-13 20:56:46,470 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-04-13 20:56:46,470 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 8 [2025-04-13 20:56:46,470 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [866980636] [2025-04-13 20:56:46,470 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-04-13 20:56:46,470 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2025-04-13 20:56:46,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:46,471 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2025-04-13 20:56:46,471 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=43, Unknown=0, NotChecked=0, Total=72 [2025-04-13 20:56:46,471 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:46,471 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 42 places, 40 transitions, 149 flow. Second operand has 9 states, 9 states have (on average 8.444444444444445) internal successors, (76), 9 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-04-13 20:56:46,471 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:46,471 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:46,471 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:46,709 INFO L116 PetriNetUnfolderBase]: 610/956 cut-off events. [2025-04-13 20:56:46,709 INFO L117 PetriNetUnfolderBase]: For 348/348 co-relation queries the response was YES. [2025-04-13 20:56:46,711 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2261 conditions, 956 events. 610/956 cut-off events. For 348/348 co-relation queries the response was YES. Maximal size of possible extension queue 37. Compared 3211 event pairs, 309 based on Foata normal form. 20/797 useless extension candidates. Maximal degree in co-relation 2121. Up to 799 conditions per place. [2025-04-13 20:56:46,717 INFO L140 encePairwiseOnDemand]: 29/38 looper letters, 32 selfloop transitions, 9 changer transitions 23/66 dead transitions. [2025-04-13 20:56:46,717 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 66 transitions, 373 flow [2025-04-13 20:56:46,717 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-04-13 20:56:46,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-04-13 20:56:46,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2025-04-13 20:56:46,718 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.33223684210526316 [2025-04-13 20:56:46,718 INFO L175 Difference]: Start difference. First operand has 42 places, 40 transitions, 149 flow. Second operand 8 states and 101 transitions. [2025-04-13 20:56:46,718 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 66 transitions, 373 flow [2025-04-13 20:56:46,720 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 66 transitions, 369 flow, removed 2 selfloop flow, removed 1 redundant places. [2025-04-13 20:56:46,722 INFO L231 Difference]: Finished difference. Result has 51 places, 43 transitions, 201 flow [2025-04-13 20:56:46,723 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=145, PETRI_DIFFERENCE_MINUEND_PLACES=40, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=40, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=31, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=201, PETRI_PLACES=51, PETRI_TRANSITIONS=43} [2025-04-13 20:56:46,723 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 17 predicate places. [2025-04-13 20:56:46,723 INFO L485 AbstractCegarLoop]: Abstraction has has 51 places, 43 transitions, 201 flow [2025-04-13 20:56:46,723 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 8.444444444444445) internal successors, (76), 9 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-04-13 20:56:46,723 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:46,723 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] [2025-04-13 20:56:46,730 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-04-13 20:56:46,924 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2025-04-13 20:56:46,924 INFO L403 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-04-13 20:56:46,925 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:46,925 INFO L85 PathProgramCache]: Analyzing trace with hash -1082692708, now seen corresponding path program 2 times [2025-04-13 20:56:46,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:46,925 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [679900464] [2025-04-13 20:56:46,925 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-04-13 20:56:46,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:46,936 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 30 statements into 2 equivalence classes. [2025-04-13 20:56:46,944 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 24 of 30 statements. [2025-04-13 20:56:46,944 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-04-13 20:56:46,944 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:47,004 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-04-13 20:56:47,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:47,004 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [679900464] [2025-04-13 20:56:47,004 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [679900464] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:47,004 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:47,004 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-04-13 20:56:47,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1504252387] [2025-04-13 20:56:47,005 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:47,005 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-04-13 20:56:47,005 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:47,005 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-13 20:56:47,005 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-04-13 20:56:47,005 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:47,006 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 43 transitions, 201 flow. Second operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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-04-13 20:56:47,006 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:47,006 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:47,006 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:47,232 INFO L116 PetriNetUnfolderBase]: 969/1431 cut-off events. [2025-04-13 20:56:47,232 INFO L117 PetriNetUnfolderBase]: For 508/508 co-relation queries the response was YES. [2025-04-13 20:56:47,234 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3442 conditions, 1431 events. 969/1431 cut-off events. For 508/508 co-relation queries the response was YES. Maximal size of possible extension queue 58. Compared 5536 event pairs, 299 based on Foata normal form. 33/1154 useless extension candidates. Maximal degree in co-relation 3405. Up to 805 conditions per place. [2025-04-13 20:56:47,240 INFO L140 encePairwiseOnDemand]: 33/38 looper letters, 76 selfloop transitions, 3 changer transitions 4/85 dead transitions. [2025-04-13 20:56:47,240 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 50 places, 85 transitions, 506 flow [2025-04-13 20:56:47,240 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-13 20:56:47,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-04-13 20:56:47,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 86 transitions. [2025-04-13 20:56:47,241 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.5657894736842105 [2025-04-13 20:56:47,241 INFO L175 Difference]: Start difference. First operand has 51 places, 43 transitions, 201 flow. Second operand 4 states and 86 transitions. [2025-04-13 20:56:47,241 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 50 places, 85 transitions, 506 flow [2025-04-13 20:56:47,243 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 46 places, 85 transitions, 478 flow, removed 11 selfloop flow, removed 4 redundant places. [2025-04-13 20:56:47,244 INFO L231 Difference]: Finished difference. Result has 48 places, 45 transitions, 203 flow [2025-04-13 20:56:47,244 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=177, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=43, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=40, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=203, PETRI_PLACES=48, PETRI_TRANSITIONS=45} [2025-04-13 20:56:47,244 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 14 predicate places. [2025-04-13 20:56:47,244 INFO L485 AbstractCegarLoop]: Abstraction has has 48 places, 45 transitions, 203 flow [2025-04-13 20:56:47,246 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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-04-13 20:56:47,247 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:47,249 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] [2025-04-13 20:56:47,249 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-04-13 20:56:47,249 INFO L403 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-04-13 20:56:47,249 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:47,249 INFO L85 PathProgramCache]: Analyzing trace with hash -621525596, now seen corresponding path program 3 times [2025-04-13 20:56:47,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:47,250 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1539541955] [2025-04-13 20:56:47,250 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-04-13 20:56:47,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:47,261 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 30 statements into 2 equivalence classes. [2025-04-13 20:56:47,270 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 24 of 30 statements. [2025-04-13 20:56:47,270 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-04-13 20:56:47,270 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:47,340 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-04-13 20:56:47,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:47,340 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1539541955] [2025-04-13 20:56:47,340 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1539541955] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:47,340 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:47,340 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-04-13 20:56:47,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1375281524] [2025-04-13 20:56:47,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:47,341 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-04-13 20:56:47,341 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:47,341 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-04-13 20:56:47,341 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2025-04-13 20:56:47,341 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:47,341 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 48 places, 45 transitions, 203 flow. Second operand has 5 states, 5 states have (on average 10.0) internal successors, (50), 5 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-04-13 20:56:47,341 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:47,341 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:47,341 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:47,610 INFO L116 PetriNetUnfolderBase]: 1786/2616 cut-off events. [2025-04-13 20:56:47,610 INFO L117 PetriNetUnfolderBase]: For 1791/1791 co-relation queries the response was YES. [2025-04-13 20:56:47,614 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6928 conditions, 2616 events. 1786/2616 cut-off events. For 1791/1791 co-relation queries the response was YES. Maximal size of possible extension queue 105. Compared 10926 event pairs, 185 based on Foata normal form. 80/2197 useless extension candidates. Maximal degree in co-relation 6894. Up to 1364 conditions per place. [2025-04-13 20:56:47,624 INFO L140 encePairwiseOnDemand]: 31/38 looper letters, 93 selfloop transitions, 12 changer transitions 1/108 dead transitions. [2025-04-13 20:56:47,624 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 108 transitions, 648 flow [2025-04-13 20:56:47,625 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-04-13 20:56:47,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-04-13 20:56:47,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 114 transitions. [2025-04-13 20:56:47,625 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.5 [2025-04-13 20:56:47,626 INFO L175 Difference]: Start difference. First operand has 48 places, 45 transitions, 203 flow. Second operand 6 states and 114 transitions. [2025-04-13 20:56:47,626 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 108 transitions, 648 flow [2025-04-13 20:56:47,627 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 52 places, 108 transitions, 630 flow, removed 5 selfloop flow, removed 1 redundant places. [2025-04-13 20:56:47,628 INFO L231 Difference]: Finished difference. Result has 55 places, 54 transitions, 283 flow [2025-04-13 20:56:47,628 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=199, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=283, PETRI_PLACES=55, PETRI_TRANSITIONS=54} [2025-04-13 20:56:47,629 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 21 predicate places. [2025-04-13 20:56:47,629 INFO L485 AbstractCegarLoop]: Abstraction has has 55 places, 54 transitions, 283 flow [2025-04-13 20:56:47,629 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 10.0) internal successors, (50), 5 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-04-13 20:56:47,629 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:47,629 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] [2025-04-13 20:56:47,629 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2025-04-13 20:56:47,629 INFO L403 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-04-13 20:56:47,630 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:47,630 INFO L85 PathProgramCache]: Analyzing trace with hash -1252740796, now seen corresponding path program 4 times [2025-04-13 20:56:47,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:47,630 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135824594] [2025-04-13 20:56:47,630 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-04-13 20:56:47,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:47,646 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 30 statements into 2 equivalence classes. [2025-04-13 20:56:47,648 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 17 of 30 statements. [2025-04-13 20:56:47,648 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-04-13 20:56:47,649 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:47,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-04-13 20:56:47,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:47,667 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [135824594] [2025-04-13 20:56:47,668 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [135824594] provided 1 perfect and 0 imperfect interpolant sequences [2025-04-13 20:56:47,668 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-04-13 20:56:47,668 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-04-13 20:56:47,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [809187817] [2025-04-13 20:56:47,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-04-13 20:56:47,668 INFO L562 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-04-13 20:56:47,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-04-13 20:56:47,668 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-04-13 20:56:47,668 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-04-13 20:56:47,669 INFO L464 CegarLoopForPetriNet]: Number of universal loopers: 5 out of 38 [2025-04-13 20:56:47,669 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 55 places, 54 transitions, 283 flow. Second operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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-04-13 20:56:47,669 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-04-13 20:56:47,669 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 5 of 38 [2025-04-13 20:56:47,669 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-04-13 20:56:47,902 INFO L116 PetriNetUnfolderBase]: 1625/2394 cut-off events. [2025-04-13 20:56:47,902 INFO L117 PetriNetUnfolderBase]: For 3244/3244 co-relation queries the response was YES. [2025-04-13 20:56:47,909 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7234 conditions, 2394 events. 1625/2394 cut-off events. For 3244/3244 co-relation queries the response was YES. Maximal size of possible extension queue 93. Compared 9906 event pairs, 458 based on Foata normal form. 80/2035 useless extension candidates. Maximal degree in co-relation 7197. Up to 1375 conditions per place. [2025-04-13 20:56:47,919 INFO L140 encePairwiseOnDemand]: 33/38 looper letters, 80 selfloop transitions, 13 changer transitions 1/96 dead transitions. [2025-04-13 20:56:47,919 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 58 places, 96 transitions, 664 flow [2025-04-13 20:56:47,920 INFO L140 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-04-13 20:56:47,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-04-13 20:56:47,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 82 transitions. [2025-04-13 20:56:47,920 INFO L509 CegarLoopForPetriNet]: DFA transition density 0.5394736842105263 [2025-04-13 20:56:47,920 INFO L175 Difference]: Start difference. First operand has 55 places, 54 transitions, 283 flow. Second operand 4 states and 82 transitions. [2025-04-13 20:56:47,920 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 58 places, 96 transitions, 664 flow [2025-04-13 20:56:47,925 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 56 places, 96 transitions, 650 flow, removed 3 selfloop flow, removed 2 redundant places. [2025-04-13 20:56:47,927 INFO L231 Difference]: Finished difference. Result has 57 places, 59 transitions, 347 flow [2025-04-13 20:56:47,928 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=38, PETRI_DIFFERENCE_MINUEND_FLOW=275, PETRI_DIFFERENCE_MINUEND_PLACES=53, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=44, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=347, PETRI_PLACES=57, PETRI_TRANSITIONS=59} [2025-04-13 20:56:47,928 INFO L279 CegarLoopForPetriNet]: 34 programPoint places, 23 predicate places. [2025-04-13 20:56:47,928 INFO L485 AbstractCegarLoop]: Abstraction has has 57 places, 59 transitions, 347 flow [2025-04-13 20:56:47,928 INFO L486 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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-04-13 20:56:47,928 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-04-13 20:56:47,928 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] [2025-04-13 20:56:47,928 WARN L466 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2025-04-13 20:56:47,928 INFO L403 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-04-13 20:56:47,929 INFO L155 PredicateUnifier]: Initialized classic predicate unifier [2025-04-13 20:56:47,929 INFO L85 PathProgramCache]: Analyzing trace with hash 647031279, now seen corresponding path program 1 times [2025-04-13 20:56:47,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-04-13 20:56:47,929 INFO L324 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1023041593] [2025-04-13 20:56:47,929 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:47,929 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-04-13 20:56:47,941 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 31 statements into 1 equivalence classes. [2025-04-13 20:56:48,032 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 31 of 31 statements. [2025-04-13 20:56:48,032 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:48,032 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:49,529 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-04-13 20:56:49,530 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-04-13 20:56:49,530 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1023041593] [2025-04-13 20:56:49,530 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1023041593] provided 0 perfect and 1 imperfect interpolant sequences [2025-04-13 20:56:49,530 INFO L324 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2037545437] [2025-04-13 20:56:49,530 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-04-13 20:56:49,530 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-04-13 20:56:49,530 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-04-13 20:56:49,535 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-04-13 20:56:49,536 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-04-13 20:56:49,594 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 31 statements into 1 equivalence classes. [2025-04-13 20:56:49,624 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 31 of 31 statements. [2025-04-13 20:56:49,624 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-04-13 20:56:49,624 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-04-13 20:56:49,626 INFO L256 TraceCheckSpWp]: Trace formula consists of 319 conjuncts, 22 conjuncts are in the unsatisfiable core [2025-04-13 20:56:49,629 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-04-13 20:56:50,093 INFO L325 Elim1Store]: treesize reduction 96, result has 55.8 percent of original size [2025-04-13 20:56:50,094 INFO L354 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 150 treesize of output 171 [2025-04-13 20:57:03,163 WARN L871 $PredicateComparison]: unable to prove that (let ((.cse529 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse23 (select .cse529 c_~C~0.offset)) (.cse188 (+ c_~C~0.offset 8)) (.cse0 (+ c_~C~0.offset 4))) (let ((.cse3 (select .cse529 .cse0)) (.cse245 (div (* c_~minc~0 (- 1)) 2)) (.cse4 (select .cse529 .cse188)) (.cse528 (* .cse23 2))) (let ((.cse48 (+ .cse23 1)) (.cse527 (+ .cse23 c_~minb~0)) (.cse202 (= c_~minc~0 (+ .cse23 c_~mina~0))) (.cse273 (<= c_~minc~0 .cse528)) (.cse43 (= .cse23 c_~mina~0)) (.cse272 (<= (+ .cse528 1) c_~minc~0)) (.cse285 (* 2 .cse4)) (.cse302 (+ c_~minc~0 .cse245)) (.cse429 (+ .cse23 .cse3)) (.cse20 (+ .cse23 .cse4))) (let ((.cse17 (<= .cse20 c_~minc~0)) (.cse22 (<= (+ c_~minc~0 .cse4) .cse429)) (.cse250 (<= .cse4 .cse302)) (.cse226 (= c_~mina~0 .cse4)) (.cse201 (<= .cse285 .cse3)) (.cse249 (= (mod c_~minc~0 2) 0)) (.cse247 (+ .cse245 .cse4)) (.cse50 (= c_~minc~0 .cse528)) (.cse198 (* 2 c_~mina~0)) (.cse21 (or (and .cse202 .cse273) (and .cse43 .cse272))) (.cse19 (= c_~minc~0 .cse527)) (.cse344 (<= c_~mina~0 .cse23)) (.cse18 (= .cse4 c_~minb~0)) (.cse53 (<= (* 2 c_~minb~0) .cse3)) (.cse203 (= c_~mina~0 c_~minb~0)) (.cse51 (<= .cse48 c_~minb~0)) (.cse54 (<= .cse527 c_~minc~0)) (.cse8 (+ c_~minc~0 1))) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse1 (select .cse5 ~A~0.offset)) (.cse2 (select .cse5 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse1) (<= (+ .cse2 .cse1) c_~minc~0) (<= (+ .cse1 1) .cse2) (<= (* 2 .cse2) .cse3) (= .cse2 c_~minb~0) (= .cse2 .cse4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse9 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse6 (select .cse9 ~A~0.offset)) (.cse7 (select .cse9 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse6) (<= (+ .cse6 1) .cse7) (<= (* 2 .cse7) .cse3) (<= .cse8 (+ .cse7 .cse6)) (= c_~minc~0 (+ .cse6 c_~minb~0)) (= .cse7 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse10 (+ ~A~0.offset 4))) (let ((.cse13 (select .cse16 .cse10)) (.cse12 (select .cse16 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse15 (+ ~B~0.offset 4))) (and (not (= .cse10 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse14 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse11 (select .cse14 .cse15))) (and (= .cse11 c_~minb~0) (<= (+ .cse11 .cse12) c_~minc~0) (<= (+ .cse13 .cse11) .cse3) (= c_~minc~0 (+ (select .cse14 ~B~0.offset) .cse12)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse15))))) (= c_~mina~0 .cse13) (<= .cse13 .cse12))))) (and (or (and .cse17 .cse18) (and .cse19 (<= .cse8 .cse20))) .cse21 .cse22) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse26 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse26 ~A~0.offset)) (.cse25 (select .cse26 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse24)) (= c_~mina~0 .cse24) (<= (+ .cse25 c_~minb~0) .cse3) (<= (+ .cse24 c_~minb~0) c_~minc~0) (<= (+ .cse24 1) .cse25))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse29 (select .cse32 (+ ~A~0.offset 4))) (.cse28 (select .cse32 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse31 (select |c_#memory_int#1| ~B~0.base)) (.cse30 (+ ~B~0.offset 4))) (let ((.cse27 (select .cse31 .cse30))) (and (<= .cse8 (+ .cse27 .cse28)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse29 .cse27) .cse3) (not (= ~A~0.offset .cse30)) (= c_~minc~0 (+ (select .cse31 ~B~0.offset) .cse28)))))) (= c_~mina~0 .cse29) (<= .cse29 .cse28) (= c_~minc~0 (+ .cse28 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse33 (select .cse37 (+ ~A~0.offset 4))) (.cse34 (select .cse37 ~A~0.offset))) (and (= c_~minc~0 (+ .cse33 .cse34)) (= c_~mina~0 .cse33) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse36 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse35 (select .cse36 (+ ~B~0.offset 4)))) (and (= .cse35 c_~minb~0) (= .cse35 .cse34) (<= (+ .cse35 .cse34) c_~minc~0) (<= (+ .cse33 .cse35) .cse3) (= c_~minc~0 (+ (select .cse36 ~B~0.offset) .cse34)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse33 .cse34))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse42 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse39 (select .cse42 (+ ~A~0.offset 4))) (.cse38 (select .cse42 ~A~0.offset))) (and (= c_~mina~0 .cse38) (<= (+ .cse38 1) .cse39) (<= (* 2 .cse39) .cse3) (exists ((~B~0.offset Int)) (let ((.cse41 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse40 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse39 (select .cse40 .cse41)) (= c_~minc~0 (+ (select .cse40 ~B~0.offset) .cse38))))) (not (= ~A~0.offset .cse41))))) (<= .cse8 (+ .cse39 .cse38)) (= c_~minc~0 (+ .cse38 c_~minb~0)))))) (and .cse43 (let ((.cse49 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse63 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse62 (select .cse63 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse62 1) .cse3) (= .cse62 c_~minb~0) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse62) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse45 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse44 (select .cse45 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse44 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse44)) (= c_~minc~0 (+ (select .cse45 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse47 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse46 (select .cse47 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse23 .cse46)) (= c_~minc~0 (+ (select .cse47 ~B~0.offset) .cse23)) (<= (* 2 .cse46) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse48 .cse46) (not (= ~B~0.offset .cse0))))))) .cse49 (and .cse49 .cse50) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse52 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse53 .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse56 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse55 (select .cse56 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse55 1) .cse3) (<= .cse8 (+ .cse23 .cse55)) (= c_~minc~0 (+ (select .cse56 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse58 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse57 (select .cse58 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse57 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (= .cse57 c_~minb~0) (= c_~minc~0 (+ (select .cse58 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse57) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse51 .cse53 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse59 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse59 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse59 ~B~0.offset) .cse23)) (not (= ~B~0.offset .cse0))))) .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse61 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse60 (select .cse61 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse60)) (= c_~minc~0 (+ (select .cse61 ~B~0.offset) .cse23)) (<= (* 2 .cse60) .cse3) (<= .cse48 .cse60) (not (= ~B~0.offset .cse0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse65 (select .cse68 ~A~0.offset)) (.cse64 (select .cse68 (+ ~A~0.offset 4)))) (and (<= (+ .cse64 .cse65) c_~minc~0) (= c_~mina~0 .cse64) (<= (* 2 .cse64) .cse3) (<= .cse64 .cse65) (exists ((~B~0.offset Int)) (let ((.cse67 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse64 (select .cse66 .cse67)) (= c_~minc~0 (+ (select .cse66 ~B~0.offset) .cse65))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse67))))) (= .cse64 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse70 (+ ~A~0.offset 4)) (.cse75 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse69 (select .cse75 ~A~0.offset)) (.cse72 (select .cse75 .cse70))) (and (= c_~mina~0 .cse69) (exists ((~B~0.offset Int)) (let ((.cse74 (+ ~B~0.offset 4))) (and (not (= .cse70 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse73 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse71 (select .cse73 .cse74))) (and (= .cse71 c_~minb~0) (<= (+ .cse71 .cse69) c_~minc~0) (<= (+ .cse72 .cse71) .cse3) (= c_~minc~0 (+ (select .cse73 ~B~0.offset) .cse69)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse74))))) (<= (+ .cse69 1) .cse72))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (+ ~A~0.offset 4)) (.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse76 (select .cse81 ~A~0.offset)) (.cse77 (select .cse81 .cse78))) (and (= c_~mina~0 .cse76) (<= (+ .cse77 .cse76) c_~minc~0) (<= (+ .cse76 1) .cse77) (exists ((~B~0.offset Int)) (let ((.cse80 (+ ~B~0.offset 4))) (and (not (= .cse78 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse79 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse77 (select .cse79 .cse80)) (= c_~minc~0 (+ (select .cse79 ~B~0.offset) .cse76))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse80))))) (<= (* 2 .cse77) .cse3) (= .cse77 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse86 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse83 (select .cse86 (+ ~A~0.offset 4))) (.cse82 (select .cse86 ~A~0.offset))) (and (= c_~mina~0 .cse82) (<= (+ .cse82 1) .cse83) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse84 (select .cse85 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse84 .cse82)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse83 .cse84) .cse3) (= c_~minc~0 (+ (select .cse85 ~B~0.offset) .cse82)))))) (= c_~minc~0 (+ .cse82 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse89 (+ ~A~0.offset 4))) (.cse87 (select .cse89 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse87)) (<= (+ .cse88 .cse4) .cse3) (= c_~mina~0 .cse88) (<= .cse88 .cse87) (= c_~minc~0 (+ .cse87 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse91 (+ ~A~0.offset 4)) (.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse94 (select .cse95 ~A~0.offset)) (.cse90 (select .cse95 .cse91))) (and (= c_~mina~0 .cse90) (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (not (= .cse91 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse90 (select .cse92 .cse93)) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~A~0.offset .cse93))))) (<= (* 2 .cse90) .cse3) (<= .cse90 .cse94) (= c_~minc~0 (* 2 .cse94)) (= .cse90 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse101 (select |c_#memory_int#1| ~A~0.base)) (.cse98 (+ ~A~0.offset 4))) (let ((.cse97 (select .cse101 .cse98)) (.cse96 (select .cse101 ~A~0.offset))) (and (= c_~mina~0 .cse96) (<= (+ .cse96 1) .cse97) (exists ((~B~0.offset Int)) (let ((.cse100 (+ ~B~0.offset 4))) (and (not (= .cse98 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse99 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse97 (select .cse99 .cse100)) (= c_~minc~0 (+ (select .cse99 ~B~0.offset) .cse96))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse100))))) (<= (* 2 .cse97) .cse3) (<= .cse8 (+ .cse97 .cse96)) (= c_~minc~0 (+ .cse96 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse103 (select .cse104 ~A~0.offset)) (.cse102 (select .cse104 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse102) (<= (* 2 .cse102) .cse3) (<= .cse8 (+ .cse102 .cse103)) (<= .cse102 .cse103) (= c_~minc~0 (+ .cse103 c_~minb~0)) (= .cse102 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse105 (select .cse110 ~A~0.offset)) (.cse107 (select .cse110 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse105) (exists ((~B~0.offset Int)) (let ((.cse109 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse108 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse106 (select .cse108 .cse109))) (and (= .cse106 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse106 .cse105) c_~minc~0) (<= (+ .cse107 .cse106) .cse3) (= c_~minc~0 (+ (select .cse108 ~B~0.offset) .cse105)))))) (not (= ~A~0.offset .cse109))))) (<= (+ .cse105 1) .cse107))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse113 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse112 (select .cse113 (+ ~A~0.offset 4))) (.cse111 (select .cse113 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse111)) (<= (+ .cse112 .cse4) .cse3) (= c_~mina~0 .cse112) (<= .cse112 .cse111) (= c_~minc~0 (+ .cse111 c_~minb~0)) (= c_~minc~0 (* 2 .cse111)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse114 (select .cse116 (+ ~A~0.offset 4))) (.cse115 (select .cse116 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse114 .cse4) .cse3) (= c_~mina~0 .cse114) (<= .cse114 .cse115) (= c_~minc~0 (* 2 .cse115)) (<= (+ .cse4 .cse115) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse119 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse117 (select .cse119 (+ ~A~0.offset 4))) (.cse118 (select .cse119 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse117 .cse4) .cse3) (= c_~mina~0 .cse117) (<= .cse117 .cse118) (<= (+ .cse4 .cse118) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse122 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse121 (select .cse122 ~A~0.offset)) (.cse120 (select .cse122 (+ ~A~0.offset 4)))) (and (<= (+ .cse120 .cse121) c_~minc~0) (= c_~mina~0 .cse120) (<= (* 2 .cse120) .cse3) (<= .cse120 .cse121) (= .cse120 c_~minb~0) (= .cse120 .cse4))))) (not (= ~A~0.offset .cse0)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse127 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse123 (select .cse127 ~A~0.offset)) (.cse124 (select .cse127 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse123) (= c_~minc~0 (+ .cse124 .cse123)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse126 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse125 (select .cse126 (+ ~B~0.offset 4)))) (and (= .cse125 c_~minb~0) (= .cse125 .cse123) (<= (+ .cse124 .cse125) .cse3) (= c_~minc~0 (+ (select .cse126 ~B~0.offset) .cse123)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse123 1) .cse124))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse130 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse129 (select .cse130 (+ ~A~0.offset 4))) (.cse128 (select .cse130 ~A~0.offset))) (and (= c_~mina~0 .cse128) (<= .cse8 (+ .cse4 .cse128)) (<= (+ .cse129 .cse4) .cse3) (<= (+ .cse128 1) .cse129) (= c_~minc~0 (+ .cse128 c_~minb~0)) (= c_~minc~0 (* 2 .cse128)))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse133 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse132 (select .cse133 ~A~0.offset)) (.cse131 (select .cse133 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse131) (<= (* 2 .cse131) .cse3) (<= .cse8 (+ .cse131 .cse132)) (<= .cse131 .cse132) (= c_~minc~0 (+ .cse132 c_~minb~0)) (= .cse131 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse138 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse135 (select .cse138 (+ ~A~0.offset 4))) (.cse134 (select .cse138 ~A~0.offset))) (and (= c_~mina~0 .cse134) (<= (+ .cse134 1) .cse135) (<= (* 2 .cse135) .cse3) (<= .cse8 (+ .cse135 .cse134)) (= c_~minc~0 (+ .cse134 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse137 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse136 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse135 (select .cse136 .cse137)) (= c_~minc~0 (+ (select .cse136 ~B~0.offset) .cse134))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse137))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse143 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse139 (select .cse143 (+ ~A~0.offset 4))) (.cse142 (select .cse143 ~A~0.offset))) (and (= c_~mina~0 .cse139) (<= (* 2 .cse139) .cse3) (exists ((~B~0.offset Int)) (let ((.cse141 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse139 (select .cse140 .cse141)) (= c_~minc~0 (+ (select .cse140 ~B~0.offset) .cse142))))) (not (= ~A~0.offset .cse141))))) (<= .cse8 (+ .cse139 .cse142)) (<= .cse139 .cse142) (= c_~minc~0 (+ .cse142 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse144 (select .cse148 ~A~0.offset)) (.cse146 (select .cse148 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse144) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse147 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse145 (select .cse147 (+ ~B~0.offset 4)))) (and (= .cse145 c_~minb~0) (<= (+ .cse145 .cse144) c_~minc~0) (<= (+ .cse146 .cse145) .cse3) (= c_~minc~0 (+ (select .cse147 ~B~0.offset) .cse144)))))) (not (= ~A~0.base ~B~0.base)))) (<= (+ .cse144 1) .cse146))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse151 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse150 (select .cse151 ~A~0.offset)) (.cse149 (select .cse151 (+ ~A~0.offset 4)))) (and (<= (+ .cse149 .cse150) c_~minc~0) (= c_~mina~0 .cse149) (<= (* 2 .cse149) .cse3) (<= .cse149 .cse150) (= .cse149 c_~minb~0) (= .cse149 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse156 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse154 (select .cse156 (+ ~A~0.offset 4))) (.cse153 (select .cse156 ~A~0.offset))) (and (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse155 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse152 (select .cse155 (+ ~B~0.offset 4)))) (and (= .cse152 c_~minb~0) (<= (+ .cse152 .cse153) c_~minc~0) (<= (+ .cse154 .cse152) .cse3) (= c_~minc~0 (+ (select .cse155 ~B~0.offset) .cse153)))))) (not (= ~A~0.base ~B~0.base)))) (= c_~mina~0 .cse154) (<= .cse154 .cse153))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse162 (select |c_#memory_int#1| ~A~0.base)) (.cse158 (+ ~A~0.offset 4))) (let ((.cse157 (select .cse162 .cse158)) (.cse161 (select .cse162 ~A~0.offset))) (and (= c_~mina~0 .cse157) (exists ((~B~0.offset Int)) (let ((.cse160 (+ ~B~0.offset 4))) (and (not (= .cse158 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse159 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse157 (select .cse159 .cse160)) (= c_~minc~0 (+ (select .cse159 ~B~0.offset) .cse161))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse160))))) (<= (* 2 .cse157) .cse3) (<= .cse8 (+ .cse157 .cse161)) (<= .cse157 .cse161) (= c_~minc~0 (+ .cse161 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse164 (select .cse165 (+ ~A~0.offset 4))) (.cse163 (select .cse165 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse163)) (<= (* 2 .cse163) c_~minc~0) (<= (+ .cse164 .cse163) .cse3) (= c_~mina~0 .cse164) (= .cse163 c_~minb~0) (<= .cse164 .cse163))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse171 (select |c_#memory_int#1| ~A~0.base)) (.cse168 (+ ~A~0.offset 4))) (let ((.cse167 (select .cse171 .cse168)) (.cse166 (select .cse171 ~A~0.offset))) (and (= c_~mina~0 .cse166) (<= (+ .cse166 1) .cse167) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse169 (select .cse170 (+ ~B~0.offset 4)))) (and (not (= .cse168 ~B~0.offset)) (<= .cse8 (+ .cse169 .cse166)) (= .cse169 .cse166) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse167 .cse169) .cse3) (= c_~minc~0 (+ (select .cse170 ~B~0.offset) .cse166)))))) (= c_~minc~0 (+ .cse166 c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse173 (select .cse174 (+ ~A~0.offset 4))) (.cse172 (select .cse174 ~A~0.offset))) (and (= c_~mina~0 .cse172) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse173 .cse4) .cse3) (<= (+ .cse172 1) .cse173) (<= (+ .cse4 .cse172) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse175 (select .cse177 (+ ~A~0.offset 4))) (.cse176 (select .cse177 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse175 .cse4) .cse3) (= c_~mina~0 .cse175) (<= .cse175 .cse176) (<= (+ .cse4 .cse176) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse182 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse180 (select .cse182 (+ ~A~0.offset 4))) (.cse179 (select .cse182 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse181 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse178 (select .cse181 (+ ~B~0.offset 4)))) (and (= .cse178 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse178 .cse179) (<= (+ .cse178 .cse179) c_~minc~0) (<= (+ .cse180 .cse178) .cse3) (= c_~minc~0 (+ (select .cse181 ~B~0.offset) .cse179)))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse180) (<= .cse180 .cse179))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse185 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse184 (select .cse185 (+ ~A~0.offset 4))) (.cse183 (select .cse185 ~A~0.offset))) (and (= c_~mina~0 .cse183) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse184 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (<= (+ .cse183 1) .cse184) (<= (+ .cse4 .cse183) c_~minc~0))))) .cse18) (and (<= (+ c_~mina~0 1) .cse4) (let ((.cse200 (+ c_~mina~0 .cse4))) (let ((.cse193 (= c_~minc~0 .cse200)) (.cse186 (= c_~minc~0 (+ c_~mina~0 c_~minb~0)))) (or (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse187 (select .cse189 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse187)) (= c_~mina~0 .cse187) (not (= .cse188 ~B~0.offset)) (= c_~minc~0 (+ (select .cse189 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse187) .cse3) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse190 (select .cse191 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse190 c_~minb~0) (<= (+ c_~mina~0 .cse190) c_~minc~0) (= c_~minc~0 (+ (select .cse191 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse190) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (let ((.cse194 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse199 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse199 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse199 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)))))) (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse192 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse192 ~B~0.offset) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse193) .cse194 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse195 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse195 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse195 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse196 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse196 ~B~0.offset) c_~mina~0))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (or .cse194 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse197 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse197 ~B~0.offset) c_~mina~0))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse198)))) (or (and (<= .cse8 .cse200) .cse186) (and (<= .cse200 c_~minc~0) .cse18)) .cse201) (and .cse202 (<= .cse200 .cse3) (or (and (<= .cse8 .cse198) .cse186) (and (<= .cse198 c_~minc~0) .cse203))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse205 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse204 (select .cse205 (+ ~B~0.offset 4)))) (and (= .cse204 c_~minb~0) (<= (+ c_~mina~0 .cse204) c_~minc~0) (= c_~minc~0 (+ (select .cse205 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse204) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse207 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse206 (select .cse207 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse206)) (= c_~minc~0 (+ (select .cse207 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse206) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse209 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse208 (select .cse209 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse208) (= .cse208 c_~minb~0) (= c_~minc~0 (+ (select .cse209 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse208) .cse3))))) (not (= ~B~0.offset .cse0))))) .cse193) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse211 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse210 (select .cse211 (+ ~B~0.offset 4)))) (and (= .cse210 c_~minb~0) (<= (+ c_~mina~0 .cse210) c_~minc~0) (= c_~minc~0 (+ (select .cse211 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse210) .cse3))))))) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse212 (select .cse213 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse212)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse213 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse212) .cse3)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse215 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse214 (select .cse215 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse214)) (not (= .cse188 ~B~0.offset)) (= c_~minc~0 (+ (select .cse215 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse214) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse186) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse216 (select .cse217 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse216)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse217 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse216) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse219 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse218 (select .cse219 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse218)) (= c_~mina~0 .cse218) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse219 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse218) .cse3) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse220 (select .cse221 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse220) (not (= c_~C~0.base ~B~0.base)) (= .cse220 c_~minb~0) (<= (+ c_~mina~0 .cse220) c_~minc~0) (= c_~minc~0 (+ (select .cse221 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse220) .cse3))))) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse222 (select .cse223 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse222) (= .cse222 c_~minb~0) (<= (+ c_~mina~0 .cse222) c_~minc~0) (= c_~minc~0 (+ (select .cse223 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse222) .cse3))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse225 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse224 (select .cse225 (+ ~B~0.offset 4)))) (and (= .cse224 c_~minb~0) (<= (+ c_~mina~0 .cse224) c_~minc~0) (= c_~minc~0 (+ (select .cse225 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse224) .cse3))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (and .cse226 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse227 (select .cse229 ~B~0.offset)) (.cse228 (select .cse229 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse227 1) .cse228) (= .cse227 c_~minb~0) (<= (+ .cse227 .cse4) c_~minc~0) (<= (+ .cse4 .cse228) .cse3))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse230 (select .cse232 ~B~0.offset)) (.cse231 (select .cse232 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse230 1) .cse231) (= .cse230 c_~minb~0) (<= (+ .cse230 .cse4) c_~minc~0) (<= (+ .cse4 .cse231) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (and (or (and (<= (+ .cse4 c_~minb~0) c_~minc~0) (<= (+ c_~minb~0 1) .cse4) (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse233 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse233 (+ ~B~0.offset 4))) (= (select .cse233 ~B~0.offset) c_~minb~0)))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse234 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse234 (+ ~B~0.offset 4))) (= (select .cse234 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse235 (+ ~B~0.offset 4))) (= (select .cse235 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse236 (select .cse237 ~B~0.offset))) (and (<= .cse4 .cse236) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse237 (+ ~B~0.offset 4))) (<= (+ .cse236 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse239 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse238 (select .cse239 ~B~0.offset))) (and (<= .cse4 .cse238) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse239 (+ ~B~0.offset 4))) (<= (+ .cse238 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse241 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse240 (select .cse241 ~B~0.offset))) (and (= .cse240 .cse4) (= .cse4 (select .cse241 (+ ~B~0.offset 4))) (<= (+ .cse240 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse242 (select .cse243 ~B~0.offset))) (and (<= .cse4 .cse242) (= .cse4 (select .cse243 (+ ~B~0.offset 4))) (not (= .cse188 ~B~0.offset)) (<= (+ .cse242 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ (select .cse244 ~B~0.offset) .cse245) 0) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse244 (+ ~B~0.offset 4)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (not (= .cse188 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse246 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ (select .cse246 ~B~0.offset) .cse245) 0) (= .cse4 (select .cse246 (+ ~B~0.offset 4)))))) (not (= ~B~0.offset c_~C~0.offset)))) (and (= .cse247 0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse248 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ (select .cse248 ~B~0.offset) .cse245) 0) (= .cse4 (select .cse248 (+ ~B~0.offset 4))) (not (= ~B~0.offset c_~C~0.offset))))))) .cse249 .cse250)) .cse18)) .cse201) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse252 (select .cse253 ~B~0.offset)) (.cse251 (select .cse253 (+ ~B~0.offset 4)))) (and (= .cse251 c_~minb~0) (not (= .cse188 ~B~0.offset)) (<= .cse251 .cse252) (<= (+ .cse252 .cse4) c_~minc~0) (<= (+ .cse4 .cse251) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse254 (select .cse256 ~B~0.offset)) (.cse255 (select .cse256 (+ ~B~0.offset 4)))) (and (<= (+ .cse254 1) .cse255) (= c_~minc~0 (+ .cse254 .cse255)) (not (= .cse188 ~B~0.offset)) (= .cse254 c_~minb~0) (<= (+ .cse254 .cse4) c_~minc~0) (<= (+ .cse4 .cse255) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse257 (select .cse259 ~B~0.offset)) (.cse258 (select .cse259 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse257 1) .cse258) (= c_~minc~0 (+ .cse257 .cse258)) (= .cse257 c_~minb~0) (<= (+ .cse257 .cse4) c_~minc~0) (<= (+ .cse4 .cse258) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse261 (select .cse262 ~B~0.offset)) (.cse260 (select .cse262 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse260 c_~minb~0) (= c_~minc~0 (+ .cse261 .cse260)) (<= .cse260 .cse261) (<= (+ .cse261 .cse4) c_~minc~0) (<= (+ .cse4 .cse260) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse263 (select .cse265 ~B~0.offset)) (.cse264 (select .cse265 (+ ~B~0.offset 4)))) (and (<= (+ .cse263 1) .cse264) (not (= .cse188 ~B~0.offset)) (= .cse263 c_~minb~0) (<= (+ .cse263 .cse4) c_~minc~0) (<= (+ .cse4 .cse264) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse268 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse267 (select .cse268 ~B~0.offset)) (.cse266 (select .cse268 (+ ~B~0.offset 4)))) (and (= .cse266 c_~minb~0) (= c_~minc~0 (+ .cse267 .cse266)) (not (= .cse188 ~B~0.offset)) (<= .cse266 .cse267) (<= (+ .cse267 .cse4) c_~minc~0) (<= (+ .cse4 .cse266) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse270 (select .cse271 ~B~0.offset)) (.cse269 (select .cse271 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse269 c_~minb~0) (<= .cse269 .cse270) (<= (+ .cse270 .cse4) c_~minc~0) (<= (+ .cse4 .cse269) .cse3))))) (and .cse17 (or (and (= .cse23 c_~minb~0) .cse272) (and .cse19 .cse273)) .cse22) (and (let ((.cse279 (+ .cse4 1))) (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse275 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse274 (select .cse275 (+ ~B~0.offset 4)))) (and (= .cse274 c_~minb~0) (<= .cse274 .cse4) (= (select .cse275 ~B~0.offset) .cse4) (<= (+ .cse4 .cse274) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse277 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse276 (select .cse277 (+ ~B~0.offset 4)))) (let ((.cse278 (+ .cse4 .cse276))) (and (= .cse276 c_~minb~0) (<= .cse276 .cse4) (= (select .cse277 ~B~0.offset) .cse4) (<= .cse278 .cse3) (= c_~minc~0 .cse278)))))) (not (= ~B~0.offset .cse0)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse280 (select .cse281 (+ ~B~0.offset 4)))) (and (<= .cse279 .cse280) (= (select .cse281 ~B~0.offset) .cse4) (<= (+ .cse4 .cse280) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse283 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse282 (select .cse283 (+ ~B~0.offset 4)))) (let ((.cse284 (+ .cse4 .cse282))) (and (<= .cse279 .cse282) (= (select .cse283 ~B~0.offset) .cse4) (<= .cse284 .cse3) (= c_~minc~0 .cse284) (not (= ~B~0.offset .cse0))))))) .cse18))) (<= .cse285 c_~minc~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse288 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse287 (select .cse288 ~B~0.offset)) (.cse286 (select .cse288 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse286 c_~minb~0) (<= .cse286 .cse287) (<= (+ .cse287 .cse4) c_~minc~0) (<= (+ .cse4 .cse286) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse295 (select |c_#memory_int#1| ~A~0.base)) (.cse290 (+ ~A~0.offset 4))) (let ((.cse292 (select .cse295 .cse290)) (.cse289 (select .cse295 ~A~0.offset))) (and (= c_~mina~0 .cse289) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse294 (select |c_#memory_int#1| ~B~0.base)) (.cse293 (+ ~B~0.offset 4))) (let ((.cse291 (select .cse294 .cse293))) (and (not (= .cse290 ~B~0.offset)) (<= .cse8 (+ .cse291 .cse289)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse292 .cse291) .cse3) (not (= ~A~0.offset .cse293)) (= c_~minc~0 (+ (select .cse294 ~B~0.offset) .cse289)))))) (<= (+ .cse289 1) .cse292) (= c_~minc~0 (+ .cse289 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse301 (select |c_#memory_int#1| ~A~0.base)) (.cse298 (+ ~A~0.offset 4))) (let ((.cse297 (select .cse301 .cse298)) (.cse296 (select .cse301 ~A~0.offset))) (and (= c_~mina~0 .cse296) (<= (+ .cse296 1) .cse297) (exists ((~B~0.offset Int)) (and (not (= .cse298 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse300 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse299 (select .cse300 (+ ~B~0.offset 4)))) (and (= .cse299 c_~minb~0) (= .cse299 .cse296) (<= (+ .cse299 .cse296) c_~minc~0) (<= (+ .cse297 .cse299) .cse3) (= c_~minc~0 (+ (select .cse300 ~B~0.offset) .cse296)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (or (and (= c_~mina~0 .cse302) (<= (+ c_~minc~0 .cse245 1) .cse4)) (and .cse250 .cse226)) .cse201 .cse249 (or (and (<= .cse247 0) .cse18) (and (<= 1 .cse247) (= (+ .cse245 c_~minb~0) 0)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse303 (select .cse305 ~A~0.offset)) (.cse304 (select .cse305 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse303)) (= c_~mina~0 .cse303) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse304 c_~minb~0) .cse3) (<= (+ .cse303 c_~minb~0) c_~minc~0) (<= (+ .cse303 1) .cse304))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse311 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse311 (+ ~A~0.offset 4))) (.cse307 (select .cse311 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse310 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse306 (select .cse309 .cse310))) (and (= .cse306 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse306 .cse307) c_~minc~0) (<= (+ .cse308 .cse306) .cse3) (= c_~minc~0 (+ (select .cse309 ~B~0.offset) .cse307)))))) (not (= ~A~0.offset .cse310))))) (= c_~mina~0 .cse308) (<= .cse308 .cse307))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse314 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse312 (select .cse314 ~A~0.offset)) (.cse313 (select .cse314 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse312) (<= (+ .cse312 1) .cse313) (<= (* 2 .cse313) .cse3) (<= .cse8 (+ .cse313 .cse312)) (= c_~minc~0 (+ .cse312 c_~minb~0)) (= .cse313 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse319 (+ ~A~0.offset 4))) (.cse315 (select .cse319 ~A~0.offset))) (and (= c_~mina~0 .cse315) (<= (+ .cse315 1) .cse316) (<= (* 2 .cse316) .cse3) (exists ((~B~0.offset Int)) (let ((.cse318 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse317 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse316 (select .cse317 .cse318)) (= c_~minc~0 (+ (select .cse317 ~B~0.offset) .cse315))))) (not (= ~A~0.offset .cse318))))) (= c_~minc~0 (+ .cse315 c_~minb~0)) (= c_~minc~0 (* 2 .cse315)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse321 (select .cse325 (+ ~A~0.offset 4))) (.cse320 (select .cse325 ~A~0.offset))) (and (= c_~mina~0 .cse320) (= c_~minc~0 (+ .cse321 .cse320)) (<= (+ .cse320 1) .cse321) (exists ((~B~0.offset Int)) (let ((.cse324 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse323 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse322 (select .cse323 .cse324))) (and (= .cse322 c_~minb~0) (<= (+ .cse322 .cse320) c_~minc~0) (<= (+ .cse321 .cse322) .cse3) (= c_~minc~0 (+ (select .cse323 ~B~0.offset) .cse320)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse324))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse330 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse329 (select .cse330 ~A~0.offset)) (.cse326 (select .cse330 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse326) (<= (* 2 .cse326) .cse3) (exists ((~B~0.offset Int)) (let ((.cse328 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse327 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse326 (select .cse327 .cse328)) (= c_~minc~0 (+ (select .cse327 ~B~0.offset) .cse329))))) (not (= ~A~0.offset .cse328))))) (<= .cse326 .cse329) (= c_~minc~0 (* 2 .cse329)) (= .cse326 c_~minb~0))))) (and .cse19 (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse332 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse331 (select .cse332 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse331) (<= .cse8 (+ .cse23 .cse331)) (<= .cse331 .cse23) (= c_~minc~0 (+ (select .cse332 ~B~0.offset) .cse23)) (<= (* 2 .cse331) .cse3))))))) (and .cse43 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse334 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse333 (select .cse334 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse333)) (= c_~minc~0 (+ (select .cse334 ~B~0.offset) .cse23)) (<= (* 2 .cse333) .cse3) (<= .cse48 .cse333)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse339 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse335 (select .cse339 (+ ~A~0.offset 4))) (.cse336 (select .cse339 ~A~0.offset))) (and (= c_~mina~0 .cse335) (<= .cse335 .cse336) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse337 (select .cse338 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse337 .cse336)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse335 .cse337) .cse3) (= c_~minc~0 (+ (select .cse338 ~B~0.offset) .cse336)))))) (= c_~minc~0 (+ .cse336 c_~minb~0)))))) (and (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse340 (select .cse341 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse340) .cse3) (<= .cse8 (+ .cse23 .cse340)) (= c_~minc~0 (+ (select .cse341 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse343 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse342 (select .cse343 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse342) .cse3) (= .cse342 c_~minb~0) (= c_~minc~0 (+ (select .cse343 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse342) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse50 (<= .cse198 .cse3) .cse203)) .cse344) (and .cse43 (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse346 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse345 (select .cse346 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse345 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse345)) (= c_~minc~0 (+ (select .cse346 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse348 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse347 (select .cse348 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse347 1) .cse3) (= .cse347 c_~minb~0) (= c_~minc~0 (+ (select .cse348 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse347) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse350 (select .cse353 ~A~0.offset)) (.cse349 (select .cse353 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse349 .cse350)) (= c_~mina~0 .cse349) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse352 (+ ~B~0.offset 4)) (.cse351 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse349 (select .cse351 .cse352)) (not (= ~A~0.offset .cse352)) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse350))))) (<= (* 2 .cse349) .cse3) (= c_~minc~0 (* 2 .cse350)) (= .cse349 c_~minb~0))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse354 (select .cse356 (+ ~A~0.offset 4))) (.cse355 (select .cse356 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse354 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (= c_~mina~0 .cse354) (<= .cse354 .cse355) (<= (+ .cse4 .cse355) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse357 (select .cse361 (+ ~A~0.offset 4))) (.cse358 (select .cse361 ~A~0.offset))) (and (= c_~mina~0 .cse357) (<= (* 2 .cse357) .cse3) (<= .cse8 (+ .cse357 .cse358)) (<= .cse357 .cse358) (= c_~minc~0 (+ .cse358 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse360 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse359 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse357 (select .cse359 .cse360)) (= c_~minc~0 (+ (select .cse359 ~B~0.offset) .cse358))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse360))))))))) (and (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse363 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse362 (select .cse363 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse362) .cse3) (= .cse362 c_~minb~0) (= c_~minc~0 (+ (select .cse363 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse362) c_~minc~0))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse365 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse364 (select .cse365 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse364) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse364)) (= c_~minc~0 (+ (select .cse365 ~B~0.offset) .cse23)))))) .cse19)) .cse344) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse366 (select .cse368 ~A~0.offset)) (.cse367 (select .cse368 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse366) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse367 .cse366) c_~minc~0) (<= (+ .cse366 1) .cse367) (<= (* 2 .cse367) .cse3) (= .cse367 c_~minb~0) (= .cse367 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~A~0.base)) (.cse370 (+ ~A~0.offset 4))) (let ((.cse371 (select .cse374 .cse370)) (.cse369 (select .cse374 ~A~0.offset))) (and (= c_~mina~0 .cse369) (exists ((~B~0.offset Int)) (let ((.cse373 (+ ~B~0.offset 4))) (and (not (= .cse370 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse372 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse371 (select .cse372 .cse373)) (= c_~minc~0 (+ (select .cse372 ~B~0.offset) .cse369))))) (not (= ~A~0.offset .cse373))))) (<= (+ .cse369 1) .cse371) (<= (* 2 .cse371) .cse3) (= c_~minc~0 (+ .cse369 c_~minb~0)) (= c_~minc~0 (* 2 .cse369)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse380 (select |c_#memory_int#1| ~A~0.base)) (.cse376 (+ ~A~0.offset 4))) (let ((.cse375 (select .cse380 .cse376)) (.cse378 (select .cse380 ~A~0.offset))) (and (= c_~mina~0 .cse375) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse379 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse377 (select .cse379 (+ ~B~0.offset 4)))) (and (not (= .cse376 ~B~0.offset)) (<= .cse8 (+ .cse377 .cse378)) (= .cse377 .cse378) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse375 .cse377) .cse3) (= c_~minc~0 (+ (select .cse379 ~B~0.offset) .cse378)))))) (<= .cse375 .cse378) (= c_~minc~0 (+ .cse378 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse383 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse382 (select .cse383 (+ ~A~0.offset 4))) (.cse381 (select .cse383 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse381)) (<= (+ .cse382 .cse4) .cse3) (= c_~mina~0 .cse382) (<= .cse382 .cse381) (= c_~minc~0 (+ .cse381 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse388 ~A~0.offset)) (.cse386 (select .cse388 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse384) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse387 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse385 (select .cse387 (+ ~B~0.offset 4)))) (and (= .cse385 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse385 .cse384) (<= (+ .cse385 .cse384) c_~minc~0) (<= (+ .cse386 .cse385) .cse3) (= c_~minc~0 (+ (select .cse387 ~B~0.offset) .cse384)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse384 1) .cse386))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse391 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse390 (select .cse391 (+ ~A~0.offset 4))) (.cse389 (select .cse391 ~A~0.offset))) (and (= c_~mina~0 .cse389) (<= .cse8 (+ .cse4 .cse389)) (<= (+ .cse390 .cse4) .cse3) (<= (+ .cse389 1) .cse390) (= c_~minc~0 (+ .cse389 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse394 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse392 (select .cse394 ~A~0.offset)) (.cse393 (select .cse394 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse392) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse392 1) .cse393) (<= (* 2 .cse393) .cse3) (<= .cse8 (+ .cse393 .cse392)) (= c_~minc~0 (+ .cse392 c_~minb~0)) (= .cse393 .cse4))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse397 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse396 (select .cse397 (+ ~A~0.offset 4))) (.cse395 (select .cse397 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse395)) (<= (+ .cse396 .cse395) .cse3) (= c_~mina~0 .cse396) (<= .cse8 (* 2 .cse395)) (<= .cse396 .cse395) (= c_~minc~0 (+ .cse395 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse400 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse399 (select .cse400 (+ ~A~0.offset 4))) (.cse398 (select .cse400 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse398)) (= c_~mina~0 .cse398) (<= (+ .cse399 .cse398) .cse3) (<= (+ .cse398 1) .cse399) (<= .cse8 (* 2 .cse398)) (= c_~minc~0 (+ .cse398 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse402 (select .cse403 (+ ~A~0.offset 4))) (.cse401 (select .cse403 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse401)) (<= (* 2 .cse401) c_~minc~0) (= c_~mina~0 .cse401) (<= (+ .cse402 .cse401) .cse3) (<= (+ .cse401 1) .cse402) (= .cse401 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse405 (select .cse408 ~A~0.offset)) (.cse404 (select .cse408 (+ ~A~0.offset 4)))) (and (<= (+ .cse404 .cse405) c_~minc~0) (= c_~mina~0 .cse404) (<= (* 2 .cse404) .cse3) (exists ((~B~0.offset Int)) (let ((.cse407 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse406 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse404 (select .cse406 .cse407)) (= c_~minc~0 (+ (select .cse406 ~B~0.offset) .cse405))))) (not (= ~A~0.offset .cse407))))) (<= .cse404 .cse405) (= .cse404 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse411 (select .cse414 (+ ~A~0.offset 4))) (.cse409 (select .cse414 ~A~0.offset))) (and (= c_~mina~0 .cse409) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse413 (select |c_#memory_int#1| ~B~0.base)) (.cse412 (+ ~B~0.offset 4))) (let ((.cse410 (select .cse413 .cse412))) (and (<= .cse8 (+ .cse410 .cse409)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse411 .cse410) .cse3) (not (= ~A~0.offset .cse412)) (= c_~minc~0 (+ (select .cse413 ~B~0.offset) .cse409)))))) (= c_~minc~0 (+ .cse411 .cse409)) (<= (+ .cse409 1) .cse411) (= c_~minc~0 (+ .cse409 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse417 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse416 (select .cse417 ~A~0.offset)) (.cse415 (select .cse417 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse415 .cse416) c_~minc~0) (= c_~mina~0 .cse415) (<= (* 2 .cse415) .cse3) (<= .cse415 .cse416) (= .cse415 c_~minb~0) (= .cse415 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse422 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse418 (select .cse422 ~A~0.offset)) (.cse419 (select .cse422 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse418) (<= (+ .cse419 .cse418) c_~minc~0) (<= (+ .cse418 1) .cse419) (<= (* 2 .cse419) .cse3) (exists ((~B~0.offset Int)) (let ((.cse421 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse420 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse419 (select .cse420 .cse421)) (= c_~minc~0 (+ (select .cse420 ~B~0.offset) .cse418))))) (not (= ~A~0.offset .cse421))))) (= .cse419 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse425 (select .cse427 (+ ~A~0.offset 4))) (.cse424 (select .cse427 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse426 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse423 (select .cse426 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse423 .cse424)) (not (= ~A~0.base ~B~0.base)) (= .cse423 .cse424) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse425 .cse423) .cse3) (= c_~minc~0 (+ (select .cse426 ~B~0.offset) .cse424)))))) (= c_~mina~0 .cse425) (<= .cse425 .cse424) (= c_~minc~0 (+ .cse424 c_~minb~0)))))) (and .cse21 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (select .cse430 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse428) .cse429) (= .cse428 c_~minb~0) (= c_~minc~0 (+ (select .cse430 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse428) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (select .cse432 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse431) .cse429) (<= .cse8 (+ .cse23 .cse431)) (= c_~minc~0 (+ (select .cse432 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse439 (select |c_#memory_int#1| ~A~0.base)) (.cse433 (+ ~A~0.offset 4))) (let ((.cse436 (select .cse439 .cse433)) (.cse435 (select .cse439 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse438 (select |c_#memory_int#1| ~B~0.base)) (.cse437 (+ ~B~0.offset 4))) (let ((.cse434 (select .cse438 .cse437))) (and (not (= .cse433 ~B~0.offset)) (<= .cse8 (+ .cse434 .cse435)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse436 .cse434) .cse3) (not (= ~A~0.offset .cse437)) (= c_~minc~0 (+ (select .cse438 ~B~0.offset) .cse435)))))) (= c_~mina~0 .cse436) (<= .cse436 .cse435) (= c_~minc~0 (+ .cse435 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse445 (select |c_#memory_int#1| ~A~0.base)) (.cse442 (+ ~A~0.offset 4))) (let ((.cse440 (select .cse445 .cse442)) (.cse441 (select .cse445 ~A~0.offset))) (and (= c_~mina~0 .cse440) (<= .cse440 .cse441) (exists ((~B~0.offset Int)) (and (not (= .cse442 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse443 (select .cse444 (+ ~B~0.offset 4)))) (and (= .cse443 c_~minb~0) (= .cse443 .cse441) (<= (+ .cse443 .cse441) c_~minc~0) (<= (+ .cse440 .cse443) .cse3) (= c_~minc~0 (+ (select .cse444 ~B~0.offset) .cse441)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse448 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse447 (select .cse448 (+ ~A~0.offset 4))) (.cse446 (select .cse448 ~A~0.offset))) (and (= c_~mina~0 .cse446) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse447 .cse4) .cse3) (<= (+ .cse446 1) .cse447) (<= (+ .cse4 .cse446) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse453 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse453 ~A~0.offset)) (.cse449 (select .cse453 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse451 (+ ~B~0.offset 4)) (.cse450 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse449 (select .cse450 .cse451)) (not (= ~A~0.offset .cse451)) (= c_~minc~0 (+ (select .cse450 ~B~0.offset) .cse452))))) (= c_~minc~0 (+ .cse449 .cse452)) (= c_~mina~0 .cse449) (<= (* 2 .cse449) .cse3) (<= .cse449 .cse452) (= .cse449 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse458 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse457 (select .cse458 ~A~0.offset)) (.cse454 (select .cse458 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse456 (+ ~B~0.offset 4)) (.cse455 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse454 (select .cse455 .cse456)) (not (= ~A~0.offset .cse456)) (= c_~minc~0 (+ (select .cse455 ~B~0.offset) .cse457))))) (= c_~mina~0 .cse457) (= c_~minc~0 (+ .cse454 .cse457)) (<= (+ .cse457 1) .cse454) (<= (* 2 .cse454) .cse3) (= .cse454 c_~minb~0))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse461 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse460 (select .cse461 (+ ~A~0.offset 4))) (.cse459 (select .cse461 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse459)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse460 .cse4) .cse3) (= c_~mina~0 .cse460) (<= .cse460 .cse459) (= c_~minc~0 (+ .cse459 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse464 (select .cse466 (+ ~A~0.offset 4))) (.cse462 (select .cse466 ~A~0.offset))) (and (= c_~mina~0 .cse462) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse465 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse463 (select .cse465 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse463 .cse462)) (not (= ~A~0.base ~B~0.base)) (= .cse463 .cse462) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse464 .cse463) .cse3) (= c_~minc~0 (+ (select .cse465 ~B~0.offset) .cse462)))))) (<= (+ .cse462 1) .cse464) (= c_~minc~0 (+ .cse462 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse468 (select .cse469 (+ ~A~0.offset 4))) (.cse467 (select .cse469 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse467)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse468 c_~minb~0) .cse3) (<= (+ .cse467 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse468) (<= .cse468 .cse467))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse475 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse472 (select .cse475 (+ ~A~0.offset 4))) (.cse470 (select .cse475 ~A~0.offset))) (and (= c_~mina~0 .cse470) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse474 (select |c_#memory_int#1| ~B~0.base)) (.cse473 (+ ~B~0.offset 4))) (let ((.cse471 (select .cse474 .cse473))) (and (<= .cse8 (+ .cse471 .cse470)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse472 .cse471) .cse3) (not (= ~A~0.offset .cse473)) (= c_~minc~0 (+ (select .cse474 ~B~0.offset) .cse470)))))) (<= (+ .cse470 1) .cse472) (= c_~minc~0 (+ .cse470 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse478 (+ ~A~0.offset 4)) (.cse481 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse481 ~A~0.offset)) (.cse476 (select .cse481 .cse478))) (and (<= (+ .cse476 .cse477) c_~minc~0) (= c_~mina~0 .cse476) (exists ((~B~0.offset Int)) (let ((.cse480 (+ ~B~0.offset 4))) (and (not (= .cse478 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse476 (select .cse479 .cse480)) (= c_~minc~0 (+ (select .cse479 ~B~0.offset) .cse477))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse480))))) (<= (* 2 .cse476) .cse3) (<= .cse476 .cse477) (= .cse476 c_~minb~0))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse484 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse484 ~A~0.offset)) (.cse482 (select .cse484 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse482) (<= (* 2 .cse482) .cse3) (<= .cse8 (+ .cse482 .cse483)) (<= .cse482 .cse483) (= c_~minc~0 (+ .cse483 c_~minb~0)) (= .cse482 .cse4))))))) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse486 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse485 (select .cse486 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse485) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse485)) (= c_~minc~0 (+ (select .cse486 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)))))) .cse19) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse488 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse487 (select .cse488 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse487) .cse3) (= .cse487 c_~minb~0) (= c_~minc~0 (+ (select .cse488 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse487) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset))))))))) .cse344) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse494 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse494 (+ ~A~0.offset 4))) (.cse490 (select .cse494 ~A~0.offset))) (and (= c_~minc~0 (+ .cse489 .cse490)) (= c_~mina~0 .cse489) (exists ((~B~0.offset Int)) (let ((.cse493 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse492 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse491 (select .cse492 .cse493))) (and (= .cse491 c_~minb~0) (<= (+ .cse491 .cse490) c_~minc~0) (<= (+ .cse489 .cse491) .cse3) (= c_~minc~0 (+ (select .cse492 ~B~0.offset) .cse490)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse493))))) (<= .cse489 .cse490))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse497 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse497 (+ ~A~0.offset 4))) (.cse495 (select .cse497 ~A~0.offset))) (and (= c_~mina~0 .cse495) (<= .cse8 (+ .cse4 .cse495)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse496 .cse4) .cse3) (<= (+ .cse495 1) .cse496) (= c_~minc~0 (+ .cse495 c_~minb~0)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse500 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse500 (+ ~A~0.offset 4))) (.cse498 (select .cse500 ~A~0.offset))) (and (= c_~mina~0 .cse498) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse499 .cse4) .cse3) (<= (+ .cse498 1) .cse499) (= c_~minc~0 (* 2 .cse498)) (<= (+ .cse4 .cse498) c_~minc~0))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse501 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse501 ~B~0.offset) .cse23))))) .cse53 (or (and (<= c_~minb~0 .cse23) .cse203) (and .cse51 .cse43)) .cse54) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse503 (select .cse504 (+ ~A~0.offset 4))) (.cse502 (select .cse504 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse502)) (<= (+ .cse503 c_~minb~0) .cse3) (<= (+ .cse502 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse503) (<= .cse503 .cse502))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse506 (select .cse507 (+ ~A~0.offset 4))) (.cse505 (select .cse507 ~A~0.offset))) (and (= c_~mina~0 .cse505) (<= .cse8 (+ .cse4 .cse505)) (<= (+ .cse506 .cse4) .cse3) (<= (+ .cse505 1) .cse506) (= c_~minc~0 (+ .cse505 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse510 (select .cse513 (+ ~A~0.offset 4))) (.cse509 (select .cse513 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse512 (select |c_#memory_int#1| ~B~0.base)) (.cse511 (+ ~B~0.offset 4))) (let ((.cse508 (select .cse512 .cse511))) (and (<= .cse8 (+ .cse508 .cse509)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse510 .cse508) .cse3) (not (= ~A~0.offset .cse511)) (= c_~minc~0 (+ (select .cse512 ~B~0.offset) .cse509)))))) (= c_~minc~0 (+ .cse510 .cse509)) (= c_~mina~0 .cse510) (<= .cse510 .cse509) (= c_~minc~0 (+ .cse509 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse518 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse514 (select .cse518 ~A~0.offset)) (.cse515 (select .cse518 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse514) (<= (+ .cse515 .cse514) c_~minc~0) (<= (+ .cse514 1) .cse515) (<= (* 2 .cse515) .cse3) (exists ((~B~0.offset Int)) (let ((.cse517 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse515 (select .cse516 .cse517)) (= c_~minc~0 (+ (select .cse516 ~B~0.offset) .cse514))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse517))))) (= .cse515 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse523 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse519 (select .cse523 (+ ~A~0.offset 4))) (.cse520 (select .cse523 ~A~0.offset))) (and (= c_~minc~0 (+ .cse519 .cse520)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse522 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse521 (select .cse522 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse521 .cse520)) (= .cse521 .cse520) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse519 .cse521) .cse3) (= c_~minc~0 (+ (select .cse522 ~B~0.offset) .cse520)))))) (= c_~mina~0 .cse519) (<= .cse519 .cse520) (= c_~minc~0 (+ .cse520 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse526 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse524 (select .cse526 ~A~0.offset)) (.cse525 (select .cse526 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse524) (<= (+ .cse525 .cse524) c_~minc~0) (<= (+ .cse524 1) .cse525) (<= (* 2 .cse525) .cse3) (= .cse525 c_~minb~0) (= .cse525 .cse4))))))))))))) is different from true [2025-04-13 20:57:19,375 WARN L871 $PredicateComparison]: unable to prove that (let ((.cse517 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse23 (select .cse517 c_~C~0.offset)) (.cse72 (+ c_~C~0.offset 8)) (.cse0 (+ c_~C~0.offset 4))) (let ((.cse3 (select .cse517 .cse0)) (.cse4 (select .cse517 .cse72)) (.cse516 (* .cse23 2))) (let ((.cse48 (+ .cse23 1)) (.cse515 (+ .cse23 c_~minb~0)) (.cse141 (= c_~minc~0 (+ .cse23 c_~mina~0))) (.cse113 (<= c_~minc~0 .cse516)) (.cse43 (= .cse23 c_~mina~0)) (.cse112 (<= (+ .cse516 1) c_~minc~0)) (.cse96 (* 2 .cse4)) (.cse417 (+ .cse23 .cse3)) (.cse20 (+ .cse23 .cse4))) (let ((.cse17 (<= .cse20 c_~minc~0)) (.cse22 (<= (+ c_~minc~0 .cse4) .cse417)) (.cse64 (= c_~mina~0 .cse4)) (.cse75 (<= .cse96 .cse3)) (.cse50 (= c_~minc~0 .cse516)) (.cse142 (* 2 c_~mina~0)) (.cse21 (or (and .cse141 .cse113) (and .cse43 .cse112))) (.cse19 (= c_~minc~0 .cse515)) (.cse332 (<= c_~mina~0 .cse23)) (.cse18 (= .cse4 c_~minb~0)) (.cse53 (<= (* 2 c_~minb~0) .cse3)) (.cse331 (= c_~mina~0 c_~minb~0)) (.cse51 (<= .cse48 c_~minb~0)) (.cse54 (<= .cse515 c_~minc~0)) (.cse8 (+ c_~minc~0 1))) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse1 (select .cse5 ~A~0.offset)) (.cse2 (select .cse5 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse1) (<= (+ .cse2 .cse1) c_~minc~0) (<= (+ .cse1 1) .cse2) (<= (* 2 .cse2) .cse3) (= .cse2 c_~minb~0) (= .cse2 .cse4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse9 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse6 (select .cse9 ~A~0.offset)) (.cse7 (select .cse9 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse6) (<= (+ .cse6 1) .cse7) (<= (* 2 .cse7) .cse3) (<= .cse8 (+ .cse7 .cse6)) (= c_~minc~0 (+ .cse6 c_~minb~0)) (= .cse7 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse10 (+ ~A~0.offset 4))) (let ((.cse13 (select .cse16 .cse10)) (.cse12 (select .cse16 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse15 (+ ~B~0.offset 4))) (and (not (= .cse10 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse14 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse11 (select .cse14 .cse15))) (and (= .cse11 c_~minb~0) (<= (+ .cse11 .cse12) c_~minc~0) (<= (+ .cse13 .cse11) .cse3) (= c_~minc~0 (+ (select .cse14 ~B~0.offset) .cse12)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse15))))) (= c_~mina~0 .cse13) (<= .cse13 .cse12))))) (and (or (and .cse17 .cse18) (and .cse19 (<= .cse8 .cse20))) .cse21 .cse22) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse26 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse26 ~A~0.offset)) (.cse25 (select .cse26 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse24)) (= c_~mina~0 .cse24) (<= (+ .cse25 c_~minb~0) .cse3) (<= (+ .cse24 c_~minb~0) c_~minc~0) (<= (+ .cse24 1) .cse25))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse29 (select .cse32 (+ ~A~0.offset 4))) (.cse28 (select .cse32 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse31 (select |c_#memory_int#1| ~B~0.base)) (.cse30 (+ ~B~0.offset 4))) (let ((.cse27 (select .cse31 .cse30))) (and (<= .cse8 (+ .cse27 .cse28)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse29 .cse27) .cse3) (not (= ~A~0.offset .cse30)) (= c_~minc~0 (+ (select .cse31 ~B~0.offset) .cse28)))))) (= c_~mina~0 .cse29) (<= .cse29 .cse28) (= c_~minc~0 (+ .cse28 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse33 (select .cse37 (+ ~A~0.offset 4))) (.cse34 (select .cse37 ~A~0.offset))) (and (= c_~minc~0 (+ .cse33 .cse34)) (= c_~mina~0 .cse33) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse36 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse35 (select .cse36 (+ ~B~0.offset 4)))) (and (= .cse35 c_~minb~0) (= .cse35 .cse34) (<= (+ .cse35 .cse34) c_~minc~0) (<= (+ .cse33 .cse35) .cse3) (= c_~minc~0 (+ (select .cse36 ~B~0.offset) .cse34)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse33 .cse34))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse42 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse39 (select .cse42 (+ ~A~0.offset 4))) (.cse38 (select .cse42 ~A~0.offset))) (and (= c_~mina~0 .cse38) (<= (+ .cse38 1) .cse39) (<= (* 2 .cse39) .cse3) (exists ((~B~0.offset Int)) (let ((.cse41 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse40 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse39 (select .cse40 .cse41)) (= c_~minc~0 (+ (select .cse40 ~B~0.offset) .cse38))))) (not (= ~A~0.offset .cse41))))) (<= .cse8 (+ .cse39 .cse38)) (= c_~minc~0 (+ .cse38 c_~minb~0)))))) (and .cse43 (let ((.cse49 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse63 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse62 (select .cse63 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse62 1) .cse3) (= .cse62 c_~minb~0) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse62) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse45 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse44 (select .cse45 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse44 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse44)) (= c_~minc~0 (+ (select .cse45 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse47 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse46 (select .cse47 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse23 .cse46)) (= c_~minc~0 (+ (select .cse47 ~B~0.offset) .cse23)) (<= (* 2 .cse46) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse48 .cse46) (not (= ~B~0.offset .cse0))))))) .cse49 (and .cse49 .cse50) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse52 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse53 .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse56 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse55 (select .cse56 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse55 1) .cse3) (<= .cse8 (+ .cse23 .cse55)) (= c_~minc~0 (+ (select .cse56 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse58 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse57 (select .cse58 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse57 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (= .cse57 c_~minb~0) (= c_~minc~0 (+ (select .cse58 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse57) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse51 .cse53 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse59 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse59 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse59 ~B~0.offset) .cse23)) (not (= ~B~0.offset .cse0))))) .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse61 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse60 (select .cse61 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse60)) (= c_~minc~0 (+ (select .cse61 ~B~0.offset) .cse23)) (<= (* 2 .cse60) .cse3) (<= .cse48 .cse60) (not (= ~B~0.offset .cse0)))))))))) (and .cse64 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse67 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse65 (select .cse67 ~B~0.offset)) (.cse66 (select .cse67 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse65 1) .cse66) (= .cse65 c_~minb~0) (<= (+ .cse65 .cse4) c_~minc~0) (<= (+ .cse4 .cse66) .cse3))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse70 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse68 (select .cse70 ~B~0.offset)) (.cse69 (select .cse70 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse68 1) .cse69) (= .cse68 c_~minb~0) (<= (+ .cse68 .cse4) c_~minc~0) (<= (+ .cse4 .cse69) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse73 (select .cse74 ~B~0.offset)) (.cse71 (select .cse74 (+ ~B~0.offset 4)))) (and (= .cse71 c_~minb~0) (not (= .cse72 ~B~0.offset)) (<= .cse71 .cse73) (<= (+ .cse73 .cse4) c_~minc~0) (<= (+ .cse4 .cse71) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (and .cse75 (or (and (<= (+ .cse4 c_~minb~0) c_~minc~0) (<= (+ c_~minb~0 1) .cse4) (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse76 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse76 (+ ~B~0.offset 4))) (= (select .cse76 ~B~0.offset) c_~minb~0)))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse77 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse77 (+ ~B~0.offset 4))) (= (select .cse77 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse78 (+ ~B~0.offset 4))) (= (select .cse78 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse80 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse79 (select .cse80 ~B~0.offset))) (and (<= .cse4 .cse79) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse80 (+ ~B~0.offset 4))) (<= (+ .cse79 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse82 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse81 (select .cse82 ~B~0.offset))) (and (<= .cse4 .cse81) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse82 (+ ~B~0.offset 4))) (<= (+ .cse81 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse84 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse83 (select .cse84 ~B~0.offset))) (and (= .cse83 .cse4) (= .cse4 (select .cse84 (+ ~B~0.offset 4))) (<= (+ .cse83 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse86 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse85 (select .cse86 ~B~0.offset))) (and (<= .cse4 .cse85) (= .cse4 (select .cse86 (+ ~B~0.offset 4))) (not (= .cse72 ~B~0.offset)) (<= (+ .cse85 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) .cse18))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse87 (select .cse89 ~B~0.offset)) (.cse88 (select .cse89 (+ ~B~0.offset 4)))) (and (<= (+ .cse87 1) .cse88) (= c_~minc~0 (+ .cse87 .cse88)) (not (= .cse72 ~B~0.offset)) (= .cse87 c_~minb~0) (<= (+ .cse87 .cse4) c_~minc~0) (<= (+ .cse4 .cse88) .cse3) (not (= ~B~0.offset .cse0)))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse91 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse90 (select .cse91 (+ ~B~0.offset 4)))) (and (= .cse90 c_~minb~0) (<= .cse90 .cse4) (= (select .cse91 ~B~0.offset) .cse4) (<= (+ .cse4 .cse90) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse93 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse92 (select .cse93 (+ ~B~0.offset 4)))) (and (<= (+ .cse4 1) .cse92) (= (select .cse93 ~B~0.offset) .cse4) (<= (+ .cse4 .cse92) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse94 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse95 (+ .cse4 (select .cse94 (+ ~B~0.offset 4))))) (and (= (select .cse94 ~B~0.offset) .cse4) (<= .cse95 .cse3) (= c_~minc~0 .cse95) (not (= ~B~0.offset .cse0)))))) .cse18)) (<= .cse96 c_~minc~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse99 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse97 (select .cse99 ~B~0.offset)) (.cse98 (select .cse99 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse97 1) .cse98) (= c_~minc~0 (+ .cse97 .cse98)) (= .cse97 c_~minb~0) (<= (+ .cse97 .cse4) c_~minc~0) (<= (+ .cse4 .cse98) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse102 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse101 (select .cse102 ~B~0.offset)) (.cse100 (select .cse102 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse100 c_~minb~0) (= c_~minc~0 (+ .cse101 .cse100)) (<= .cse100 .cse101) (<= (+ .cse101 .cse4) c_~minc~0) (<= (+ .cse4 .cse100) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse105 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse103 (select .cse105 ~B~0.offset)) (.cse104 (select .cse105 (+ ~B~0.offset 4)))) (and (<= (+ .cse103 1) .cse104) (not (= .cse72 ~B~0.offset)) (= .cse103 c_~minb~0) (<= (+ .cse103 .cse4) c_~minc~0) (<= (+ .cse4 .cse104) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse108 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse107 (select .cse108 ~B~0.offset)) (.cse106 (select .cse108 (+ ~B~0.offset 4)))) (and (= .cse106 c_~minb~0) (= c_~minc~0 (+ .cse107 .cse106)) (not (= .cse72 ~B~0.offset)) (<= .cse106 .cse107) (<= (+ .cse107 .cse4) c_~minc~0) (<= (+ .cse4 .cse106) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse111 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse110 (select .cse111 ~B~0.offset)) (.cse109 (select .cse111 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse109 c_~minb~0) (<= .cse109 .cse110) (<= (+ .cse110 .cse4) c_~minc~0) (<= (+ .cse4 .cse109) .cse3))))) (and .cse17 (or (and (= .cse23 c_~minb~0) .cse112) (and .cse19 .cse113)) .cse22) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse115 (select .cse116 ~B~0.offset)) (.cse114 (select .cse116 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse114 c_~minb~0) (<= .cse114 .cse115) (<= (+ .cse115 .cse4) c_~minc~0) (<= (+ .cse4 .cse114) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse118 (select .cse121 ~A~0.offset)) (.cse117 (select .cse121 (+ ~A~0.offset 4)))) (and (<= (+ .cse117 .cse118) c_~minc~0) (= c_~mina~0 .cse117) (<= (* 2 .cse117) .cse3) (<= .cse117 .cse118) (exists ((~B~0.offset Int)) (let ((.cse120 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse119 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse117 (select .cse119 .cse120)) (= c_~minc~0 (+ (select .cse119 ~B~0.offset) .cse118))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse120))))) (= .cse117 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse123 (+ ~A~0.offset 4)) (.cse128 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse122 (select .cse128 ~A~0.offset)) (.cse125 (select .cse128 .cse123))) (and (= c_~mina~0 .cse122) (exists ((~B~0.offset Int)) (let ((.cse127 (+ ~B~0.offset 4))) (and (not (= .cse123 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse126 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse124 (select .cse126 .cse127))) (and (= .cse124 c_~minb~0) (<= (+ .cse124 .cse122) c_~minc~0) (<= (+ .cse125 .cse124) .cse3) (= c_~minc~0 (+ (select .cse126 ~B~0.offset) .cse122)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse127))))) (<= (+ .cse122 1) .cse125))))) (and (<= (+ c_~mina~0 1) .cse4) (let ((.cse143 (+ c_~mina~0 .cse4))) (let ((.cse129 (= c_~minc~0 (+ c_~mina~0 c_~minb~0))) (.cse140 (= c_~minc~0 .cse143))) (or (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse131 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse130 (select .cse131 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse130)) (= c_~mina~0 .cse130) (not (= .cse72 ~B~0.offset)) (= c_~minc~0 (+ (select .cse131 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse130) .cse3) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse133 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse132 (select .cse133 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse132 c_~minb~0) (<= (+ c_~mina~0 .cse132) c_~minc~0) (= c_~minc~0 (+ (select .cse133 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse132) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse135 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse134 (select .cse135 (+ ~B~0.offset 4)))) (and (= .cse134 c_~minb~0) (<= (+ c_~mina~0 .cse134) c_~minc~0) (= c_~minc~0 (+ (select .cse135 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse134) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse136 (select .cse137 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse136)) (= c_~minc~0 (+ (select .cse137 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse136) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse139 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse138 (select .cse139 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse138) (= .cse138 c_~minb~0) (= c_~minc~0 (+ (select .cse139 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse138) .cse3))))) (not (= ~B~0.offset .cse0))))) .cse140) (and .cse141 (<= .cse8 .cse142) .cse129 (<= .cse143 .cse3)) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse145 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse144 (select .cse145 (+ ~B~0.offset 4)))) (and (= .cse144 c_~minb~0) (<= (+ c_~mina~0 .cse144) c_~minc~0) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse144) .cse3))))))) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse147 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse146 (select .cse147 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse146)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse147 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse146) .cse3)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse149 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse148 (select .cse149 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse148)) (not (= .cse72 ~B~0.offset)) (= c_~minc~0 (+ (select .cse149 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse148) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse129) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse151 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse150 (select .cse151 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse150)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse151 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse150) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse153 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse152 (select .cse153 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse152)) (= c_~mina~0 .cse152) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse153 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse152) .cse3) (not (= ~B~0.offset .cse0))))))) (and (or (and (<= .cse8 .cse143) .cse129) (and (<= .cse143 c_~minc~0) .cse18)) .cse75 (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse154 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse154 ~B~0.offset) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse140) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse155 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse155 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse155 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse156 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse156 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse157 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse157 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse157 ~B~0.offset) c_~mina~0))))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse159 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse158 (select .cse159 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse158) (not (= c_~C~0.base ~B~0.base)) (= .cse158 c_~minb~0) (<= (+ c_~mina~0 .cse158) c_~minc~0) (= c_~minc~0 (+ (select .cse159 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse158) .cse3))))) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse161 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse160 (select .cse161 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse160) (= .cse160 c_~minb~0) (<= (+ c_~mina~0 .cse160) c_~minc~0) (= c_~minc~0 (+ (select .cse161 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse160) .cse3))))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse163 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse162 (select .cse163 (+ ~B~0.offset 4)))) (and (= .cse162 c_~minb~0) (<= (+ c_~mina~0 .cse162) c_~minc~0) (= c_~minc~0 (+ (select .cse163 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse162) .cse3))))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse166 (+ ~A~0.offset 4)) (.cse169 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse164 (select .cse169 ~A~0.offset)) (.cse165 (select .cse169 .cse166))) (and (= c_~mina~0 .cse164) (<= (+ .cse165 .cse164) c_~minc~0) (<= (+ .cse164 1) .cse165) (exists ((~B~0.offset Int)) (let ((.cse168 (+ ~B~0.offset 4))) (and (not (= .cse166 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse167 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse165 (select .cse167 .cse168)) (= c_~minc~0 (+ (select .cse167 ~B~0.offset) .cse164))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse168))))) (<= (* 2 .cse165) .cse3) (= .cse165 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse171 (select .cse174 (+ ~A~0.offset 4))) (.cse170 (select .cse174 ~A~0.offset))) (and (= c_~mina~0 .cse170) (<= (+ .cse170 1) .cse171) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse172 (select .cse173 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse172 .cse170)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse171 .cse172) .cse3) (= c_~minc~0 (+ (select .cse173 ~B~0.offset) .cse170)))))) (= c_~minc~0 (+ .cse170 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse176 (select .cse177 (+ ~A~0.offset 4))) (.cse175 (select .cse177 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse175)) (<= (+ .cse176 .cse4) .cse3) (= c_~mina~0 .cse176) (<= .cse176 .cse175) (= c_~minc~0 (+ .cse175 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse179 (+ ~A~0.offset 4)) (.cse183 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse182 (select .cse183 ~A~0.offset)) (.cse178 (select .cse183 .cse179))) (and (= c_~mina~0 .cse178) (exists ((~B~0.offset Int)) (let ((.cse181 (+ ~B~0.offset 4))) (and (not (= .cse179 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse180 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse178 (select .cse180 .cse181)) (= c_~minc~0 (+ (select .cse180 ~B~0.offset) .cse182))))) (not (= ~A~0.offset .cse181))))) (<= (* 2 .cse178) .cse3) (<= .cse178 .cse182) (= c_~minc~0 (* 2 .cse182)) (= .cse178 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~A~0.base)) (.cse186 (+ ~A~0.offset 4))) (let ((.cse185 (select .cse189 .cse186)) (.cse184 (select .cse189 ~A~0.offset))) (and (= c_~mina~0 .cse184) (<= (+ .cse184 1) .cse185) (exists ((~B~0.offset Int)) (let ((.cse188 (+ ~B~0.offset 4))) (and (not (= .cse186 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse185 (select .cse187 .cse188)) (= c_~minc~0 (+ (select .cse187 ~B~0.offset) .cse184))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse188))))) (<= (* 2 .cse185) .cse3) (<= .cse8 (+ .cse185 .cse184)) (= c_~minc~0 (+ .cse184 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse191 (select .cse192 ~A~0.offset)) (.cse190 (select .cse192 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse190) (<= (* 2 .cse190) .cse3) (<= .cse8 (+ .cse190 .cse191)) (<= .cse190 .cse191) (= c_~minc~0 (+ .cse191 c_~minb~0)) (= .cse190 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse198 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse193 (select .cse198 ~A~0.offset)) (.cse195 (select .cse198 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse193) (exists ((~B~0.offset Int)) (let ((.cse197 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse194 (select .cse196 .cse197))) (and (= .cse194 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse194 .cse193) c_~minc~0) (<= (+ .cse195 .cse194) .cse3) (= c_~minc~0 (+ (select .cse196 ~B~0.offset) .cse193)))))) (not (= ~A~0.offset .cse197))))) (<= (+ .cse193 1) .cse195))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse200 (select .cse201 (+ ~A~0.offset 4))) (.cse199 (select .cse201 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse199)) (<= (+ .cse200 .cse4) .cse3) (= c_~mina~0 .cse200) (<= .cse200 .cse199) (= c_~minc~0 (+ .cse199 c_~minb~0)) (= c_~minc~0 (* 2 .cse199)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse204 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse202 (select .cse204 (+ ~A~0.offset 4))) (.cse203 (select .cse204 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse202 .cse4) .cse3) (= c_~mina~0 .cse202) (<= .cse202 .cse203) (= c_~minc~0 (* 2 .cse203)) (<= (+ .cse4 .cse203) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse207 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse205 (select .cse207 (+ ~A~0.offset 4))) (.cse206 (select .cse207 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse205 .cse4) .cse3) (= c_~mina~0 .cse205) (<= .cse205 .cse206) (<= (+ .cse4 .cse206) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse210 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse209 (select .cse210 ~A~0.offset)) (.cse208 (select .cse210 (+ ~A~0.offset 4)))) (and (<= (+ .cse208 .cse209) c_~minc~0) (= c_~mina~0 .cse208) (<= (* 2 .cse208) .cse3) (<= .cse208 .cse209) (= .cse208 c_~minb~0) (= .cse208 .cse4))))) (not (= ~A~0.offset .cse0)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse215 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse211 (select .cse215 ~A~0.offset)) (.cse212 (select .cse215 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse211) (= c_~minc~0 (+ .cse212 .cse211)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse214 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse213 (select .cse214 (+ ~B~0.offset 4)))) (and (= .cse213 c_~minb~0) (= .cse213 .cse211) (<= (+ .cse212 .cse213) .cse3) (= c_~minc~0 (+ (select .cse214 ~B~0.offset) .cse211)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse211 1) .cse212))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse218 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse217 (select .cse218 (+ ~A~0.offset 4))) (.cse216 (select .cse218 ~A~0.offset))) (and (= c_~mina~0 .cse216) (<= .cse8 (+ .cse4 .cse216)) (<= (+ .cse217 .cse4) .cse3) (<= (+ .cse216 1) .cse217) (= c_~minc~0 (+ .cse216 c_~minb~0)) (= c_~minc~0 (* 2 .cse216)))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse220 (select .cse221 ~A~0.offset)) (.cse219 (select .cse221 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse219) (<= (* 2 .cse219) .cse3) (<= .cse8 (+ .cse219 .cse220)) (<= .cse219 .cse220) (= c_~minc~0 (+ .cse220 c_~minb~0)) (= .cse219 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse223 (select .cse226 (+ ~A~0.offset 4))) (.cse222 (select .cse226 ~A~0.offset))) (and (= c_~mina~0 .cse222) (<= (+ .cse222 1) .cse223) (<= (* 2 .cse223) .cse3) (<= .cse8 (+ .cse223 .cse222)) (= c_~minc~0 (+ .cse222 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse225 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse224 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse223 (select .cse224 .cse225)) (= c_~minc~0 (+ (select .cse224 ~B~0.offset) .cse222))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse225))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse231 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse227 (select .cse231 (+ ~A~0.offset 4))) (.cse230 (select .cse231 ~A~0.offset))) (and (= c_~mina~0 .cse227) (<= (* 2 .cse227) .cse3) (exists ((~B~0.offset Int)) (let ((.cse229 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse227 (select .cse228 .cse229)) (= c_~minc~0 (+ (select .cse228 ~B~0.offset) .cse230))))) (not (= ~A~0.offset .cse229))))) (<= .cse8 (+ .cse227 .cse230)) (<= .cse227 .cse230) (= c_~minc~0 (+ .cse230 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse236 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse232 (select .cse236 ~A~0.offset)) (.cse234 (select .cse236 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse232) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse233 (select .cse235 (+ ~B~0.offset 4)))) (and (= .cse233 c_~minb~0) (<= (+ .cse233 .cse232) c_~minc~0) (<= (+ .cse234 .cse233) .cse3) (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse232)))))) (not (= ~A~0.base ~B~0.base)))) (<= (+ .cse232 1) .cse234))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse239 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse238 (select .cse239 ~A~0.offset)) (.cse237 (select .cse239 (+ ~A~0.offset 4)))) (and (<= (+ .cse237 .cse238) c_~minc~0) (= c_~mina~0 .cse237) (<= (* 2 .cse237) .cse3) (<= .cse237 .cse238) (= .cse237 c_~minb~0) (= .cse237 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse242 (select .cse244 (+ ~A~0.offset 4))) (.cse241 (select .cse244 ~A~0.offset))) (and (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse240 (select .cse243 (+ ~B~0.offset 4)))) (and (= .cse240 c_~minb~0) (<= (+ .cse240 .cse241) c_~minc~0) (<= (+ .cse242 .cse240) .cse3) (= c_~minc~0 (+ (select .cse243 ~B~0.offset) .cse241)))))) (not (= ~A~0.base ~B~0.base)))) (= c_~mina~0 .cse242) (<= .cse242 .cse241))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse250 (select |c_#memory_int#1| ~A~0.base)) (.cse246 (+ ~A~0.offset 4))) (let ((.cse245 (select .cse250 .cse246)) (.cse249 (select .cse250 ~A~0.offset))) (and (= c_~mina~0 .cse245) (exists ((~B~0.offset Int)) (let ((.cse248 (+ ~B~0.offset 4))) (and (not (= .cse246 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse247 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse245 (select .cse247 .cse248)) (= c_~minc~0 (+ (select .cse247 ~B~0.offset) .cse249))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse248))))) (<= (* 2 .cse245) .cse3) (<= .cse8 (+ .cse245 .cse249)) (<= .cse245 .cse249) (= c_~minc~0 (+ .cse249 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse252 (select .cse253 (+ ~A~0.offset 4))) (.cse251 (select .cse253 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse251)) (<= (* 2 .cse251) c_~minc~0) (<= (+ .cse252 .cse251) .cse3) (= c_~mina~0 .cse252) (= .cse251 c_~minb~0) (<= .cse252 .cse251))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~A~0.base)) (.cse256 (+ ~A~0.offset 4))) (let ((.cse255 (select .cse259 .cse256)) (.cse254 (select .cse259 ~A~0.offset))) (and (= c_~mina~0 .cse254) (<= (+ .cse254 1) .cse255) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse257 (select .cse258 (+ ~B~0.offset 4)))) (and (not (= .cse256 ~B~0.offset)) (<= .cse8 (+ .cse257 .cse254)) (= .cse257 .cse254) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse255 .cse257) .cse3) (= c_~minc~0 (+ (select .cse258 ~B~0.offset) .cse254)))))) (= c_~minc~0 (+ .cse254 c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse261 (select .cse262 (+ ~A~0.offset 4))) (.cse260 (select .cse262 ~A~0.offset))) (and (= c_~mina~0 .cse260) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse261 .cse4) .cse3) (<= (+ .cse260 1) .cse261) (<= (+ .cse4 .cse260) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse263 (select .cse265 (+ ~A~0.offset 4))) (.cse264 (select .cse265 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse263 .cse4) .cse3) (= c_~mina~0 .cse263) (<= .cse263 .cse264) (<= (+ .cse4 .cse264) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse270 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse268 (select .cse270 (+ ~A~0.offset 4))) (.cse267 (select .cse270 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse266 (select .cse269 (+ ~B~0.offset 4)))) (and (= .cse266 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse266 .cse267) (<= (+ .cse266 .cse267) c_~minc~0) (<= (+ .cse268 .cse266) .cse3) (= c_~minc~0 (+ (select .cse269 ~B~0.offset) .cse267)))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse268) (<= .cse268 .cse267))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse273 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse272 (select .cse273 (+ ~A~0.offset 4))) (.cse271 (select .cse273 ~A~0.offset))) (and (= c_~mina~0 .cse271) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse272 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (<= (+ .cse271 1) .cse272) (<= (+ .cse4 .cse271) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse280 (select |c_#memory_int#1| ~A~0.base)) (.cse275 (+ ~A~0.offset 4))) (let ((.cse277 (select .cse280 .cse275)) (.cse274 (select .cse280 ~A~0.offset))) (and (= c_~mina~0 .cse274) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~B~0.base)) (.cse278 (+ ~B~0.offset 4))) (let ((.cse276 (select .cse279 .cse278))) (and (not (= .cse275 ~B~0.offset)) (<= .cse8 (+ .cse276 .cse274)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse277 .cse276) .cse3) (not (= ~A~0.offset .cse278)) (= c_~minc~0 (+ (select .cse279 ~B~0.offset) .cse274)))))) (<= (+ .cse274 1) .cse277) (= c_~minc~0 (+ .cse274 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~A~0.base)) (.cse283 (+ ~A~0.offset 4))) (let ((.cse282 (select .cse286 .cse283)) (.cse281 (select .cse286 ~A~0.offset))) (and (= c_~mina~0 .cse281) (<= (+ .cse281 1) .cse282) (exists ((~B~0.offset Int)) (and (not (= .cse283 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse285 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse284 (select .cse285 (+ ~B~0.offset 4)))) (and (= .cse284 c_~minb~0) (= .cse284 .cse281) (<= (+ .cse284 .cse281) c_~minc~0) (<= (+ .cse282 .cse284) .cse3) (= c_~minc~0 (+ (select .cse285 ~B~0.offset) .cse281)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (let ((.cse288 (div (* c_~minc~0 (- 1)) 2))) (and (let ((.cse287 (+ c_~minc~0 .cse288))) (or (and (= c_~mina~0 .cse287) (<= (+ c_~minc~0 .cse288 1) .cse4)) (and (<= .cse4 .cse287) .cse64))) .cse75 (= (mod c_~minc~0 2) 0) (let ((.cse289 (+ .cse288 .cse4))) (or (and (<= .cse289 0) .cse18) (and (<= 1 .cse289) (= (+ .cse288 c_~minb~0) 0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse292 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse290 (select .cse292 ~A~0.offset)) (.cse291 (select .cse292 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse290)) (= c_~mina~0 .cse290) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse291 c_~minb~0) .cse3) (<= (+ .cse290 c_~minb~0) c_~minc~0) (<= (+ .cse290 1) .cse291))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse298 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse295 (select .cse298 (+ ~A~0.offset 4))) (.cse294 (select .cse298 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse297 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse296 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse293 (select .cse296 .cse297))) (and (= .cse293 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse293 .cse294) c_~minc~0) (<= (+ .cse295 .cse293) .cse3) (= c_~minc~0 (+ (select .cse296 ~B~0.offset) .cse294)))))) (not (= ~A~0.offset .cse297))))) (= c_~mina~0 .cse295) (<= .cse295 .cse294))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse301 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse299 (select .cse301 ~A~0.offset)) (.cse300 (select .cse301 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse299) (<= (+ .cse299 1) .cse300) (<= (* 2 .cse300) .cse3) (<= .cse8 (+ .cse300 .cse299)) (= c_~minc~0 (+ .cse299 c_~minb~0)) (= .cse300 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse303 (select .cse306 (+ ~A~0.offset 4))) (.cse302 (select .cse306 ~A~0.offset))) (and (= c_~mina~0 .cse302) (<= (+ .cse302 1) .cse303) (<= (* 2 .cse303) .cse3) (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 (not (= ~A~0.base ~B~0.base)) (= .cse303 (select .cse304 .cse305)) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse302))))) (not (= ~A~0.offset .cse305))))) (= c_~minc~0 (+ .cse302 c_~minb~0)) (= c_~minc~0 (* 2 .cse302)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse312 (+ ~A~0.offset 4))) (.cse307 (select .cse312 ~A~0.offset))) (and (= c_~mina~0 .cse307) (= c_~minc~0 (+ .cse308 .cse307)) (<= (+ .cse307 1) .cse308) (exists ((~B~0.offset Int)) (let ((.cse311 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse310 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse309 (select .cse310 .cse311))) (and (= .cse309 c_~minb~0) (<= (+ .cse309 .cse307) c_~minc~0) (<= (+ .cse308 .cse309) .cse3) (= c_~minc~0 (+ (select .cse310 ~B~0.offset) .cse307)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse311))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse317 ~A~0.offset)) (.cse313 (select .cse317 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse313) (<= (* 2 .cse313) .cse3) (exists ((~B~0.offset Int)) (let ((.cse315 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse313 (select .cse314 .cse315)) (= c_~minc~0 (+ (select .cse314 ~B~0.offset) .cse316))))) (not (= ~A~0.offset .cse315))))) (<= .cse313 .cse316) (= c_~minc~0 (* 2 .cse316)) (= .cse313 c_~minb~0))))) (and .cse19 (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse319 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse318 (select .cse319 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse318) (<= .cse8 (+ .cse23 .cse318)) (<= .cse318 .cse23) (= c_~minc~0 (+ (select .cse319 ~B~0.offset) .cse23)) (<= (* 2 .cse318) .cse3))))))) (and .cse43 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse320 (select .cse321 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse320)) (= c_~minc~0 (+ (select .cse321 ~B~0.offset) .cse23)) (<= (* 2 .cse320) .cse3) (<= .cse48 .cse320)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse322 (select .cse326 (+ ~A~0.offset 4))) (.cse323 (select .cse326 ~A~0.offset))) (and (= c_~mina~0 .cse322) (<= .cse322 .cse323) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse324 (select .cse325 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse324 .cse323)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse322 .cse324) .cse3) (= c_~minc~0 (+ (select .cse325 ~B~0.offset) .cse323)))))) (= c_~minc~0 (+ .cse323 c_~minb~0)))))) (and (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse328 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse327 (select .cse328 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse327) .cse3) (<= .cse8 (+ .cse23 .cse327)) (= c_~minc~0 (+ (select .cse328 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse330 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse329 (select .cse330 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse329) .cse3) (= .cse329 c_~minb~0) (= c_~minc~0 (+ (select .cse330 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse329) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse50 (<= .cse142 .cse3) .cse331)) .cse332) (and .cse43 (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse334 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse333 (select .cse334 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse333 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse333)) (= c_~minc~0 (+ (select .cse334 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse336 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse335 (select .cse336 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse335 1) .cse3) (= .cse335 c_~minb~0) (= c_~minc~0 (+ (select .cse336 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse335) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse338 (select .cse341 ~A~0.offset)) (.cse337 (select .cse341 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse337 .cse338)) (= c_~mina~0 .cse337) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse340 (+ ~B~0.offset 4)) (.cse339 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse337 (select .cse339 .cse340)) (not (= ~A~0.offset .cse340)) (= c_~minc~0 (+ (select .cse339 ~B~0.offset) .cse338))))) (<= (* 2 .cse337) .cse3) (= c_~minc~0 (* 2 .cse338)) (= .cse337 c_~minb~0))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse342 (select .cse344 (+ ~A~0.offset 4))) (.cse343 (select .cse344 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse342 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (= c_~mina~0 .cse342) (<= .cse342 .cse343) (<= (+ .cse4 .cse343) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse349 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse345 (select .cse349 (+ ~A~0.offset 4))) (.cse346 (select .cse349 ~A~0.offset))) (and (= c_~mina~0 .cse345) (<= (* 2 .cse345) .cse3) (<= .cse8 (+ .cse345 .cse346)) (<= .cse345 .cse346) (= c_~minc~0 (+ .cse346 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse348 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse347 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse345 (select .cse347 .cse348)) (= c_~minc~0 (+ (select .cse347 ~B~0.offset) .cse346))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse348))))))))) (and (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse351 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse350 (select .cse351 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse350) .cse3) (= .cse350 c_~minb~0) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse350) c_~minc~0))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse352 (select .cse353 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse352) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse352)) (= c_~minc~0 (+ (select .cse353 ~B~0.offset) .cse23)))))) .cse19)) .cse332) (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 ((.cse354 (select .cse356 ~A~0.offset)) (.cse355 (select .cse356 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse354) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse355 .cse354) c_~minc~0) (<= (+ .cse354 1) .cse355) (<= (* 2 .cse355) .cse3) (= .cse355 c_~minb~0) (= .cse355 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse362 (select |c_#memory_int#1| ~A~0.base)) (.cse358 (+ ~A~0.offset 4))) (let ((.cse359 (select .cse362 .cse358)) (.cse357 (select .cse362 ~A~0.offset))) (and (= c_~mina~0 .cse357) (exists ((~B~0.offset Int)) (let ((.cse361 (+ ~B~0.offset 4))) (and (not (= .cse358 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse360 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse359 (select .cse360 .cse361)) (= c_~minc~0 (+ (select .cse360 ~B~0.offset) .cse357))))) (not (= ~A~0.offset .cse361))))) (<= (+ .cse357 1) .cse359) (<= (* 2 .cse359) .cse3) (= c_~minc~0 (+ .cse357 c_~minb~0)) (= c_~minc~0 (* 2 .cse357)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base)) (.cse364 (+ ~A~0.offset 4))) (let ((.cse363 (select .cse368 .cse364)) (.cse366 (select .cse368 ~A~0.offset))) (and (= c_~mina~0 .cse363) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse367 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse365 (select .cse367 (+ ~B~0.offset 4)))) (and (not (= .cse364 ~B~0.offset)) (<= .cse8 (+ .cse365 .cse366)) (= .cse365 .cse366) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse363 .cse365) .cse3) (= c_~minc~0 (+ (select .cse367 ~B~0.offset) .cse366)))))) (<= .cse363 .cse366) (= c_~minc~0 (+ .cse366 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse370 (select .cse371 (+ ~A~0.offset 4))) (.cse369 (select .cse371 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse369)) (<= (+ .cse370 .cse4) .cse3) (= c_~mina~0 .cse370) (<= .cse370 .cse369) (= c_~minc~0 (+ .cse369 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse376 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse372 (select .cse376 ~A~0.offset)) (.cse374 (select .cse376 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse372) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse375 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse373 (select .cse375 (+ ~B~0.offset 4)))) (and (= .cse373 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse373 .cse372) (<= (+ .cse373 .cse372) c_~minc~0) (<= (+ .cse374 .cse373) .cse3) (= c_~minc~0 (+ (select .cse375 ~B~0.offset) .cse372)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse372 1) .cse374))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse379 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse378 (select .cse379 (+ ~A~0.offset 4))) (.cse377 (select .cse379 ~A~0.offset))) (and (= c_~mina~0 .cse377) (<= .cse8 (+ .cse4 .cse377)) (<= (+ .cse378 .cse4) .cse3) (<= (+ .cse377 1) .cse378) (= c_~minc~0 (+ .cse377 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse382 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse380 (select .cse382 ~A~0.offset)) (.cse381 (select .cse382 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse380) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse380 1) .cse381) (<= (* 2 .cse381) .cse3) (<= .cse8 (+ .cse381 .cse380)) (= c_~minc~0 (+ .cse380 c_~minb~0)) (= .cse381 .cse4))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse385 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse385 (+ ~A~0.offset 4))) (.cse383 (select .cse385 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse383)) (<= (+ .cse384 .cse383) .cse3) (= c_~mina~0 .cse384) (<= .cse8 (* 2 .cse383)) (<= .cse384 .cse383) (= c_~minc~0 (+ .cse383 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse387 (select .cse388 (+ ~A~0.offset 4))) (.cse386 (select .cse388 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse386)) (= c_~mina~0 .cse386) (<= (+ .cse387 .cse386) .cse3) (<= (+ .cse386 1) .cse387) (<= .cse8 (* 2 .cse386)) (= c_~minc~0 (+ .cse386 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse391 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse390 (select .cse391 (+ ~A~0.offset 4))) (.cse389 (select .cse391 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse389)) (<= (* 2 .cse389) c_~minc~0) (= c_~mina~0 .cse389) (<= (+ .cse390 .cse389) .cse3) (<= (+ .cse389 1) .cse390) (= .cse389 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse393 (select .cse396 ~A~0.offset)) (.cse392 (select .cse396 (+ ~A~0.offset 4)))) (and (<= (+ .cse392 .cse393) c_~minc~0) (= c_~mina~0 .cse392) (<= (* 2 .cse392) .cse3) (exists ((~B~0.offset Int)) (let ((.cse395 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse394 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse392 (select .cse394 .cse395)) (= c_~minc~0 (+ (select .cse394 ~B~0.offset) .cse393))))) (not (= ~A~0.offset .cse395))))) (<= .cse392 .cse393) (= .cse392 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse402 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse399 (select .cse402 (+ ~A~0.offset 4))) (.cse397 (select .cse402 ~A~0.offset))) (and (= c_~mina~0 .cse397) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~B~0.base)) (.cse400 (+ ~B~0.offset 4))) (let ((.cse398 (select .cse401 .cse400))) (and (<= .cse8 (+ .cse398 .cse397)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse399 .cse398) .cse3) (not (= ~A~0.offset .cse400)) (= c_~minc~0 (+ (select .cse401 ~B~0.offset) .cse397)))))) (= c_~minc~0 (+ .cse399 .cse397)) (<= (+ .cse397 1) .cse399) (= c_~minc~0 (+ .cse397 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse405 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse404 (select .cse405 ~A~0.offset)) (.cse403 (select .cse405 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse403 .cse404) c_~minc~0) (= c_~mina~0 .cse403) (<= (* 2 .cse403) .cse3) (<= .cse403 .cse404) (= .cse403 c_~minb~0) (= .cse403 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse410 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse406 (select .cse410 ~A~0.offset)) (.cse407 (select .cse410 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse406) (<= (+ .cse407 .cse406) c_~minc~0) (<= (+ .cse406 1) .cse407) (<= (* 2 .cse407) .cse3) (exists ((~B~0.offset Int)) (let ((.cse409 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse407 (select .cse408 .cse409)) (= c_~minc~0 (+ (select .cse408 ~B~0.offset) .cse406))))) (not (= ~A~0.offset .cse409))))) (= .cse407 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse413 (select .cse415 (+ ~A~0.offset 4))) (.cse412 (select .cse415 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse411 (select .cse414 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse411 .cse412)) (not (= ~A~0.base ~B~0.base)) (= .cse411 .cse412) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse413 .cse411) .cse3) (= c_~minc~0 (+ (select .cse414 ~B~0.offset) .cse412)))))) (= c_~mina~0 .cse413) (<= .cse413 .cse412) (= c_~minc~0 (+ .cse412 c_~minb~0)))))) (and .cse21 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse418 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse416 (select .cse418 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse416) .cse417) (= .cse416 c_~minb~0) (= c_~minc~0 (+ (select .cse418 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse416) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse420 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse419 (select .cse420 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse419) .cse417) (<= .cse8 (+ .cse23 .cse419)) (= c_~minc~0 (+ (select .cse420 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~A~0.base)) (.cse421 (+ ~A~0.offset 4))) (let ((.cse424 (select .cse427 .cse421)) (.cse423 (select .cse427 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse426 (select |c_#memory_int#1| ~B~0.base)) (.cse425 (+ ~B~0.offset 4))) (let ((.cse422 (select .cse426 .cse425))) (and (not (= .cse421 ~B~0.offset)) (<= .cse8 (+ .cse422 .cse423)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse424 .cse422) .cse3) (not (= ~A~0.offset .cse425)) (= c_~minc~0 (+ (select .cse426 ~B~0.offset) .cse423)))))) (= c_~mina~0 .cse424) (<= .cse424 .cse423) (= c_~minc~0 (+ .cse423 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse433 (select |c_#memory_int#1| ~A~0.base)) (.cse430 (+ ~A~0.offset 4))) (let ((.cse428 (select .cse433 .cse430)) (.cse429 (select .cse433 ~A~0.offset))) (and (= c_~mina~0 .cse428) (<= .cse428 .cse429) (exists ((~B~0.offset Int)) (and (not (= .cse430 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (select .cse432 (+ ~B~0.offset 4)))) (and (= .cse431 c_~minb~0) (= .cse431 .cse429) (<= (+ .cse431 .cse429) c_~minc~0) (<= (+ .cse428 .cse431) .cse3) (= c_~minc~0 (+ (select .cse432 ~B~0.offset) .cse429)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse436 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse435 (select .cse436 (+ ~A~0.offset 4))) (.cse434 (select .cse436 ~A~0.offset))) (and (= c_~mina~0 .cse434) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse435 .cse4) .cse3) (<= (+ .cse434 1) .cse435) (<= (+ .cse4 .cse434) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse441 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse440 (select .cse441 ~A~0.offset)) (.cse437 (select .cse441 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse439 (+ ~B~0.offset 4)) (.cse438 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse437 (select .cse438 .cse439)) (not (= ~A~0.offset .cse439)) (= c_~minc~0 (+ (select .cse438 ~B~0.offset) .cse440))))) (= c_~minc~0 (+ .cse437 .cse440)) (= c_~mina~0 .cse437) (<= (* 2 .cse437) .cse3) (<= .cse437 .cse440) (= .cse437 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse446 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse445 (select .cse446 ~A~0.offset)) (.cse442 (select .cse446 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse444 (+ ~B~0.offset 4)) (.cse443 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse442 (select .cse443 .cse444)) (not (= ~A~0.offset .cse444)) (= c_~minc~0 (+ (select .cse443 ~B~0.offset) .cse445))))) (= c_~mina~0 .cse445) (= c_~minc~0 (+ .cse442 .cse445)) (<= (+ .cse445 1) .cse442) (<= (* 2 .cse442) .cse3) (= .cse442 c_~minb~0))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse449 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse448 (select .cse449 (+ ~A~0.offset 4))) (.cse447 (select .cse449 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse447)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse448 .cse4) .cse3) (= c_~mina~0 .cse448) (<= .cse448 .cse447) (= c_~minc~0 (+ .cse447 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse454 (+ ~A~0.offset 4))) (.cse450 (select .cse454 ~A~0.offset))) (and (= c_~mina~0 .cse450) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse453 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse451 (select .cse453 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse451 .cse450)) (not (= ~A~0.base ~B~0.base)) (= .cse451 .cse450) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse452 .cse451) .cse3) (= c_~minc~0 (+ (select .cse453 ~B~0.offset) .cse450)))))) (<= (+ .cse450 1) .cse452) (= c_~minc~0 (+ .cse450 c_~minb~0)))))) (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))) (.cse455 (select .cse457 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse455)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse456 c_~minb~0) .cse3) (<= (+ .cse455 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse456) (<= .cse456 .cse455))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse460 (select .cse463 (+ ~A~0.offset 4))) (.cse458 (select .cse463 ~A~0.offset))) (and (= c_~mina~0 .cse458) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse462 (select |c_#memory_int#1| ~B~0.base)) (.cse461 (+ ~B~0.offset 4))) (let ((.cse459 (select .cse462 .cse461))) (and (<= .cse8 (+ .cse459 .cse458)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse460 .cse459) .cse3) (not (= ~A~0.offset .cse461)) (= c_~minc~0 (+ (select .cse462 ~B~0.offset) .cse458)))))) (<= (+ .cse458 1) .cse460) (= c_~minc~0 (+ .cse458 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse466 (+ ~A~0.offset 4)) (.cse469 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse465 (select .cse469 ~A~0.offset)) (.cse464 (select .cse469 .cse466))) (and (<= (+ .cse464 .cse465) c_~minc~0) (= c_~mina~0 .cse464) (exists ((~B~0.offset Int)) (let ((.cse468 (+ ~B~0.offset 4))) (and (not (= .cse466 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse467 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse464 (select .cse467 .cse468)) (= c_~minc~0 (+ (select .cse467 ~B~0.offset) .cse465))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse468))))) (<= (* 2 .cse464) .cse3) (<= .cse464 .cse465) (= .cse464 c_~minb~0))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse472 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse471 (select .cse472 ~A~0.offset)) (.cse470 (select .cse472 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse470) (<= (* 2 .cse470) .cse3) (<= .cse8 (+ .cse470 .cse471)) (<= .cse470 .cse471) (= c_~minc~0 (+ .cse471 c_~minb~0)) (= .cse470 .cse4))))))) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse474 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse473 (select .cse474 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse473) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse473)) (= c_~minc~0 (+ (select .cse474 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)))))) .cse19) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse476 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse475 (select .cse476 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse475) .cse3) (= .cse475 c_~minb~0) (= c_~minc~0 (+ (select .cse476 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse475) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset))))))))) .cse332) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse482 (+ ~A~0.offset 4))) (.cse478 (select .cse482 ~A~0.offset))) (and (= c_~minc~0 (+ .cse477 .cse478)) (= c_~mina~0 .cse477) (exists ((~B~0.offset Int)) (let ((.cse481 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse480 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse479 (select .cse480 .cse481))) (and (= .cse479 c_~minb~0) (<= (+ .cse479 .cse478) c_~minc~0) (<= (+ .cse477 .cse479) .cse3) (= c_~minc~0 (+ (select .cse480 ~B~0.offset) .cse478)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse481))))) (<= .cse477 .cse478))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse484 (select .cse485 (+ ~A~0.offset 4))) (.cse483 (select .cse485 ~A~0.offset))) (and (= c_~mina~0 .cse483) (<= .cse8 (+ .cse4 .cse483)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse484 .cse4) .cse3) (<= (+ .cse483 1) .cse484) (= c_~minc~0 (+ .cse483 c_~minb~0)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse487 (select .cse488 (+ ~A~0.offset 4))) (.cse486 (select .cse488 ~A~0.offset))) (and (= c_~mina~0 .cse486) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse487 .cse4) .cse3) (<= (+ .cse486 1) .cse487) (= c_~minc~0 (* 2 .cse486)) (<= (+ .cse4 .cse486) c_~minc~0))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse489 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse489 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse489 ~B~0.offset) .cse23))))) .cse53 (or (and (<= c_~minb~0 .cse23) .cse331) (and .cse51 .cse43)) .cse54) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse492 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse491 (select .cse492 (+ ~A~0.offset 4))) (.cse490 (select .cse492 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse490)) (<= (+ .cse491 c_~minb~0) .cse3) (<= (+ .cse490 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse491) (<= .cse491 .cse490))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse495 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse494 (select .cse495 (+ ~A~0.offset 4))) (.cse493 (select .cse495 ~A~0.offset))) (and (= c_~mina~0 .cse493) (<= .cse8 (+ .cse4 .cse493)) (<= (+ .cse494 .cse4) .cse3) (<= (+ .cse493 1) .cse494) (= c_~minc~0 (+ .cse493 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse498 (select .cse501 (+ ~A~0.offset 4))) (.cse497 (select .cse501 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse500 (select |c_#memory_int#1| ~B~0.base)) (.cse499 (+ ~B~0.offset 4))) (let ((.cse496 (select .cse500 .cse499))) (and (<= .cse8 (+ .cse496 .cse497)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse498 .cse496) .cse3) (not (= ~A~0.offset .cse499)) (= c_~minc~0 (+ (select .cse500 ~B~0.offset) .cse497)))))) (= c_~minc~0 (+ .cse498 .cse497)) (= c_~mina~0 .cse498) (<= .cse498 .cse497) (= c_~minc~0 (+ .cse497 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse506 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse502 (select .cse506 ~A~0.offset)) (.cse503 (select .cse506 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse502) (<= (+ .cse503 .cse502) c_~minc~0) (<= (+ .cse502 1) .cse503) (<= (* 2 .cse503) .cse3) (exists ((~B~0.offset Int)) (let ((.cse505 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse503 (select .cse504 .cse505)) (= c_~minc~0 (+ (select .cse504 ~B~0.offset) .cse502))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse505))))) (= .cse503 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse511 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse507 (select .cse511 (+ ~A~0.offset 4))) (.cse508 (select .cse511 ~A~0.offset))) (and (= c_~minc~0 (+ .cse507 .cse508)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse509 (select .cse510 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse509 .cse508)) (= .cse509 .cse508) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse507 .cse509) .cse3) (= c_~minc~0 (+ (select .cse510 ~B~0.offset) .cse508)))))) (= c_~mina~0 .cse507) (<= .cse507 .cse508) (= c_~minc~0 (+ .cse508 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse514 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse512 (select .cse514 ~A~0.offset)) (.cse513 (select .cse514 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse512) (<= (+ .cse513 .cse512) c_~minc~0) (<= (+ .cse512 1) .cse513) (<= (* 2 .cse513) .cse3) (= .cse513 c_~minb~0) (= .cse513 .cse4))))))))))))) is different from true [2025-04-13 20:58:05,297 WARN L286 SmtUtils]: Spent 6.59s on a formula simplification. DAG size of input: 701 DAG size of output: 701 (called from [L 386] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)