./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --validate ./goblint.2024-06-19_11-23-25.files/protection/popl20-three-array-min.wvr.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 7724a2de Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c ./goblint.2024-06-19_11-23-25.files/protection/popl20-three-array-min.wvr.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.fs.goblint-validation-7724a2d-m [2024-06-27 18:04:07,255 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-06-27 18:04:07,315 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-06-27 18:04:07,339 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-06-27 18:04:07,340 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-06-27 18:04:07,381 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-06-27 18:04:07,385 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-06-27 18:04:07,386 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-06-27 18:04:07,386 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-06-27 18:04:07,390 INFO L153 SettingsManager]: * Use memory slicer=true [2024-06-27 18:04:07,390 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-06-27 18:04:07,391 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-06-27 18:04:07,392 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-06-27 18:04:07,393 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-06-27 18:04:07,393 INFO L153 SettingsManager]: * Use SBE=true [2024-06-27 18:04:07,393 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-06-27 18:04:07,394 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-06-27 18:04:07,394 INFO L153 SettingsManager]: * sizeof long=4 [2024-06-27 18:04:07,394 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-06-27 18:04:07,394 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-06-27 18:04:07,395 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-06-27 18:04:07,396 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-06-27 18:04:07,396 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-06-27 18:04:07,397 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-06-27 18:04:07,397 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-06-27 18:04:07,397 INFO L153 SettingsManager]: * sizeof long double=12 [2024-06-27 18:04:07,397 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-06-27 18:04:07,398 INFO L153 SettingsManager]: * Use constant arrays=true [2024-06-27 18:04:07,398 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-06-27 18:04:07,398 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-06-27 18:04:07,399 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-06-27 18:04:07,400 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-06-27 18:04:07,400 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-27 18:04:07,400 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-06-27 18:04:07,400 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-06-27 18:04:07,401 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-06-27 18:04:07,401 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-06-27 18:04:07,401 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-06-27 18:04:07,401 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-06-27 18:04:07,401 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-06-27 18:04:07,402 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-06-27 18:04:07,402 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-06-27 18:04:07,402 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-06-27 18:04:07,402 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false [2024-06-27 18:04:07,650 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-06-27 18:04:07,677 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-06-27 18:04:07,680 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-06-27 18:04:07,681 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-06-27 18:04:07,682 INFO L274 PluginConnector]: Witness Parser initialized [2024-06-27 18:04:07,683 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./goblint.2024-06-19_11-23-25.files/protection/popl20-three-array-min.wvr.yml/witness.yml [2024-06-27 18:04:07,765 INFO L270 PluginConnector]: Initializing CDTParser... [2024-06-27 18:04:07,766 INFO L274 PluginConnector]: CDTParser initialized [2024-06-27 18:04:07,768 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 [2024-06-27 18:04:08,949 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-06-27 18:04:09,157 INFO L384 CDTParser]: Found 1 translation units. [2024-06-27 18:04:09,157 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2024-06-27 18:04:09,167 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/de2b6cf2a/29fc8a8535694da09b9f2c7f59d6eb59/FLAG06fb52d0b [2024-06-27 18:04:09,183 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/de2b6cf2a/29fc8a8535694da09b9f2c7f59d6eb59 [2024-06-27 18:04:09,184 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-06-27 18:04:09,185 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-06-27 18:04:09,188 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-06-27 18:04:09,188 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-06-27 18:04:09,193 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-06-27 18:04:09,193 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 27.06 06:04:07" (1/2) ... [2024-06-27 18:04:09,195 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5696f898 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 27.06 06:04:09, skipping insertion in model container [2024-06-27 18:04:09,195 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 27.06 06:04:07" (1/2) ... [2024-06-27 18:04:09,197 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@aa31ee4 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 27.06 06:04:09, skipping insertion in model container [2024-06-27 18:04:09,197 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.06 06:04:09" (2/2) ... [2024-06-27 18:04:09,199 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5696f898 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09, skipping insertion in model container [2024-06-27 18:04:09,199 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.06 06:04:09" (2/2) ... [2024-06-27 18:04:09,200 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-06-27 18:04:09,220 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-06-27 18:04:09,221 INFO L97 edCorrectnessWitness]: Location invariant before [L109-L109] ! multithreaded || 1 <= p [2024-06-27 18:04:09,221 INFO L97 edCorrectnessWitness]: Location invariant before [L107-L107] ! multithreaded || 1 <= p [2024-06-27 18:04:09,222 INFO L97 edCorrectnessWitness]: Location invariant before [L108-L108] ! multithreaded || 1 <= p [2024-06-27 18:04:09,222 INFO L103 edCorrectnessWitness]: ghost_variable multithreaded = 0 [2024-06-27 18:04:09,222 INFO L106 edCorrectnessWitness]: ghost_update [L106-L106] multithreaded = 1; [2024-06-27 18:04:09,246 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-06-27 18:04:09,458 WARN L247 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] [2024-06-27 18:04:09,476 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-27 18:04:09,485 INFO L202 MainTranslator]: Completed pre-run Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-06-27 18:04:09,562 WARN L247 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] [2024-06-27 18:04:09,569 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-06-27 18:04:09,587 INFO L206 MainTranslator]: Completed translation [2024-06-27 18:04:09,588 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09 WrapperNode [2024-06-27 18:04:09,588 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-06-27 18:04:09,590 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-06-27 18:04:09,590 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-06-27 18:04:09,590 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-06-27 18:04:09,596 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,614 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,656 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 228 [2024-06-27 18:04:09,657 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-06-27 18:04:09,658 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-06-27 18:04:09,658 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-06-27 18:04:09,658 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-06-27 18:04:09,669 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,669 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,685 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,707 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]. [2024-06-27 18:04:09,708 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,708 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,721 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,734 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,740 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,741 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,745 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-06-27 18:04:09,746 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-06-27 18:04:09,746 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-06-27 18:04:09,746 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-06-27 18:04:09,746 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (1/1) ... [2024-06-27 18:04:09,752 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-06-27 18:04:09,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 18:04:09,777 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) [2024-06-27 18:04:09,799 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 [2024-06-27 18:04:09,816 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-06-27 18:04:09,817 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-06-27 18:04:09,817 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-06-27 18:04:09,817 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-06-27 18:04:09,817 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-06-27 18:04:09,817 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-06-27 18:04:09,818 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-06-27 18:04:09,818 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-06-27 18:04:09,818 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-06-27 18:04:09,818 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-06-27 18:04:09,819 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-06-27 18:04:09,819 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-06-27 18:04:09,819 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-06-27 18:04:09,820 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-06-27 18:04:09,820 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-06-27 18:04:09,821 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-06-27 18:04:09,821 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-06-27 18:04:09,821 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-06-27 18:04:09,822 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-06-27 18:04:09,929 INFO L244 CfgBuilder]: Building ICFG [2024-06-27 18:04:09,931 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-06-27 18:04:10,318 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-06-27 18:04:10,318 INFO L293 CfgBuilder]: Performing block encoding [2024-06-27 18:04:10,651 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-06-27 18:04:10,652 INFO L320 CfgBuilder]: Removed 6 assume(true) statements. [2024-06-27 18:04:10,652 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.06 06:04:10 BoogieIcfgContainer [2024-06-27 18:04:10,652 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-06-27 18:04:10,655 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-06-27 18:04:10,655 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-06-27 18:04:10,658 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-06-27 18:04:10,658 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 27.06 06:04:07" (1/4) ... [2024-06-27 18:04:10,659 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@391da6ea and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 27.06 06:04:10, skipping insertion in model container [2024-06-27 18:04:10,659 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.06 06:04:09" (2/4) ... [2024-06-27 18:04:10,659 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@391da6ea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.06 06:04:10, skipping insertion in model container [2024-06-27 18:04:10,660 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.06 06:04:09" (3/4) ... [2024-06-27 18:04:10,662 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@391da6ea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.06 06:04:10, skipping insertion in model container [2024-06-27 18:04:10,662 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.06 06:04:10" (4/4) ... [2024-06-27 18:04:10,663 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2024-06-27 18:04:10,680 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-06-27 18:04:10,680 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 4 error locations. [2024-06-27 18:04:10,680 INFO L522 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-06-27 18:04:10,727 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-06-27 18:04:10,763 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 49 places, 46 transitions, 113 flow [2024-06-27 18:04:10,797 INFO L124 PetriNetUnfolderBase]: 7/43 cut-off events. [2024-06-27 18:04:10,797 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-06-27 18:04:10,801 INFO L83 FinitePrefix]: Finished finitePrefix Result has 56 conditions, 43 events. 7/43 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 49 event pairs, 0 based on Foata normal form. 0/32 useless extension candidates. Maximal degree in co-relation 32. Up to 2 conditions per place. [2024-06-27 18:04:10,801 INFO L82 GeneralOperation]: Start removeDead. Operand has 49 places, 46 transitions, 113 flow [2024-06-27 18:04:10,805 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 45 places, 42 transitions, 102 flow [2024-06-27 18:04:10,817 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-06-27 18:04:10,826 INFO L357 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, mHoare=false, 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;@1b5c8880, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-06-27 18:04:10,827 INFO L358 AbstractCegarLoop]: Starting to check reachability of 7 error locations. [2024-06-27 18:04:10,836 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-06-27 18:04:10,836 INFO L124 PetriNetUnfolderBase]: 4/12 cut-off events. [2024-06-27 18:04:10,836 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-06-27 18:04:10,837 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:10,837 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:10,838 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:10,842 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:10,842 INFO L85 PathProgramCache]: Analyzing trace with hash 1484441039, now seen corresponding path program 1 times [2024-06-27 18:04:10,851 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:10,851 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1534630199] [2024-06-27 18:04:10,851 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:10,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:11,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:11,222 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 18:04:11,223 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:11,223 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1534630199] [2024-06-27 18:04:11,224 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1534630199] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 18:04:11,224 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 18:04:11,224 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-06-27 18:04:11,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [823626279] [2024-06-27 18:04:11,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:11,234 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-27 18:04:11,239 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:11,261 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-27 18:04:11,262 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-27 18:04:11,275 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 12 out of 46 [2024-06-27 18:04:11,277 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 45 places, 42 transitions, 102 flow. Second operand has 3 states, 3 states have (on average 14.333333333333334) internal successors, (43), 3 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) [2024-06-27 18:04:11,278 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:11,278 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 12 of 46 [2024-06-27 18:04:11,279 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:11,539 INFO L124 PetriNetUnfolderBase]: 753/1199 cut-off events. [2024-06-27 18:04:11,539 INFO L125 PetriNetUnfolderBase]: For 117/117 co-relation queries the response was YES. [2024-06-27 18:04:11,543 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2349 conditions, 1199 events. 753/1199 cut-off events. For 117/117 co-relation queries the response was YES. Maximal size of possible extension queue 66. Compared 5144 event pairs, 237 based on Foata normal form. 45/1103 useless extension candidates. Maximal degree in co-relation 2061. Up to 677 conditions per place. [2024-06-27 18:04:11,551 INFO L140 encePairwiseOnDemand]: 41/46 looper letters, 47 selfloop transitions, 2 changer transitions 0/58 dead transitions. [2024-06-27 18:04:11,551 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 46 places, 58 transitions, 244 flow [2024-06-27 18:04:11,552 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-06-27 18:04:11,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-06-27 18:04:11,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2024-06-27 18:04:11,562 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6376811594202898 [2024-06-27 18:04:11,563 INFO L175 Difference]: Start difference. First operand has 45 places, 42 transitions, 102 flow. Second operand 3 states and 88 transitions. [2024-06-27 18:04:11,564 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 46 places, 58 transitions, 244 flow [2024-06-27 18:04:11,567 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 40 places, 58 transitions, 224 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-06-27 18:04:11,569 INFO L231 Difference]: Finished difference. Result has 41 places, 42 transitions, 102 flow [2024-06-27 18:04:11,571 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=88, PETRI_DIFFERENCE_MINUEND_PLACES=38, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=41, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=102, PETRI_PLACES=41, PETRI_TRANSITIONS=42} [2024-06-27 18:04:11,574 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, -4 predicate places. [2024-06-27 18:04:11,575 INFO L495 AbstractCegarLoop]: Abstraction has has 41 places, 42 transitions, 102 flow [2024-06-27 18:04:11,575 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 14.333333333333334) internal successors, (43), 3 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) [2024-06-27 18:04:11,575 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:11,575 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:11,576 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-06-27 18:04:11,576 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:11,576 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:11,576 INFO L85 PathProgramCache]: Analyzing trace with hash -1224160941, now seen corresponding path program 1 times [2024-06-27 18:04:11,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:11,577 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [656592997] [2024-06-27 18:04:11,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:11,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:11,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:11,718 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-06-27 18:04:11,718 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:11,719 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [656592997] [2024-06-27 18:04:11,719 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [656592997] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 18:04:11,719 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 18:04:11,719 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-06-27 18:04:11,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [675431546] [2024-06-27 18:04:11,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:11,721 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-06-27 18:04:11,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:11,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-06-27 18:04:11,722 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-06-27 18:04:11,733 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 12 out of 46 [2024-06-27 18:04:11,734 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 41 places, 42 transitions, 102 flow. Second operand has 4 states, 4 states have (on average 15.0) internal successors, (60), 4 states have internal predecessors, (60), 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) [2024-06-27 18:04:11,734 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:11,734 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 12 of 46 [2024-06-27 18:04:11,734 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:12,096 INFO L124 PetriNetUnfolderBase]: 1063/1727 cut-off events. [2024-06-27 18:04:12,096 INFO L125 PetriNetUnfolderBase]: For 265/265 co-relation queries the response was YES. [2024-06-27 18:04:12,100 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3504 conditions, 1727 events. 1063/1727 cut-off events. For 265/265 co-relation queries the response was YES. Maximal size of possible extension queue 81. Compared 8246 event pairs, 435 based on Foata normal form. 54/1599 useless extension candidates. Maximal degree in co-relation 897. Up to 926 conditions per place. [2024-06-27 18:04:12,109 INFO L140 encePairwiseOnDemand]: 40/46 looper letters, 71 selfloop transitions, 5 changer transitions 0/85 dead transitions. [2024-06-27 18:04:12,109 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 85 transitions, 350 flow [2024-06-27 18:04:12,110 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-06-27 18:04:12,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-06-27 18:04:12,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 140 transitions. [2024-06-27 18:04:12,115 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6086956521739131 [2024-06-27 18:04:12,116 INFO L175 Difference]: Start difference. First operand has 41 places, 42 transitions, 102 flow. Second operand 5 states and 140 transitions. [2024-06-27 18:04:12,116 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 85 transitions, 350 flow [2024-06-27 18:04:12,118 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 44 places, 85 transitions, 348 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-06-27 18:04:12,123 INFO L231 Difference]: Finished difference. Result has 47 places, 45 transitions, 139 flow [2024-06-27 18:04:12,124 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=100, PETRI_DIFFERENCE_MINUEND_PLACES=40, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=37, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=139, PETRI_PLACES=47, PETRI_TRANSITIONS=45} [2024-06-27 18:04:12,125 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 2 predicate places. [2024-06-27 18:04:12,125 INFO L495 AbstractCegarLoop]: Abstraction has has 47 places, 45 transitions, 139 flow [2024-06-27 18:04:12,131 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.0) internal successors, (60), 4 states have internal predecessors, (60), 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) [2024-06-27 18:04:12,131 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:12,131 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:12,132 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-06-27 18:04:12,132 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:12,132 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:12,133 INFO L85 PathProgramCache]: Analyzing trace with hash -98780243, now seen corresponding path program 1 times [2024-06-27 18:04:12,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:12,134 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469104696] [2024-06-27 18:04:12,134 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:12,134 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:12,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:12,277 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-06-27 18:04:12,277 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:12,278 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469104696] [2024-06-27 18:04:12,278 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [469104696] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 18:04:12,278 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 18:04:12,278 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-06-27 18:04:12,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1099466059] [2024-06-27 18:04:12,279 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:12,279 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-27 18:04:12,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:12,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-27 18:04:12,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-27 18:04:12,283 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 15 out of 46 [2024-06-27 18:04:12,283 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 47 places, 45 transitions, 139 flow. Second operand has 3 states, 3 states have (on average 19.0) internal successors, (57), 3 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-27 18:04:12,283 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:12,283 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 15 of 46 [2024-06-27 18:04:12,284 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:12,476 INFO L124 PetriNetUnfolderBase]: 976/1598 cut-off events. [2024-06-27 18:04:12,477 INFO L125 PetriNetUnfolderBase]: For 953/968 co-relation queries the response was YES. [2024-06-27 18:04:12,481 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3811 conditions, 1598 events. 976/1598 cut-off events. For 953/968 co-relation queries the response was YES. Maximal size of possible extension queue 79. Compared 7448 event pairs, 716 based on Foata normal form. 0/1414 useless extension candidates. Maximal degree in co-relation 1425. Up to 1344 conditions per place. [2024-06-27 18:04:12,488 INFO L140 encePairwiseOnDemand]: 43/46 looper letters, 33 selfloop transitions, 2 changer transitions 0/46 dead transitions. [2024-06-27 18:04:12,488 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 46 transitions, 211 flow [2024-06-27 18:04:12,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-06-27 18:04:12,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-06-27 18:04:12,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2024-06-27 18:04:12,490 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5579710144927537 [2024-06-27 18:04:12,490 INFO L175 Difference]: Start difference. First operand has 47 places, 45 transitions, 139 flow. Second operand 3 states and 77 transitions. [2024-06-27 18:04:12,490 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 46 transitions, 211 flow [2024-06-27 18:04:12,493 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 46 transitions, 204 flow, removed 1 selfloop flow, removed 2 redundant places. [2024-06-27 18:04:12,493 INFO L231 Difference]: Finished difference. Result has 48 places, 46 transitions, 144 flow [2024-06-27 18:04:12,494 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=132, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=43, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=144, PETRI_PLACES=48, PETRI_TRANSITIONS=46} [2024-06-27 18:04:12,495 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 3 predicate places. [2024-06-27 18:04:12,495 INFO L495 AbstractCegarLoop]: Abstraction has has 48 places, 46 transitions, 144 flow [2024-06-27 18:04:12,495 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 19.0) internal successors, (57), 3 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-06-27 18:04:12,495 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:12,495 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:12,495 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-06-27 18:04:12,496 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:12,496 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:12,496 INFO L85 PathProgramCache]: Analyzing trace with hash -343751364, now seen corresponding path program 1 times [2024-06-27 18:04:12,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:12,497 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [703992248] [2024-06-27 18:04:12,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:12,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:12,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:12,576 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-06-27 18:04:12,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:12,576 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [703992248] [2024-06-27 18:04:12,576 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [703992248] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 18:04:12,577 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 18:04:12,577 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-06-27 18:04:12,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2084669739] [2024-06-27 18:04:12,577 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:12,577 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-06-27 18:04:12,578 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:12,578 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-06-27 18:04:12,578 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-06-27 18:04:12,583 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 15 out of 46 [2024-06-27 18:04:12,583 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 48 places, 46 transitions, 144 flow. Second operand has 4 states, 4 states have (on average 18.25) internal successors, (73), 4 states have internal predecessors, (73), 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) [2024-06-27 18:04:12,584 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:12,584 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 15 of 46 [2024-06-27 18:04:12,584 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:12,790 INFO L124 PetriNetUnfolderBase]: 961/1600 cut-off events. [2024-06-27 18:04:12,790 INFO L125 PetriNetUnfolderBase]: For 727/742 co-relation queries the response was YES. [2024-06-27 18:04:12,794 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3661 conditions, 1600 events. 961/1600 cut-off events. For 727/742 co-relation queries the response was YES. Maximal size of possible extension queue 76. Compared 7603 event pairs, 697 based on Foata normal form. 1/1400 useless extension candidates. Maximal degree in co-relation 3646. Up to 1322 conditions per place. [2024-06-27 18:04:12,800 INFO L140 encePairwiseOnDemand]: 39/46 looper letters, 31 selfloop transitions, 6 changer transitions 0/48 dead transitions. [2024-06-27 18:04:12,801 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 48 transitions, 222 flow [2024-06-27 18:04:12,801 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-06-27 18:04:12,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-06-27 18:04:12,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2024-06-27 18:04:12,802 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5163043478260869 [2024-06-27 18:04:12,802 INFO L175 Difference]: Start difference. First operand has 48 places, 46 transitions, 144 flow. Second operand 4 states and 95 transitions. [2024-06-27 18:04:12,802 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 48 transitions, 222 flow [2024-06-27 18:04:12,804 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 50 places, 48 transitions, 218 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-06-27 18:04:12,805 INFO L231 Difference]: Finished difference. Result has 51 places, 48 transitions, 168 flow [2024-06-27 18:04:12,805 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=140, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=40, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=168, PETRI_PLACES=51, PETRI_TRANSITIONS=48} [2024-06-27 18:04:12,806 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 6 predicate places. [2024-06-27 18:04:12,806 INFO L495 AbstractCegarLoop]: Abstraction has has 51 places, 48 transitions, 168 flow [2024-06-27 18:04:12,807 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 18.25) internal successors, (73), 4 states have internal predecessors, (73), 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) [2024-06-27 18:04:12,807 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:12,807 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:12,807 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2024-06-27 18:04:12,807 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:12,808 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:12,808 INFO L85 PathProgramCache]: Analyzing trace with hash 2095474445, now seen corresponding path program 1 times [2024-06-27 18:04:12,808 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:12,808 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1276639661] [2024-06-27 18:04:12,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:12,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:12,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:12,918 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-06-27 18:04:12,919 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:12,919 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1276639661] [2024-06-27 18:04:12,919 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1276639661] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:12,919 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [520818129] [2024-06-27 18:04:12,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:12,920 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:12,920 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 18:04:12,924 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) [2024-06-27 18:04:12,934 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-06-27 18:04:13,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:13,048 INFO L262 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 7 conjunts are in the unsatisfiable core [2024-06-27 18:04:13,052 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-27 18:04:13,148 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-06-27 18:04:13,148 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-27 18:04:13,211 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-06-27 18:04:13,211 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [520818129] provided 0 perfect and 2 imperfect interpolant sequences [2024-06-27 18:04:13,212 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-06-27 18:04:13,212 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-06-27 18:04:13,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [331041502] [2024-06-27 18:04:13,213 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-06-27 18:04:13,217 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-06-27 18:04:13,217 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:13,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-06-27 18:04:13,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2024-06-27 18:04:13,263 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 14 out of 46 [2024-06-27 18:04:13,264 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 48 transitions, 168 flow. Second operand has 12 states, 12 states have (on average 16.25) internal successors, (195), 12 states have internal predecessors, (195), 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) [2024-06-27 18:04:13,264 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:13,264 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 14 of 46 [2024-06-27 18:04:13,265 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:13,734 INFO L124 PetriNetUnfolderBase]: 1536/2469 cut-off events. [2024-06-27 18:04:13,735 INFO L125 PetriNetUnfolderBase]: For 672/711 co-relation queries the response was YES. [2024-06-27 18:04:13,742 INFO L83 FinitePrefix]: Finished finitePrefix Result has 5494 conditions, 2469 events. 1536/2469 cut-off events. For 672/711 co-relation queries the response was YES. Maximal size of possible extension queue 95. Compared 11854 event pairs, 1058 based on Foata normal form. 44/2232 useless extension candidates. Maximal degree in co-relation 4490. Up to 1734 conditions per place. [2024-06-27 18:04:13,754 INFO L140 encePairwiseOnDemand]: 36/46 looper letters, 65 selfloop transitions, 22 changer transitions 0/97 dead transitions. [2024-06-27 18:04:13,754 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 59 places, 97 transitions, 495 flow [2024-06-27 18:04:13,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-06-27 18:04:13,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-06-27 18:04:13,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 210 transitions. [2024-06-27 18:04:13,756 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5072463768115942 [2024-06-27 18:04:13,756 INFO L175 Difference]: Start difference. First operand has 51 places, 48 transitions, 168 flow. Second operand 9 states and 210 transitions. [2024-06-27 18:04:13,756 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 59 places, 97 transitions, 495 flow [2024-06-27 18:04:13,760 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 97 transitions, 494 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-06-27 18:04:13,761 INFO L231 Difference]: Finished difference. Result has 62 places, 64 transitions, 326 flow [2024-06-27 18:04:13,761 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=167, PETRI_DIFFERENCE_MINUEND_PLACES=50, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=48, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=326, PETRI_PLACES=62, PETRI_TRANSITIONS=64} [2024-06-27 18:04:13,762 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 17 predicate places. [2024-06-27 18:04:13,762 INFO L495 AbstractCegarLoop]: Abstraction has has 62 places, 64 transitions, 326 flow [2024-06-27 18:04:13,763 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 16.25) internal successors, (195), 12 states have internal predecessors, (195), 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) [2024-06-27 18:04:13,763 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:13,763 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:13,784 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2024-06-27 18:04:13,981 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:13,982 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:13,982 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:13,982 INFO L85 PathProgramCache]: Analyzing trace with hash 198273113, now seen corresponding path program 2 times [2024-06-27 18:04:13,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:13,983 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [420001474] [2024-06-27 18:04:13,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:13,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:14,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:14,072 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-06-27 18:04:14,072 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:14,073 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [420001474] [2024-06-27 18:04:14,073 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [420001474] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:14,074 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1946537829] [2024-06-27 18:04:14,075 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-06-27 18:04:14,077 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:14,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 18:04:14,078 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) [2024-06-27 18:04:14,081 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-06-27 18:04:14,193 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-06-27 18:04:14,193 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-06-27 18:04:14,195 INFO L262 TraceCheckSpWp]: Trace formula consists of 260 conjuncts, 4 conjunts are in the unsatisfiable core [2024-06-27 18:04:14,197 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-27 18:04:14,219 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-06-27 18:04:14,219 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-06-27 18:04:14,220 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1946537829] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 18:04:14,220 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-06-27 18:04:14,220 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4] total 5 [2024-06-27 18:04:14,220 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1802892038] [2024-06-27 18:04:14,220 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:14,221 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-06-27 18:04:14,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:14,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-06-27 18:04:14,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2024-06-27 18:04:14,235 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 12 out of 46 [2024-06-27 18:04:14,235 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 62 places, 64 transitions, 326 flow. Second operand has 5 states, 5 states have (on average 15.4) internal successors, (77), 5 states have internal predecessors, (77), 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) [2024-06-27 18:04:14,235 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:14,235 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 12 of 46 [2024-06-27 18:04:14,236 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:14,572 INFO L124 PetriNetUnfolderBase]: 1188/1990 cut-off events. [2024-06-27 18:04:14,572 INFO L125 PetriNetUnfolderBase]: For 1160/1177 co-relation queries the response was YES. [2024-06-27 18:04:14,578 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4853 conditions, 1990 events. 1188/1990 cut-off events. For 1160/1177 co-relation queries the response was YES. Maximal size of possible extension queue 84. Compared 9728 event pairs, 291 based on Foata normal form. 54/1841 useless extension candidates. Maximal degree in co-relation 3667. Up to 680 conditions per place. [2024-06-27 18:04:14,587 INFO L140 encePairwiseOnDemand]: 40/46 looper letters, 97 selfloop transitions, 8 changer transitions 0/114 dead transitions. [2024-06-27 18:04:14,588 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 114 transitions, 636 flow [2024-06-27 18:04:14,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-06-27 18:04:14,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-06-27 18:04:14,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 162 transitions. [2024-06-27 18:04:14,589 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5869565217391305 [2024-06-27 18:04:14,590 INFO L175 Difference]: Start difference. First operand has 62 places, 64 transitions, 326 flow. Second operand 6 states and 162 transitions. [2024-06-27 18:04:14,590 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 114 transitions, 636 flow [2024-06-27 18:04:14,595 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 64 places, 114 transitions, 608 flow, removed 8 selfloop flow, removed 1 redundant places. [2024-06-27 18:04:14,598 INFO L231 Difference]: Finished difference. Result has 64 places, 63 transitions, 302 flow [2024-06-27 18:04:14,599 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=282, PETRI_DIFFERENCE_MINUEND_PLACES=59, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=62, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=55, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=302, PETRI_PLACES=64, PETRI_TRANSITIONS=63} [2024-06-27 18:04:14,602 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 19 predicate places. [2024-06-27 18:04:14,602 INFO L495 AbstractCegarLoop]: Abstraction has has 64 places, 63 transitions, 302 flow [2024-06-27 18:04:14,602 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 15.4) internal successors, (77), 5 states have internal predecessors, (77), 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) [2024-06-27 18:04:14,602 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:14,602 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:14,621 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-06-27 18:04:14,821 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2024-06-27 18:04:14,822 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:14,822 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:14,822 INFO L85 PathProgramCache]: Analyzing trace with hash 268496131, now seen corresponding path program 1 times [2024-06-27 18:04:14,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:14,823 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1265847425] [2024-06-27 18:04:14,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:14,823 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:14,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:14,926 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-06-27 18:04:14,926 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:14,926 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1265847425] [2024-06-27 18:04:14,926 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1265847425] provided 1 perfect and 0 imperfect interpolant sequences [2024-06-27 18:04:14,927 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-06-27 18:04:14,927 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-06-27 18:04:14,927 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [596404924] [2024-06-27 18:04:14,927 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:14,927 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-06-27 18:04:14,928 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:14,928 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-06-27 18:04:14,928 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-06-27 18:04:14,929 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 15 out of 46 [2024-06-27 18:04:14,929 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 64 places, 63 transitions, 302 flow. Second operand has 3 states, 3 states have (on average 23.333333333333332) internal successors, (70), 3 states have internal predecessors, (70), 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) [2024-06-27 18:04:14,929 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:14,929 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 15 of 46 [2024-06-27 18:04:14,929 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:15,231 INFO L124 PetriNetUnfolderBase]: 1548/2769 cut-off events. [2024-06-27 18:04:15,231 INFO L125 PetriNetUnfolderBase]: For 2525/2558 co-relation queries the response was YES. [2024-06-27 18:04:15,240 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6562 conditions, 2769 events. 1548/2769 cut-off events. For 2525/2558 co-relation queries the response was YES. Maximal size of possible extension queue 113. Compared 15059 event pairs, 598 based on Foata normal form. 4/2422 useless extension candidates. Maximal degree in co-relation 4907. Up to 1162 conditions per place. [2024-06-27 18:04:15,254 INFO L140 encePairwiseOnDemand]: 43/46 looper letters, 70 selfloop transitions, 2 changer transitions 2/83 dead transitions. [2024-06-27 18:04:15,255 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 66 places, 83 transitions, 550 flow [2024-06-27 18:04:15,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-06-27 18:04:15,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-06-27 18:04:15,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 89 transitions. [2024-06-27 18:04:15,256 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.644927536231884 [2024-06-27 18:04:15,256 INFO L175 Difference]: Start difference. First operand has 64 places, 63 transitions, 302 flow. Second operand 3 states and 89 transitions. [2024-06-27 18:04:15,256 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 66 places, 83 transitions, 550 flow [2024-06-27 18:04:15,260 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 83 transitions, 508 flow, removed 4 selfloop flow, removed 4 redundant places. [2024-06-27 18:04:15,262 INFO L231 Difference]: Finished difference. Result has 63 places, 64 transitions, 293 flow [2024-06-27 18:04:15,262 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=281, PETRI_DIFFERENCE_MINUEND_PLACES=60, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=63, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=61, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=293, PETRI_PLACES=63, PETRI_TRANSITIONS=64} [2024-06-27 18:04:15,262 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 18 predicate places. [2024-06-27 18:04:15,263 INFO L495 AbstractCegarLoop]: Abstraction has has 63 places, 64 transitions, 293 flow [2024-06-27 18:04:15,263 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 23.333333333333332) internal successors, (70), 3 states have internal predecessors, (70), 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) [2024-06-27 18:04:15,263 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:15,263 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:15,263 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-06-27 18:04:15,264 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:15,264 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:15,264 INFO L85 PathProgramCache]: Analyzing trace with hash -1812259796, now seen corresponding path program 1 times [2024-06-27 18:04:15,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:15,265 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1063002199] [2024-06-27 18:04:15,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:15,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:15,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:15,386 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-06-27 18:04:15,387 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:15,387 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1063002199] [2024-06-27 18:04:15,387 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1063002199] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:15,387 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1304483781] [2024-06-27 18:04:15,387 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:15,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:15,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 18:04:15,389 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-06-27 18:04:15,418 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-06-27 18:04:15,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:15,518 INFO L262 TraceCheckSpWp]: Trace formula consists of 285 conjuncts, 7 conjunts are in the unsatisfiable core [2024-06-27 18:04:15,520 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-27 18:04:15,577 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-06-27 18:04:15,577 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-27 18:04:15,633 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-06-27 18:04:15,633 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1304483781] provided 0 perfect and 2 imperfect interpolant sequences [2024-06-27 18:04:15,634 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-06-27 18:04:15,634 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-06-27 18:04:15,634 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1577198628] [2024-06-27 18:04:15,634 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-06-27 18:04:15,635 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-06-27 18:04:15,635 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:15,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-06-27 18:04:15,636 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2024-06-27 18:04:15,652 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 14 out of 46 [2024-06-27 18:04:15,653 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 64 transitions, 293 flow. Second operand has 12 states, 12 states have (on average 17.166666666666668) internal successors, (206), 12 states have internal predecessors, (206), 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) [2024-06-27 18:04:15,653 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:15,653 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 14 of 46 [2024-06-27 18:04:15,653 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:16,100 INFO L124 PetriNetUnfolderBase]: 1709/2894 cut-off events. [2024-06-27 18:04:16,101 INFO L125 PetriNetUnfolderBase]: For 1574/1633 co-relation queries the response was YES. [2024-06-27 18:04:16,109 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6604 conditions, 2894 events. 1709/2894 cut-off events. For 1574/1633 co-relation queries the response was YES. Maximal size of possible extension queue 105. Compared 14954 event pairs, 913 based on Foata normal form. 0/2431 useless extension candidates. Maximal degree in co-relation 5822. Up to 1602 conditions per place. [2024-06-27 18:04:16,124 INFO L140 encePairwiseOnDemand]: 36/46 looper letters, 48 selfloop transitions, 10 changer transitions 39/105 dead transitions. [2024-06-27 18:04:16,124 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 105 transitions, 627 flow [2024-06-27 18:04:16,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2024-06-27 18:04:16,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2024-06-27 18:04:16,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 227 transitions. [2024-06-27 18:04:16,126 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4934782608695652 [2024-06-27 18:04:16,126 INFO L175 Difference]: Start difference. First operand has 63 places, 64 transitions, 293 flow. Second operand 10 states and 227 transitions. [2024-06-27 18:04:16,126 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 105 transitions, 627 flow [2024-06-27 18:04:16,130 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 105 transitions, 625 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-06-27 18:04:16,131 INFO L231 Difference]: Finished difference. Result has 73 places, 51 transitions, 228 flow [2024-06-27 18:04:16,132 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=291, PETRI_DIFFERENCE_MINUEND_PLACES=62, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=64, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=10, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=54, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=228, PETRI_PLACES=73, PETRI_TRANSITIONS=51} [2024-06-27 18:04:16,134 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 28 predicate places. [2024-06-27 18:04:16,134 INFO L495 AbstractCegarLoop]: Abstraction has has 73 places, 51 transitions, 228 flow [2024-06-27 18:04:16,135 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 17.166666666666668) internal successors, (206), 12 states have internal predecessors, (206), 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) [2024-06-27 18:04:16,135 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:16,135 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:16,151 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-06-27 18:04:16,348 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:16,349 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:16,349 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:16,349 INFO L85 PathProgramCache]: Analyzing trace with hash 201537300, now seen corresponding path program 2 times [2024-06-27 18:04:16,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:16,350 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [949644593] [2024-06-27 18:04:16,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:16,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:16,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:16,474 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-06-27 18:04:16,475 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:16,475 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [949644593] [2024-06-27 18:04:16,475 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [949644593] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:16,475 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1713994918] [2024-06-27 18:04:16,476 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-06-27 18:04:16,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:16,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 18:04:16,477 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-06-27 18:04:16,484 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-06-27 18:04:16,598 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-06-27 18:04:16,598 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-06-27 18:04:16,600 INFO L262 TraceCheckSpWp]: Trace formula consists of 312 conjuncts, 7 conjunts are in the unsatisfiable core [2024-06-27 18:04:16,601 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-27 18:04:16,650 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-06-27 18:04:16,650 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-27 18:04:16,701 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-06-27 18:04:16,702 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1713994918] provided 1 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:16,702 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-06-27 18:04:16,702 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2024-06-27 18:04:16,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [721963988] [2024-06-27 18:04:16,703 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:16,703 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-06-27 18:04:16,703 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:16,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-06-27 18:04:16,704 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2024-06-27 18:04:16,713 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 15 out of 46 [2024-06-27 18:04:16,713 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 73 places, 51 transitions, 228 flow. Second operand has 6 states, 6 states have (on average 19.666666666666668) internal successors, (118), 6 states have internal predecessors, (118), 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) [2024-06-27 18:04:16,713 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:16,713 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 15 of 46 [2024-06-27 18:04:16,713 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:17,035 INFO L124 PetriNetUnfolderBase]: 1543/2680 cut-off events. [2024-06-27 18:04:17,036 INFO L125 PetriNetUnfolderBase]: For 1537/1596 co-relation queries the response was YES. [2024-06-27 18:04:17,045 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6296 conditions, 2680 events. 1543/2680 cut-off events. For 1537/1596 co-relation queries the response was YES. Maximal size of possible extension queue 106. Compared 14784 event pairs, 853 based on Foata normal form. 0/2395 useless extension candidates. Maximal degree in co-relation 6270. Up to 1614 conditions per place. [2024-06-27 18:04:17,059 INFO L140 encePairwiseOnDemand]: 41/46 looper letters, 59 selfloop transitions, 5 changer transitions 0/73 dead transitions. [2024-06-27 18:04:17,060 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 68 places, 73 transitions, 436 flow [2024-06-27 18:04:17,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-06-27 18:04:17,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-06-27 18:04:17,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 139 transitions. [2024-06-27 18:04:17,061 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5036231884057971 [2024-06-27 18:04:17,061 INFO L175 Difference]: Start difference. First operand has 73 places, 51 transitions, 228 flow. Second operand 6 states and 139 transitions. [2024-06-27 18:04:17,061 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 68 places, 73 transitions, 436 flow [2024-06-27 18:04:17,070 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 61 places, 73 transitions, 404 flow, removed 10 selfloop flow, removed 7 redundant places. [2024-06-27 18:04:17,073 INFO L231 Difference]: Finished difference. Result has 62 places, 52 transitions, 220 flow [2024-06-27 18:04:17,073 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=202, PETRI_DIFFERENCE_MINUEND_PLACES=56, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=220, PETRI_PLACES=62, PETRI_TRANSITIONS=52} [2024-06-27 18:04:17,074 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 17 predicate places. [2024-06-27 18:04:17,075 INFO L495 AbstractCegarLoop]: Abstraction has has 62 places, 52 transitions, 220 flow [2024-06-27 18:04:17,075 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 19.666666666666668) internal successors, (118), 6 states have internal predecessors, (118), 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) [2024-06-27 18:04:17,075 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:17,075 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:17,092 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-06-27 18:04:17,291 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:17,291 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:17,292 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:17,292 INFO L85 PathProgramCache]: Analyzing trace with hash -2000737423, now seen corresponding path program 1 times [2024-06-27 18:04:17,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:17,292 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192838838] [2024-06-27 18:04:17,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:17,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:17,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:17,484 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-06-27 18:04:17,484 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:17,485 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1192838838] [2024-06-27 18:04:17,485 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1192838838] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:17,485 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1836468556] [2024-06-27 18:04:17,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:17,485 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:17,485 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 18:04:17,487 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-06-27 18:04:17,508 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-06-27 18:04:17,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:17,610 INFO L262 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 7 conjunts are in the unsatisfiable core [2024-06-27 18:04:17,613 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-27 18:04:17,672 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-06-27 18:04:17,672 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-06-27 18:04:17,734 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-06-27 18:04:17,734 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1836468556] provided 1 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:17,735 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-06-27 18:04:17,735 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-06-27 18:04:17,735 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801971296] [2024-06-27 18:04:17,735 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-06-27 18:04:17,735 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-06-27 18:04:17,736 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-06-27 18:04:17,736 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-06-27 18:04:17,736 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-06-27 18:04:17,742 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 14 out of 46 [2024-06-27 18:04:17,743 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 62 places, 52 transitions, 220 flow. Second operand has 6 states, 6 states have (on average 18.833333333333332) internal successors, (113), 6 states have internal predecessors, (113), 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) [2024-06-27 18:04:17,743 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-06-27 18:04:17,743 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 14 of 46 [2024-06-27 18:04:17,743 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-06-27 18:04:18,047 INFO L124 PetriNetUnfolderBase]: 1797/2802 cut-off events. [2024-06-27 18:04:18,047 INFO L125 PetriNetUnfolderBase]: For 1526/1526 co-relation queries the response was YES. [2024-06-27 18:04:18,056 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7381 conditions, 2802 events. 1797/2802 cut-off events. For 1526/1526 co-relation queries the response was YES. Maximal size of possible extension queue 113. Compared 13483 event pairs, 614 based on Foata normal form. 66/2563 useless extension candidates. Maximal degree in co-relation 7342. Up to 1398 conditions per place. [2024-06-27 18:04:18,067 INFO L140 encePairwiseOnDemand]: 40/46 looper letters, 51 selfloop transitions, 7 changer transitions 0/66 dead transitions. [2024-06-27 18:04:18,067 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 66 transitions, 381 flow [2024-06-27 18:04:18,068 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-06-27 18:04:18,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-06-27 18:04:18,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 131 transitions. [2024-06-27 18:04:18,068 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4746376811594203 [2024-06-27 18:04:18,069 INFO L175 Difference]: Start difference. First operand has 62 places, 52 transitions, 220 flow. Second operand 6 states and 131 transitions. [2024-06-27 18:04:18,069 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 66 transitions, 381 flow [2024-06-27 18:04:18,075 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 64 places, 66 transitions, 367 flow, removed 3 selfloop flow, removed 3 redundant places. [2024-06-27 18:04:18,077 INFO L231 Difference]: Finished difference. Result has 65 places, 52 transitions, 230 flow [2024-06-27 18:04:18,077 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=46, PETRI_DIFFERENCE_MINUEND_FLOW=207, PETRI_DIFFERENCE_MINUEND_PLACES=59, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=44, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=230, PETRI_PLACES=65, PETRI_TRANSITIONS=52} [2024-06-27 18:04:18,077 INFO L281 CegarLoopForPetriNet]: 45 programPoint places, 20 predicate places. [2024-06-27 18:04:18,077 INFO L495 AbstractCegarLoop]: Abstraction has has 65 places, 52 transitions, 230 flow [2024-06-27 18:04:18,078 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 18.833333333333332) internal successors, (113), 6 states have internal predecessors, (113), 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) [2024-06-27 18:04:18,078 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-06-27 18:04:18,078 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-06-27 18:04:18,096 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2024-06-27 18:04:18,296 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2024-06-27 18:04:18,296 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 4 more)] === [2024-06-27 18:04:18,297 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-06-27 18:04:18,297 INFO L85 PathProgramCache]: Analyzing trace with hash 91230681, now seen corresponding path program 1 times [2024-06-27 18:04:18,297 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-06-27 18:04:18,297 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1331097081] [2024-06-27 18:04:18,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:18,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-06-27 18:04:18,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:20,033 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-06-27 18:04:20,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-06-27 18:04:20,033 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1331097081] [2024-06-27 18:04:20,033 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1331097081] provided 0 perfect and 1 imperfect interpolant sequences [2024-06-27 18:04:20,033 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [687630773] [2024-06-27 18:04:20,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-06-27 18:04:20,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-06-27 18:04:20,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-06-27 18:04:20,035 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-06-27 18:04:20,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-06-27 18:04:20,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-06-27 18:04:20,168 INFO L262 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 25 conjunts are in the unsatisfiable core [2024-06-27 18:04:20,174 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-06-27 18:04:20,696 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2024-06-27 18:04:20,697 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 135 treesize of output 171 [2024-06-27 18:04:34,948 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse524 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse524 c_~C~0.offset)) (.cse50 (select .cse524 .cse109)) (.cse523 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse523)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse158 (+ .cse7 c_~minb~0)) (.cse171 (* 2 c_~minb~0)) (.cse1 (select .cse524 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse171 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse523 .cse1)) (.cse8 (<= .cse158 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse342 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse522 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse521 (select .cse522 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse521) (<= (+ .cse521 c_~minb~0 1) .cse1) (<= (+ .cse521 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse522 ~A~0.offset) c_~minb~0)) (= (+ .cse521 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse171)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse361 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse520 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse519 (select .cse520 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse519 c_~minb~0)) (<= (+ .cse519 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse520 ~A~0.offset) c_~minb~0)) (= (+ .cse519 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse129 (select |c_#memory_int#1| ~A~0.base)) (.cse125 (+ ~A~0.offset 4))) (let ((.cse126 (select .cse129 .cse125)) (.cse127 (select |c_#memory_int#1| ~B~0.base)) (.cse128 (+ ~B~0.offset 4))) (and (not (= .cse125 ~B~0.offset)) (<= .cse14 (+ .cse126 c_~minb~0)) (= (+ .cse126 (select .cse127 .cse128)) .cse1) (<= (+ .cse126 c_~minb~0 1) .cse1) (= (select .cse127 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse129 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse128))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse133 (+ ~A~0.offset 4)) (.cse134 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse130 (select .cse134 ~A~0.offset)) (.cse131 (select .cse134 .cse133))) (and (= c_~mina~0 .cse130) (<= (+ .cse130 1) .cse131) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse132 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse131 (select .cse132 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse132 ~B~0.offset) .cse130))))) (not (= .cse133 ~B~0.offset)))) (= (* 2 .cse131) .cse1) (= (+ .cse131 c_~minb~0) .cse1) (<= (+ .cse130 .cse1) (+ c_~minc~0 .cse131)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse136 (select .cse137 ~A~0.offset)) (.cse135 (select .cse137 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse135) (= (+ .cse135 c_~minb~0) .cse1) (<= .cse135 .cse136) (<= (+ .cse136 .cse1) (+ c_~minc~0 .cse135)) (= (+ .cse135 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse139 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse138 (select .cse139 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse138) (<= (+ .cse138 c_~minb~0 1) .cse1) (<= (+ .cse138 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse139 ~A~0.offset) c_~minb~0)) (= (+ .cse138 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse140 (select .cse142 ~A~0.offset)) (.cse141 (select .cse142 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse140)) (= c_~mina~0 .cse141) (= (+ .cse141 c_~minb~0) .cse1) (<= .cse141 .cse140) (<= (+ .cse140 .cse1) (+ c_~minc~0 .cse141)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse143 (select .cse146 ~A~0.offset)) (.cse144 (select .cse146 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse143) (= c_~minc~0 (+ .cse144 .cse143)) (<= (+ .cse143 1) .cse144) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse145 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse144 (select .cse145 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) .cse143))))) (= (+ .cse144 c_~minb~0) .cse1) (<= (+ .cse143 .cse1) (+ c_~minc~0 .cse144)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse150 (+ ~A~0.offset 4)) (.cse151 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse149 (select .cse151 ~A~0.offset)) (.cse147 (select .cse151 .cse150))) (and (= c_~mina~0 .cse147) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse147 (select .cse148 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse148 ~B~0.offset) .cse149))))) (not (= .cse150 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse147 c_~minb~0) .cse1) (<= .cse147 .cse149) (<= (+ .cse149 .cse1) (+ c_~minc~0 .cse147)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse153 (select .cse154 ~A~0.offset)) (.cse152 (select .cse154 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse152) (= (+ .cse152 c_~minb~0) .cse1) (<= .cse152 .cse153) (<= (+ .cse153 .cse1) (+ c_~minc~0 .cse152)) (= (+ .cse152 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse157 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse155 (select .cse157 (+ ~A~0.offset 4)))) (and (= (+ .cse155 (select .cse156 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse155) (<= (+ .cse155 c_~minb~0 1) .cse1) (<= (+ .cse155 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse157 ~A~0.offset) c_~minb~0)))))) (= (select .cse156 ~B~0.offset) c_~minb~0)))))) (and (= c_~minc~0 .cse158) (let ((.cse189 (div (* (- 1) .cse1) 2))) (let ((.cse162 (+ c_~minb~0 1)) (.cse184 (+ .cse189 .cse1))) (let ((.cse159 (<= (+ .cse171 1) .cse1)) (.cse160 (<= .cse14 .cse171)) (.cse165 (<= .cse162 .cse184)) (.cse166 (= (mod .cse1 2) 0))) (or (and .cse159 .cse10 .cse160 .cse49) (exists ((~B~0.offset Int)) (let ((.cse161 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse161)) (exists ((~B~0.base Int)) (let ((.cse164 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse163 (select .cse164 .cse161))) (and (<= .cse162 .cse163) (<= .cse11 (+ c_~minc~0 .cse163)) (= (+ c_~mina~0 .cse163) .cse1) (= (select .cse164 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse165 .cse10 .cse166) (and .cse159 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse167 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse167 ~B~0.offset) c_~minb~0) (= (+ (select .cse167 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse168 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse168)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse169 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse169 ~B~0.offset) c_~minb~0) (= (+ (select .cse169 .cse168) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse170 ~B~0.offset) c_~minb~0) (= (+ (select .cse170 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse171 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse160))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse172 (select .cse173 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse172) (<= .cse11 (+ c_~minc~0 .cse172)) (= (+ c_~mina~0 .cse172) .cse1) (= (select .cse173 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse175 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse174 (select .cse175 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse174) (<= .cse11 (+ c_~minc~0 .cse174)) (= (+ c_~mina~0 .cse174) .cse1) (= (select .cse175 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse176 (select .cse177 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse176 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse176) (= (select .cse177 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse179 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse178 (select .cse179 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse178 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse178) (= (select .cse179 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse181 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse180 (select .cse181 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse180) (<= .cse11 (+ c_~minc~0 .cse180)) (= (+ c_~mina~0 .cse180) .cse1) (= (select .cse181 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (and .cse165 (let ((.cse185 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse192 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse192 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))))) (or (and (or (exists ((~B~0.offset Int)) (let ((.cse182 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse182)) (exists ((~B~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse183 .cse182) .cse184) (= (select .cse183 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) .cse185) .cse113) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse186 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse186 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse187 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse187 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse185 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse188 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse188 (+ ~B~0.offset 4)) .cse184) (= (select .cse188 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse189 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse190 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse190)) (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse191 .cse190) .cse184) (= (select .cse191 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or (and (<= c_~minb~0 (+ c_~minc~0 .cse189)) (= (+ .cse189 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse189 1) c_~minb~0))) .cse166) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse194 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse193 (select .cse194 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse193) (= c_~minc~0 (+ .cse193 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse193)) (= (+ c_~mina~0 .cse193) .cse1) (= (select .cse194 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse195 (select .cse196 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse195 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse195) (= (select .cse196 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse198 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse197 (select .cse198 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse197 1) .cse11) (<= .cse162 .cse197) (= c_~minc~0 (+ .cse197 c_~minb~0)) (= (select .cse198 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base)) (.cse200 (+ ~B~0.offset 4))) (let ((.cse199 (select .cse201 .cse200))) (and (<= (+ c_~minc~0 .cse199 1) .cse11) (<= .cse162 .cse199) (not (= c_~C~0.offset .cse200)) (= (select .cse201 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse205 (+ ~A~0.offset 4)) (.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse202 (select .cse206 ~A~0.offset)) (.cse203 (select .cse206 .cse205))) (and (= c_~mina~0 .cse202) (<= (+ .cse202 1) .cse203) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse204 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse203 (select .cse204 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse204 ~B~0.offset) .cse202))))) (not (= .cse205 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse203 c_~minb~0) .cse1) (<= (+ .cse202 .cse1) (+ c_~minc~0 .cse203)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse209 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse207 (select .cse209 (+ ~A~0.offset 4))) (.cse208 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse207 c_~minb~0)) (= (+ .cse207 (select .cse208 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse207 c_~minb~0 1) .cse1) (= (select .cse208 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse209 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse212 (+ ~A~0.offset 4)) (.cse214 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse211 (select .cse214 ~A~0.offset)) (.cse210 (select .cse214 .cse212))) (and (= (+ .cse210 .cse211) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse212 ~B~0.offset)) (= (+ .cse210 (select .cse213 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse213 ~B~0.offset) .cse211))))) (= c_~mina~0 .cse210) (= (+ .cse210 c_~minb~0) .cse1) (<= .cse210 .cse211) (<= (+ .cse211 .cse1) (+ c_~minc~0 .cse210)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse215 (select .cse216 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse215 c_~minb~0)) (<= (+ .cse215 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse216 ~A~0.offset) c_~minb~0)) (= (+ .cse215 .cse50) .cse1) (= .cse215 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse217 (select .cse220 ~A~0.offset)) (.cse218 (select .cse220 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse217) (<= (+ .cse217 1) .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse219 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse219 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse219 ~B~0.offset) .cse217))))) (= (+ .cse218 c_~minb~0) .cse1) (<= (+ .cse217 .cse1) (+ c_~minc~0 .cse218)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse224 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse221 (select .cse224 (+ ~A~0.offset 4))) (.cse222 (select .cse224 ~A~0.offset))) (and (= c_~minc~0 (+ .cse221 .cse222)) (= c_~mina~0 .cse221) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse221 (select .cse223 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse223 ~B~0.offset) .cse222))))) (= (* 2 .cse221) .cse1) (= (+ .cse221 c_~minb~0) .cse1) (<= .cse221 .cse222))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse225 (select .cse228 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse225) (<= (+ .cse225 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse227 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse225 (select .cse226 .cse227)) .cse1) (= (select .cse226 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse227))))) (<= (+ .cse225 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse228 ~A~0.offset) c_~minb~0)) (= .cse225 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse229 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse230 (+ ~A~0.offset 4))) (and (not (= .cse230 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse231 (select .cse232 .cse230))) (and (= .cse11 (+ c_~minc~0 .cse231)) (= (+ .cse231 (select .cse229 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse231) (<= (+ .cse231 c_~minb~0 1) .cse1) (<= (+ .cse231 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse232 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse233 (select .cse237 ~A~0.offset)) (.cse234 (select .cse237 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse233) (exists ((~B~0.offset Int)) (let ((.cse236 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse234 (select .cse235 .cse236)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse233))))) (not (= ~A~0.offset .cse236))))) (= c_~minc~0 (+ .cse234 .cse233)) (<= (+ .cse233 1) .cse234) (= (* 2 .cse234) .cse1) (= (+ .cse234 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse242 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse238 (select .cse242 ~A~0.offset)) (.cse239 (select .cse242 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse238) (exists ((~B~0.offset Int)) (let ((.cse241 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse240 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse239 (select .cse240 .cse241)) .cse1) (= c_~minc~0 (+ (select .cse240 ~B~0.offset) .cse238))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse241))))) (= c_~minc~0 (+ .cse239 .cse238)) (<= (+ .cse238 1) .cse239) (= (* 2 .cse239) .cse1) (= (+ .cse239 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse247 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse243 (select .cse247 .cse245)) (.cse244 (select .cse247 ~A~0.offset))) (and (= (+ .cse243 .cse244) .cse1) (= c_~mina~0 .cse243) (= (* 2 .cse243) .cse1) (= (+ .cse243 c_~minb~0) .cse1) (<= (+ .cse244 .cse1) (+ c_~minc~0 .cse243)) (exists ((~B~0.offset Int)) (and (not (= .cse245 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse246 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse243 (select .cse246 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse246 ~B~0.offset) .cse244))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~A~0.base)) (.cse248 (+ ~A~0.offset 4))) (let ((.cse249 (select .cse251 .cse248)) (.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse248 ~B~0.offset)) (<= .cse14 (+ .cse249 c_~minb~0)) (= (+ .cse249 (select .cse250 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse249 c_~minb~0 1) .cse1) (= (select .cse250 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse251 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse252 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse271 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse271 ~B~0.offset) .cse7)))))) (.cse261 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse266 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse270 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse270 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse270 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse267 (exists ((~B~0.offset Int)) (let ((.cse268 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse268)) (exists ((~B~0.base Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse269 .cse268) c_~minb~0) (= c_~minc~0 (+ (select .cse269 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse252 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse253 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse257 (exists ((~B~0.offset Int)) (let ((.cse259 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse259)) (exists ((~B~0.base Int)) (let ((.cse260 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse260 .cse259) c_~minb~0) (= c_~minc~0 (+ (select .cse260 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse254 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse254 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse254 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse252 (exists ((~B~0.offset Int)) (let ((.cse255 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse255)) (exists ((~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse256 .cse255) c_~minb~0) (= c_~minc~0 (+ (select .cse256 ~B~0.offset) .cse7)))))))) .cse257)) .cse252 .cse257 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse258 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse258 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse261) (and .cse261 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse263 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse263)) (exists ((~B~0.base Int)) (let ((.cse264 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse264 .cse263) c_~minb~0) (= c_~minc~0 (+ (select .cse264 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse265 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse265 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse266)) .cse266 .cse267)) .cse266 .cse267)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse158) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse274 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse275 (select |c_#memory_int#1| ~A~0.base)) (.cse272 (+ ~A~0.offset 4))) (let ((.cse273 (select .cse275 .cse272))) (and (not (= .cse272 ~B~0.offset)) (= (+ .cse273 (select .cse274 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse273) (<= (+ .cse273 c_~minb~0 1) .cse1) (<= (+ .cse273 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse275 ~A~0.offset) c_~minb~0)))))) (= (select .cse274 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse279 ~A~0.offset)) (.cse276 (select .cse279 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse276 .cse277)) (= c_~mina~0 .cse276) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse276 (select .cse278 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse278 ~B~0.offset) .cse277))))) (= (+ .cse276 c_~minb~0) .cse1) (<= .cse276 .cse277) (<= (+ .cse277 .cse1) (+ c_~minc~0 .cse276)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse281 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse281 ~A~0.offset) c_~minb~0)) (= (+ .cse280 .cse50) .cse1) (= .cse280 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse282 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse286 (+ ~A~0.offset 4)) (.cse284 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse285 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse283 (select .cse285 .cse286))) (and (= (+ .cse283 (select .cse282 .cse284)) .cse1) (= c_~mina~0 .cse283) (<= (+ .cse283 c_~minb~0 1) .cse1) (<= (+ .cse283 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse285 ~A~0.offset) c_~minb~0)))))) (not (= .cse286 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse284)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse289 ~A~0.offset)) (.cse288 (select .cse289 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse287) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse287 1) .cse288) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)) (= (+ .cse288 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse295 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse290 (select .cse295 ~A~0.offset)) (.cse291 (select .cse295 .cse294))) (and (= c_~mina~0 .cse290) (exists ((~B~0.offset Int)) (let ((.cse293 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse292 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse291 (select .cse292 .cse293)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse292 ~B~0.offset) .cse290))))) (not (= .cse294 ~B~0.offset)) (not (= ~A~0.offset .cse293))))) (<= (+ .cse290 1) .cse291) (= (* 2 .cse291) .cse1) (= (+ .cse291 c_~minb~0) .cse1) (<= (+ .cse290 .cse1) (+ c_~minc~0 .cse291)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse297 (+ ~A~0.offset 4)) (.cse301 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse296 (select .cse301 ~A~0.offset)) (.cse298 (select .cse301 .cse297))) (and (= c_~mina~0 .cse296) (exists ((~B~0.offset Int)) (let ((.cse300 (+ ~B~0.offset 4))) (and (not (= .cse297 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse299 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse298 (select .cse299 .cse300)) .cse1) (= c_~minc~0 (+ (select .cse299 ~B~0.offset) .cse296))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse300))))) (<= (+ .cse296 1) .cse298) (= (+ .cse298 c_~minb~0) .cse1) (<= (+ .cse296 .cse1) (+ c_~minc~0 .cse298)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse302 (select .cse306 ~A~0.offset)) (.cse303 (select .cse306 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse302) (exists ((~B~0.offset Int)) (let ((.cse305 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse304 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse303 (select .cse304 .cse305)) .cse1) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse302))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse305))))) (= c_~minc~0 (+ .cse303 .cse302)) (<= (+ .cse302 1) .cse303) (= (+ .cse303 c_~minb~0) .cse1) (<= (+ .cse302 .cse1) (+ c_~minc~0 .cse303)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse308 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse307 (select .cse308 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse307) (<= (+ .cse307 c_~minb~0 1) .cse1) (<= (+ .cse307 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse308 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse310 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse309 (select .cse310 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse309)) (= c_~mina~0 .cse309) (<= (+ .cse309 c_~minb~0 1) .cse1) (= (* 2 .cse309) .cse1) (= c_~minc~0 (+ (select .cse310 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse311 (select .cse312 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse311 c_~minb~0)) (<= (+ .cse311 c_~minb~0 1) .cse1) (= (* 2 .cse311) .cse1) (= c_~minc~0 (+ (select .cse312 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse313 (select .cse314 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse313)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse313 c_~minb~0)) (<= (+ .cse313 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse314 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse316 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse315 (select .cse316 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse315)) (= c_~mina~0 .cse315) (<= (+ .cse315 c_~minb~0 1) .cse1) (<= (+ .cse315 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse316 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse317 (select .cse318 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse317 c_~minb~0)) (<= (+ .cse317 c_~minb~0 1) .cse1) (= (* 2 .cse317) .cse1) (= c_~minc~0 (+ (select .cse318 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse320 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse319 (select .cse320 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse319) (<= (+ .cse319 c_~minb~0 1) .cse1) (<= (+ .cse319 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse320 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse322 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse321 (select .cse322 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse321) (<= (+ .cse321 c_~minb~0 1) .cse1) (= (* 2 .cse321) .cse1) (<= (+ .cse321 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse322 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse324 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse323 (select .cse324 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse323 c_~minb~0)) (<= (+ .cse323 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse324 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse325 (select .cse326 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse325 c_~minb~0)) (<= (+ .cse325 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse326 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse328 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse327 (select .cse328 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse327 c_~minb~0)) (<= (+ .cse327 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse328 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse330 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse329 (select .cse330 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse329) (<= (+ .cse329 c_~minb~0 1) .cse1) (= (* 2 .cse329) .cse1) (<= (+ .cse329 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse330 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse331) (<= (+ .cse331 c_~minb~0 1) .cse1) (<= (+ .cse331 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse332 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse336 (select .cse338 ~A~0.offset)) (.cse337 (select .cse338 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse336) (<= (+ .cse336 1) .cse337) (= (+ .cse337 c_~minb~0) .cse1) (<= (+ .cse336 .cse1) (+ c_~minc~0 .cse337)) (= (+ .cse337 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse341 ~A~0.offset)) (.cse339 (select .cse341 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse339) (= (+ .cse339 c_~minb~0) .cse1) (<= .cse339 .cse340) (<= (+ .cse340 .cse1) (+ c_~minc~0 .cse339)) (= c_~minc~0 (* 2 .cse340)) (= (+ .cse339 .cse50) .cse1))))) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse345 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse343 (select .cse345 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse344 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse343) (<= (+ .cse343 c_~minb~0 1) .cse1) (<= (+ .cse343 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse345 ~A~0.offset) c_~minb~0)) (= .cse343 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse349 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse348 (select .cse349 ~A~0.offset)) (.cse346 (select .cse349 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse347 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse346 (select .cse347 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse347 ~B~0.offset) .cse348))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse346 .cse348)) (= c_~mina~0 .cse346) (= (+ .cse346 c_~minb~0) .cse1) (<= .cse346 .cse348) (<= (+ .cse348 .cse1) (+ c_~minc~0 .cse346)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse353 (+ ~A~0.offset 4)) (.cse354 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse354 ~A~0.offset)) (.cse350 (select .cse354 .cse353))) (and (= c_~mina~0 .cse350) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse351 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse350 (select .cse351 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse352))))) (not (= .cse353 ~B~0.offset)))) (= (* 2 .cse350) .cse1) (= (+ .cse350 c_~minb~0) .cse1) (<= .cse350 .cse352) (<= (+ .cse352 .cse1) (+ c_~minc~0 .cse350)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse355 (select .cse356 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse355) (<= (+ .cse355 c_~minb~0 1) .cse1) (<= (+ .cse355 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse356 ~A~0.offset) c_~minb~0)) (= (+ .cse355 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse358 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse357 (select .cse358 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse357 c_~minb~0)) (<= (+ .cse357 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse358 ~A~0.offset) c_~minb~0)) (= (+ .cse357 .cse50) .cse1))))) .cse10) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse360 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse359 (select .cse360 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse359) (<= (+ .cse359 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse360 ~A~0.offset) c_~minb~0)) (= (+ .cse359 .cse50) .cse1) (= .cse359 c_~minb~0))))) .cse361) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse366 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse363 (select .cse366 (+ ~A~0.offset 4))) (.cse365 (select .cse366 ~A~0.offset))) (let ((.cse362 (+ .cse363 .cse365))) (and (= .cse362 .cse1) (= c_~minc~0 .cse362) (= c_~mina~0 .cse363) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse364 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse363 (select .cse364 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse364 ~B~0.offset) .cse365))))) (= (+ .cse363 c_~minb~0) .cse1) (<= .cse363 .cse365) (<= (+ .cse365 .cse1) (+ c_~minc~0 .cse363))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse367 (select .cse368 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse367) (<= (+ .cse367 c_~minb~0 1) .cse1) (<= (+ .cse367 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)) (= (+ .cse367 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse369) (<= (+ .cse369 c_~minb~0 1) .cse1) (= (* 2 .cse369) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse370 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse369 (select .cse370 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse370 ~B~0.offset) c_~minb~0)))) (<= (+ .cse369 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse371 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse372 (select .cse374 ~A~0.offset)) (.cse373 (select .cse374 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse372)) (= c_~mina~0 .cse372) (<= (+ .cse372 1) .cse373) (= (+ .cse373 c_~minb~0) .cse1) (<= (+ .cse372 .cse1) (+ c_~minc~0 .cse373)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (+ ~A~0.offset 4)) (.cse379 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse376 (select .cse379 ~A~0.offset)) (.cse375 (select .cse379 .cse378))) (and (= (+ .cse375 .cse376) .cse1) (= c_~mina~0 .cse375) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse377 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse375 (select .cse377 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse377 ~B~0.offset) .cse376))))) (not (= .cse378 ~B~0.offset)))) (= (* 2 .cse375) .cse1) (= (+ .cse375 c_~minb~0) .cse1) (<= (+ .cse376 .cse1) (+ c_~minc~0 .cse375)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse381 (select |c_#memory_int#1| ~A~0.base)) (.cse382 (+ ~A~0.offset 4))) (let ((.cse380 (select .cse381 .cse382))) (and (= c_~mina~0 .cse380) (<= (+ .cse380 c_~minb~0 1) .cse1) (= (* 2 .cse380) .cse1) (<= (+ .cse380 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse381 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse384 (+ ~B~0.offset 4))) (and (not (= .cse382 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse380 (select .cse383 .cse384)) .cse1) (= (select .cse383 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse384))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse387 (select .cse388 ~A~0.offset)) (.cse385 (select .cse388 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse385) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse386 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse385 (select .cse386 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse386 ~B~0.offset) .cse387))))) (= (+ .cse385 c_~minb~0) .cse1) (<= .cse385 .cse387) (<= (+ .cse387 .cse1) (+ c_~minc~0 .cse385)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base)) (.cse389 (+ ~A~0.offset 4))) (let ((.cse390 (select .cse392 .cse389))) (and (exists ((~B~0.offset Int)) (and (not (= .cse389 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse390 (select .cse391 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse391 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse390) (<= (+ .cse390 c_~minb~0 1) .cse1) (= (* 2 .cse390) .cse1) (<= (+ .cse390 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse392 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse394 (select .cse395 ~A~0.offset)) (.cse393 (select .cse395 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse393) (= (+ .cse393 c_~minb~0) .cse1) (<= .cse393 .cse394) (<= (+ .cse394 .cse1) (+ c_~minc~0 .cse393)) (= c_~minc~0 (* 2 .cse394)) (= (+ .cse393 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base)) (.cse397 (+ ~A~0.offset 4))) (let ((.cse396 (select .cse399 .cse397))) (and (<= .cse14 (+ .cse396 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse397 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse396 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse396 c_~minb~0 1) .cse1) (= (* 2 .cse396) .cse1) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse402 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse400 (select .cse402 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse401 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse401 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse402 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse404 (select |c_#memory_int#1| ~A~0.base)) (.cse405 (+ ~A~0.offset 4))) (let ((.cse403 (select .cse404 .cse405))) (and (<= .cse14 (+ .cse403 c_~minb~0)) (<= (+ .cse403 c_~minb~0 1) .cse1) (= (* 2 .cse403) .cse1) (= c_~minc~0 (+ (select .cse404 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse407 (+ ~B~0.offset 4))) (and (not (= .cse405 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse406 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse403 (select .cse406 .cse407)) .cse1) (= (select .cse406 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse407))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~A~0.base)) (.cse409 (+ ~A~0.offset 4))) (let ((.cse408 (select .cse411 .cse409))) (and (<= .cse14 (+ .cse408 c_~minb~0)) (<= (+ .cse408 c_~minb~0 1) .cse1) (= (* 2 .cse408) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse409 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse410 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse408 (select .cse410 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse410 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse411 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#1| ~A~0.base)) (.cse413 (+ ~A~0.offset 4))) (let ((.cse412 (select .cse415 .cse413))) (and (<= .cse14 (+ .cse412 c_~minb~0)) (= (* 2 .cse412) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse413 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse412 (select .cse414 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse414 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse415 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse417 (select |c_#memory_int#1| ~A~0.base)) (.cse418 (+ ~A~0.offset 4))) (let ((.cse416 (select .cse417 .cse418))) (and (<= .cse14 (+ .cse416 c_~minb~0)) (= (* 2 .cse416) .cse1) (= c_~minc~0 (+ (select .cse417 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse420 (+ ~B~0.offset 4))) (and (not (= .cse418 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse419 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse416 (select .cse419 .cse420)) .cse1) (= (select .cse419 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse420)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse421 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse422 (select .cse421 ~B~0.offset))) (let ((.cse423 (+ .cse422 .cse50))) (and (= (+ .cse50 (select .cse421 (+ ~B~0.offset 4))) .cse1) (= (+ .cse422 .cse1) .cse48) (<= .cse1 .cse423) (<= .cse423 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse428 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse429 (select .cse428 ~B~0.offset))) (let ((.cse427 (+ .cse429 .cse50))) (and (<= .cse14 .cse427) (= (+ .cse50 (select .cse428 (+ ~B~0.offset 4))) .cse1) (= (+ .cse429 .cse1) .cse48) (<= .cse1 .cse427) (= c_~minc~0 (+ .cse429 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (+ (select .cse430 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse430 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (<= .cse431 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (+ (select .cse432 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse433) (<= .cse433 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse435 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse436 (select .cse435 ~B~0.offset))) (let ((.cse434 (+ .cse436 .cse50))) (and (<= .cse14 .cse434) (= (+ .cse50 (select .cse435 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse434) (= c_~minc~0 (+ .cse436 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (+ (select .cse437 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse438) (<= .cse438 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse440 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse441 (select .cse440 ~B~0.offset))) (let ((.cse439 (+ .cse441 .cse50))) (and (<= .cse14 .cse439) (= (+ .cse50 (select .cse440 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse439) (= c_~minc~0 (+ .cse441 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 (+ ~A~0.offset 4))) (.cse443 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse442 c_~minb~0)) (= (+ .cse442 (select .cse443 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse442 c_~minb~0 1) .cse1) (= (select .cse443 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse444 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse445 (select .cse447 ~A~0.offset)) (.cse446 (select .cse447 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse445)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse446) (= (+ .cse446 c_~minb~0) .cse1) (<= .cse446 .cse445) (<= (+ .cse445 .cse1) (+ c_~minc~0 .cse446)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse450 ~A~0.offset)) (.cse448 (select .cse450 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= .cse448 .cse449) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)) (= (+ .cse448 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse453 (+ ~A~0.offset 4)) (.cse455 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse455 ~A~0.offset)) (.cse451 (select .cse455 .cse453))) (and (= (+ .cse451 .cse452) .cse1) (= c_~mina~0 .cse452) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse453 ~B~0.offset)) (= (+ .cse451 (select .cse454 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse454 ~B~0.offset) .cse452))))) (<= (+ .cse452 1) .cse451) (= (+ .cse451 c_~minb~0) .cse1) (<= (+ .cse452 .cse1) (+ c_~minc~0 .cse451)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse456 (select .cse457 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse456 c_~minb~0)) (<= (+ .cse456 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse457 ~A~0.offset) c_~minb~0)) (= (+ .cse456 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse458 (+ ~A~0.offset 4)) (.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 ~A~0.offset)) (.cse459 (select .cse463 .cse458))) (and (exists ((~B~0.offset Int)) (let ((.cse461 (+ ~B~0.offset 4))) (and (not (= .cse458 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse460 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse459 (select .cse460 .cse461)) .cse1) (= c_~minc~0 (+ (select .cse460 ~B~0.offset) .cse462))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse461))))) (= c_~mina~0 .cse459) (= (* 2 .cse459) .cse1) (= (+ .cse459 c_~minb~0) .cse1) (<= .cse459 .cse462) (<= (+ .cse462 .cse1) (+ c_~minc~0 .cse459)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse464 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse464 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse465 (select .cse466 (+ ~A~0.offset 4)))) (and (= (+ .cse465 (select .cse464 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse465) (<= (+ .cse465 c_~minb~0 1) .cse1) (<= (+ .cse465 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse466 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse470 (select |c_#memory_int#1| ~A~0.base)) (.cse468 (+ ~A~0.offset 4))) (let ((.cse467 (select .cse470 .cse468))) (and (= c_~mina~0 .cse467) (<= (+ .cse467 c_~minb~0 1) .cse1) (= (* 2 .cse467) .cse1) (<= (+ .cse467 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse468 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse467 (select .cse469 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse469 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse470 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse475 (+ ~A~0.offset 4)) (.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse471 (select .cse476 .cse475))) (and (exists ((~B~0.offset Int)) (let ((.cse473 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse472 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse471 (select .cse472 .cse473)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse472 ~B~0.offset) .cse474))))) (not (= .cse475 ~B~0.offset)) (not (= ~A~0.offset .cse473))))) (= c_~mina~0 .cse471) (= (* 2 .cse471) .cse1) (= (+ .cse471 c_~minb~0) .cse1) (<= .cse471 .cse474) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse471)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse479 ~A~0.offset)) (.cse478 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse477)) (= c_~mina~0 .cse477) (<= (+ .cse477 1) .cse478) (= (* 2 .cse478) .cse1) (= (+ .cse478 c_~minb~0) .cse1) (<= (+ .cse477 .cse1) (+ c_~minc~0 .cse478)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse481 (select .cse482 ~A~0.offset)) (.cse480 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse480 .cse481)) (= c_~mina~0 .cse480) (= (+ .cse480 c_~minb~0) .cse1) (<= .cse480 .cse481) (<= (+ .cse481 .cse1) (+ c_~minc~0 .cse480)) (= (+ .cse480 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse486)) (= c_~mina~0 .cse487) (= (* 2 .cse487) .cse1) (= (+ .cse487 c_~minb~0) .cse1) (<= .cse487 .cse486) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse491 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse491 ~A~0.offset)) (.cse490 (select .cse491 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse489) (= c_~minc~0 (+ .cse490 .cse489)) (<= (+ .cse489 1) .cse490) (= (+ .cse490 c_~minb~0) .cse1) (<= (+ .cse489 .cse1) (+ c_~minc~0 .cse490)) (= (+ .cse490 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse493 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse492 (select .cse493 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse492 c_~minb~0)) (<= (+ .cse492 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse493 ~A~0.offset) c_~minb~0)) (= (+ .cse492 .cse50) .cse1)))))) .cse361 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 (+ ~A~0.offset 4))) (.cse495 (select .cse498 ~A~0.offset))) (let ((.cse494 (+ .cse496 .cse495))) (and (= .cse494 .cse1) (= c_~mina~0 .cse495) (= c_~minc~0 .cse494) (<= (+ .cse495 1) .cse496) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse497 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse496 (select .cse497 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse497 ~B~0.offset) .cse495))))) (= (+ .cse496 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse501 ~A~0.offset)) (.cse500 (select .cse501 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse499)) (= c_~mina~0 .cse499) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse499 1) .cse500) (= (+ .cse500 c_~minb~0) .cse1) (<= (+ .cse499 .cse1) (+ c_~minc~0 .cse500)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse502 (select .cse505 ~A~0.offset)) (.cse503 (select .cse505 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse502) (= c_~minc~0 (+ .cse503 .cse502)) (<= (+ .cse502 1) .cse503) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse503 (select .cse504 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse504 ~B~0.offset) .cse502))))) (= (* 2 .cse503) .cse1) (= (+ .cse503 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse507 (select .cse510 (+ ~A~0.offset 4))) (.cse509 (select .cse510 ~A~0.offset))) (let ((.cse506 (+ .cse507 .cse509))) (and (= .cse506 .cse1) (= c_~minc~0 .cse506) (= c_~mina~0 .cse507) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse508 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse507 (select .cse508 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse508 ~B~0.offset) .cse509))))) (= (+ .cse507 c_~minb~0) .cse1) (<= .cse507 .cse509) (<= (+ .cse509 .cse1) (+ c_~minc~0 .cse507))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse513 ~A~0.offset)) (.cse512 (select .cse513 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse511) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse511 1) .cse512) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512)) (= c_~minc~0 (* 2 .cse511)) (= (+ .cse512 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (+ ~A~0.offset 4)) (.cse518 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse514 (select .cse518 ~A~0.offset)) (.cse515 (select .cse518 .cse517))) (and (= c_~mina~0 .cse514) (<= (+ .cse514 1) .cse515) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse515 (select .cse516 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse516 ~B~0.offset) .cse514))))) (not (= .cse517 ~B~0.offset)))) (= (+ .cse515 c_~minb~0) .cse1) (<= (+ .cse514 .cse1) (+ c_~minc~0 .cse515))))))))))) is different from true [2024-06-27 18:04:51,250 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse521 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse521 c_~C~0.offset)) (.cse50 (select .cse521 .cse109)) (.cse520 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse520)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse125 (+ .cse7 c_~minb~0)) (.cse138 (* 2 c_~minb~0)) (.cse1 (select .cse521 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse138 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse520 .cse1)) (.cse8 (<= .cse125 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse339 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse519 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse518 (select .cse519 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse518) (<= (+ .cse518 c_~minb~0 1) .cse1) (<= (+ .cse518 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse519 ~A~0.offset) c_~minb~0)) (= (+ .cse518 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse138)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse358 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse516 (select .cse517 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse516 c_~minb~0)) (<= (+ .cse516 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse517 ~A~0.offset) c_~minb~0)) (= (+ .cse516 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and (= c_~minc~0 .cse125) (let ((.cse139 (div (* (- 1) .cse1) 2))) (let ((.cse129 (+ c_~minb~0 1)) (.cse141 (+ .cse139 .cse1))) (let ((.cse126 (<= (+ .cse138 1) .cse1)) (.cse127 (<= .cse14 .cse138)) (.cse132 (<= .cse129 .cse141)) (.cse133 (= (mod .cse1 2) 0))) (or (and .cse126 .cse10 .cse127 .cse49) (exists ((~B~0.offset Int)) (let ((.cse128 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse128)) (exists ((~B~0.base Int)) (let ((.cse131 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse130 (select .cse131 .cse128))) (and (<= .cse129 .cse130) (<= .cse11 (+ c_~minc~0 .cse130)) (= (+ c_~mina~0 .cse130) .cse1) (= (select .cse131 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse132 .cse10 .cse133) (and .cse126 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse134 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse134 ~B~0.offset) c_~minb~0) (= (+ (select .cse134 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse135 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse135)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse136 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse136 ~B~0.offset) c_~minb~0) (= (+ (select .cse136 .cse135) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse137 ~B~0.offset) c_~minb~0) (= (+ (select .cse137 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse138 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse127))) (and .cse132 (or (and (<= c_~minb~0 (+ c_~minc~0 .cse139)) (= (+ .cse139 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse139 1) c_~minb~0))) (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse140 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse140 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse142 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse142 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse143 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse143 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse143 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse144 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse144 (+ ~B~0.offset 4)) .cse141) (= (select .cse144 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse139 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse145 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse145)) (exists ((~B~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse146 .cse145) .cse141) (= (select .cse146 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse133) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse147 (select .cse148 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse147) (<= .cse11 (+ c_~minc~0 .cse147)) (= (+ c_~mina~0 .cse147) .cse1) (= (select .cse148 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse150 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse149 (select .cse150 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse149) (<= .cse11 (+ c_~minc~0 .cse149)) (= (+ c_~mina~0 .cse149) .cse1) (= (select .cse150 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse152 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse151 (select .cse152 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse151 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse151) (= (select .cse152 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse153 (select .cse154 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse153 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse153) (= (select .cse154 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse155 (select .cse156 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse155) (<= .cse11 (+ c_~minc~0 .cse155)) (= (+ c_~mina~0 .cse155) .cse1) (= (select .cse156 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse158 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse157 (select .cse158 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse157) (= c_~minc~0 (+ .cse157 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse157)) (= (+ c_~mina~0 .cse157) .cse1) (= (select .cse158 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse160 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse159 (select .cse160 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse159 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse159) (= (select .cse160 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse162 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse161 (select .cse162 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse161 1) .cse11) (<= .cse129 .cse161) (= c_~minc~0 (+ .cse161 c_~minb~0)) (= (select .cse162 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~B~0.base)) (.cse164 (+ ~B~0.offset 4))) (let ((.cse163 (select .cse165 .cse164))) (and (<= (+ c_~minc~0 .cse163 1) .cse11) (<= .cse129 .cse163) (not (= c_~C~0.offset .cse164)) (= (select .cse165 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~A~0.base)) (.cse166 (+ ~A~0.offset 4))) (let ((.cse167 (select .cse170 .cse166)) (.cse168 (select |c_#memory_int#1| ~B~0.base)) (.cse169 (+ ~B~0.offset 4))) (and (not (= .cse166 ~B~0.offset)) (<= .cse14 (+ .cse167 c_~minb~0)) (= (+ .cse167 (select .cse168 .cse169)) .cse1) (<= (+ .cse167 c_~minb~0 1) .cse1) (= (select .cse168 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse170 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse169))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (+ ~A~0.offset 4)) (.cse175 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse171 (select .cse175 ~A~0.offset)) (.cse172 (select .cse175 .cse174))) (and (= c_~mina~0 .cse171) (<= (+ .cse171 1) .cse172) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse172 (select .cse173 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse173 ~B~0.offset) .cse171))))) (not (= .cse174 ~B~0.offset)))) (= (* 2 .cse172) .cse1) (= (+ .cse172 c_~minb~0) .cse1) (<= (+ .cse171 .cse1) (+ c_~minc~0 .cse172)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse178 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse177 (select .cse178 ~A~0.offset)) (.cse176 (select .cse178 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse176) (= (+ .cse176 c_~minb~0) .cse1) (<= .cse176 .cse177) (<= (+ .cse177 .cse1) (+ c_~minc~0 .cse176)) (= (+ .cse176 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse180 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse179 (select .cse180 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse179) (<= (+ .cse179 c_~minb~0 1) .cse1) (<= (+ .cse179 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse180 ~A~0.offset) c_~minb~0)) (= (+ .cse179 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse181 (select .cse183 ~A~0.offset)) (.cse182 (select .cse183 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse181)) (= c_~mina~0 .cse182) (= (+ .cse182 c_~minb~0) .cse1) (<= .cse182 .cse181) (<= (+ .cse181 .cse1) (+ c_~minc~0 .cse182)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse184 (select .cse187 ~A~0.offset)) (.cse185 (select .cse187 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse184) (= c_~minc~0 (+ .cse185 .cse184)) (<= (+ .cse184 1) .cse185) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse185 (select .cse186 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse186 ~B~0.offset) .cse184))))) (= (+ .cse185 c_~minb~0) .cse1) (<= (+ .cse184 .cse1) (+ c_~minc~0 .cse185)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse191 (+ ~A~0.offset 4)) (.cse192 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse190 (select .cse192 ~A~0.offset)) (.cse188 (select .cse192 .cse191))) (and (= c_~mina~0 .cse188) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse188 (select .cse189 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse189 ~B~0.offset) .cse190))))) (not (= .cse191 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse188 c_~minb~0) .cse1) (<= .cse188 .cse190) (<= (+ .cse190 .cse1) (+ c_~minc~0 .cse188)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse195 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse194 (select .cse195 ~A~0.offset)) (.cse193 (select .cse195 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse193) (= (+ .cse193 c_~minb~0) .cse1) (<= .cse193 .cse194) (<= (+ .cse194 .cse1) (+ c_~minc~0 .cse193)) (= (+ .cse193 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse198 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse196 (select .cse198 (+ ~A~0.offset 4)))) (and (= (+ .cse196 (select .cse197 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse196) (<= (+ .cse196 c_~minb~0 1) .cse1) (<= (+ .cse196 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse198 ~A~0.offset) c_~minb~0)))))) (= (select .cse197 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse202 (+ ~A~0.offset 4)) (.cse203 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse199 (select .cse203 ~A~0.offset)) (.cse200 (select .cse203 .cse202))) (and (= c_~mina~0 .cse199) (<= (+ .cse199 1) .cse200) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse200 (select .cse201 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse201 ~B~0.offset) .cse199))))) (not (= .cse202 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse200 c_~minb~0) .cse1) (<= (+ .cse199 .cse1) (+ c_~minc~0 .cse200)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse204 (select .cse206 (+ ~A~0.offset 4))) (.cse205 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse204 c_~minb~0)) (= (+ .cse204 (select .cse205 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse204 c_~minb~0 1) .cse1) (= (select .cse205 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse206 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse209 (+ ~A~0.offset 4)) (.cse211 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse208 (select .cse211 ~A~0.offset)) (.cse207 (select .cse211 .cse209))) (and (= (+ .cse207 .cse208) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse210 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse209 ~B~0.offset)) (= (+ .cse207 (select .cse210 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse210 ~B~0.offset) .cse208))))) (= c_~mina~0 .cse207) (= (+ .cse207 c_~minb~0) .cse1) (<= .cse207 .cse208) (<= (+ .cse208 .cse1) (+ c_~minc~0 .cse207)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse212 (select .cse213 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse212 c_~minb~0)) (<= (+ .cse212 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse213 ~A~0.offset) c_~minb~0)) (= (+ .cse212 .cse50) .cse1) (= .cse212 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse214 (select .cse217 ~A~0.offset)) (.cse215 (select .cse217 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse214) (<= (+ .cse214 1) .cse215) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse215 (select .cse216 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse216 ~B~0.offset) .cse214))))) (= (+ .cse215 c_~minb~0) .cse1) (<= (+ .cse214 .cse1) (+ c_~minc~0 .cse215)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse218 (select .cse221 (+ ~A~0.offset 4))) (.cse219 (select .cse221 ~A~0.offset))) (and (= c_~minc~0 (+ .cse218 .cse219)) (= c_~mina~0 .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse220 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse220 ~B~0.offset) .cse219))))) (= (* 2 .cse218) .cse1) (= (+ .cse218 c_~minb~0) .cse1) (<= .cse218 .cse219))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse225 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse222 (select .cse225 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse222) (<= (+ .cse222 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse224 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse222 (select .cse223 .cse224)) .cse1) (= (select .cse223 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse224))))) (<= (+ .cse222 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse225 ~A~0.offset) c_~minb~0)) (= .cse222 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse226 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse227 (+ ~A~0.offset 4))) (and (not (= .cse227 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse228 (select .cse229 .cse227))) (and (= .cse11 (+ c_~minc~0 .cse228)) (= (+ .cse228 (select .cse226 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse228) (<= (+ .cse228 c_~minb~0 1) .cse1) (<= (+ .cse228 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse229 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse234 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse230 (select .cse234 ~A~0.offset)) (.cse231 (select .cse234 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse230) (exists ((~B~0.offset Int)) (let ((.cse233 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse231 (select .cse232 .cse233)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse232 ~B~0.offset) .cse230))))) (not (= ~A~0.offset .cse233))))) (= c_~minc~0 (+ .cse231 .cse230)) (<= (+ .cse230 1) .cse231) (= (* 2 .cse231) .cse1) (= (+ .cse231 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse239 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse235 (select .cse239 ~A~0.offset)) (.cse236 (select .cse239 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse235) (exists ((~B~0.offset Int)) (let ((.cse238 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse236 (select .cse237 .cse238)) .cse1) (= c_~minc~0 (+ (select .cse237 ~B~0.offset) .cse235))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse238))))) (= c_~minc~0 (+ .cse236 .cse235)) (<= (+ .cse235 1) .cse236) (= (* 2 .cse236) .cse1) (= (+ .cse236 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~A~0.base)) (.cse242 (+ ~A~0.offset 4))) (let ((.cse240 (select .cse244 .cse242)) (.cse241 (select .cse244 ~A~0.offset))) (and (= (+ .cse240 .cse241) .cse1) (= c_~mina~0 .cse240) (= (* 2 .cse240) .cse1) (= (+ .cse240 c_~minb~0) .cse1) (<= (+ .cse241 .cse1) (+ c_~minc~0 .cse240)) (exists ((~B~0.offset Int)) (and (not (= .cse242 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse240 (select .cse243 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse243 ~B~0.offset) .cse241))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse248 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse246 (select .cse248 .cse245)) (.cse247 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse245 ~B~0.offset)) (<= .cse14 (+ .cse246 c_~minb~0)) (= (+ .cse246 (select .cse247 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse246 c_~minb~0 1) .cse1) (= (select .cse247 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse248 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse249 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse268 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse268 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse268 ~B~0.offset) .cse7)))))) (.cse258 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse263 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse267 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse267 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse267 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse264 (exists ((~B~0.offset Int)) (let ((.cse265 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse265)) (exists ((~B~0.base Int)) (let ((.cse266 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse266 .cse265) c_~minb~0) (= c_~minc~0 (+ (select .cse266 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse249 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse250 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse250 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse254 (exists ((~B~0.offset Int)) (let ((.cse256 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse256)) (exists ((~B~0.base Int)) (let ((.cse257 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse257 .cse256) c_~minb~0) (= c_~minc~0 (+ (select .cse257 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse251 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse251 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse249 (exists ((~B~0.offset Int)) (let ((.cse252 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse252)) (exists ((~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse253 .cse252) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)))))))) .cse254)) .cse249 .cse254 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse255 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse255 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse255 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse258) (and .cse258 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse259 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse259 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse260 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse260)) (exists ((~B~0.base Int)) (let ((.cse261 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse261 .cse260) c_~minb~0) (= c_~minc~0 (+ (select .cse261 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse263)) .cse263 .cse264)) .cse263 .cse264)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse125) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse272 (select |c_#memory_int#1| ~A~0.base)) (.cse269 (+ ~A~0.offset 4))) (let ((.cse270 (select .cse272 .cse269))) (and (not (= .cse269 ~B~0.offset)) (= (+ .cse270 (select .cse271 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse270) (<= (+ .cse270 c_~minb~0 1) .cse1) (<= (+ .cse270 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse272 ~A~0.offset) c_~minb~0)))))) (= (select .cse271 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse276 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse274 (select .cse276 ~A~0.offset)) (.cse273 (select .cse276 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse273 .cse274)) (= c_~mina~0 .cse273) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse275 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse273 (select .cse275 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse275 ~B~0.offset) .cse274))))) (= (+ .cse273 c_~minb~0) .cse1) (<= .cse273 .cse274) (<= (+ .cse274 .cse1) (+ c_~minc~0 .cse273)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse278 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse277) (<= (+ .cse277 c_~minb~0 1) .cse1) (<= (+ .cse277 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse278 ~A~0.offset) c_~minb~0)) (= (+ .cse277 .cse50) .cse1) (= .cse277 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse279 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse283 (+ ~A~0.offset 4)) (.cse281 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse282 .cse283))) (and (= (+ .cse280 (select .cse279 .cse281)) .cse1) (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse282 ~A~0.offset) c_~minb~0)))))) (not (= .cse283 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse281)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse284 (select .cse286 ~A~0.offset)) (.cse285 (select .cse286 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse284) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse284 1) .cse285) (= (+ .cse285 c_~minb~0) .cse1) (<= (+ .cse284 .cse1) (+ c_~minc~0 .cse285)) (= (+ .cse285 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse291 (+ ~A~0.offset 4)) (.cse292 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse292 ~A~0.offset)) (.cse288 (select .cse292 .cse291))) (and (= c_~mina~0 .cse287) (exists ((~B~0.offset Int)) (let ((.cse290 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse288 (select .cse289 .cse290)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse289 ~B~0.offset) .cse287))))) (not (= .cse291 ~B~0.offset)) (not (= ~A~0.offset .cse290))))) (<= (+ .cse287 1) .cse288) (= (* 2 .cse288) .cse1) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse298 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse293 (select .cse298 ~A~0.offset)) (.cse295 (select .cse298 .cse294))) (and (= c_~mina~0 .cse293) (exists ((~B~0.offset Int)) (let ((.cse297 (+ ~B~0.offset 4))) (and (not (= .cse294 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse296 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse295 (select .cse296 .cse297)) .cse1) (= c_~minc~0 (+ (select .cse296 ~B~0.offset) .cse293))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse297))))) (<= (+ .cse293 1) .cse295) (= (+ .cse295 c_~minb~0) .cse1) (<= (+ .cse293 .cse1) (+ c_~minc~0 .cse295)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse303 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse299 (select .cse303 ~A~0.offset)) (.cse300 (select .cse303 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse299) (exists ((~B~0.offset Int)) (let ((.cse302 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse301 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse300 (select .cse301 .cse302)) .cse1) (= c_~minc~0 (+ (select .cse301 ~B~0.offset) .cse299))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse302))))) (= c_~minc~0 (+ .cse300 .cse299)) (<= (+ .cse299 1) .cse300) (= (+ .cse300 c_~minb~0) .cse1) (<= (+ .cse299 .cse1) (+ c_~minc~0 .cse300)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse304 (select .cse305 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse304) (<= (+ .cse304 c_~minb~0 1) .cse1) (<= (+ .cse304 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse305 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse307 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse306 (select .cse307 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse306)) (= c_~mina~0 .cse306) (<= (+ .cse306 c_~minb~0 1) .cse1) (= (* 2 .cse306) .cse1) (= c_~minc~0 (+ (select .cse307 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse309 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse308 c_~minb~0)) (<= (+ .cse308 c_~minb~0 1) .cse1) (= (* 2 .cse308) .cse1) (= c_~minc~0 (+ (select .cse309 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse311 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse310 (select .cse311 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse310)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse310 c_~minb~0)) (<= (+ .cse310 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse311 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse313 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse312 (select .cse313 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse312)) (= c_~mina~0 .cse312) (<= (+ .cse312 c_~minb~0 1) .cse1) (<= (+ .cse312 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse313 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse315 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse314 (select .cse315 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse314 c_~minb~0)) (<= (+ .cse314 c_~minb~0 1) .cse1) (= (* 2 .cse314) .cse1) (= c_~minc~0 (+ (select .cse315 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse317 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse316) (<= (+ .cse316 c_~minb~0 1) .cse1) (<= (+ .cse316 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse317 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse318 (select .cse319 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse318) (<= (+ .cse318 c_~minb~0 1) .cse1) (= (* 2 .cse318) .cse1) (<= (+ .cse318 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse319 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse320 (select .cse321 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse320 c_~minb~0)) (<= (+ .cse320 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse321 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse323 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse322 (select .cse323 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse322 c_~minb~0)) (<= (+ .cse322 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse323 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse324 (select .cse325 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse324 c_~minb~0)) (<= (+ .cse324 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse325 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse327 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse326 (select .cse327 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse326) (<= (+ .cse326 c_~minb~0 1) .cse1) (= (* 2 .cse326) .cse1) (<= (+ .cse326 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse327 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse329 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse328 (select .cse329 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse328) (<= (+ .cse328 c_~minb~0 1) .cse1) (<= (+ .cse328 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse329 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse330 (select .cse332 ~A~0.offset)) (.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse330) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse330 1) .cse331) (= (+ .cse331 c_~minb~0) .cse1) (<= (+ .cse330 .cse1) (+ c_~minc~0 .cse331)) (= (+ .cse331 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse337 (select .cse338 ~A~0.offset)) (.cse336 (select .cse338 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse336) (= (+ .cse336 c_~minb~0) .cse1) (<= .cse336 .cse337) (<= (+ .cse337 .cse1) (+ c_~minc~0 .cse336)) (= c_~minc~0 (* 2 .cse337)) (= (+ .cse336 .cse50) .cse1))))) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse342 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse342 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse340 (select .cse341 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse341 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse340) (<= (+ .cse340 c_~minb~0 1) .cse1) (<= (+ .cse340 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse342 ~A~0.offset) c_~minb~0)) (= .cse340 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse346 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse345 (select .cse346 ~A~0.offset)) (.cse343 (select .cse346 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse344 ~B~0.offset) .cse345))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse343 .cse345)) (= c_~mina~0 .cse343) (= (+ .cse343 c_~minb~0) .cse1) (<= .cse343 .cse345) (<= (+ .cse345 .cse1) (+ c_~minc~0 .cse343)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse350 (+ ~A~0.offset 4)) (.cse351 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse349 (select .cse351 ~A~0.offset)) (.cse347 (select .cse351 .cse350))) (and (= c_~mina~0 .cse347) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse348 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse347 (select .cse348 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse348 ~B~0.offset) .cse349))))) (not (= .cse350 ~B~0.offset)))) (= (* 2 .cse347) .cse1) (= (+ .cse347 c_~minb~0) .cse1) (<= .cse347 .cse349) (<= (+ .cse349 .cse1) (+ c_~minc~0 .cse347)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse353 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse352) (<= (+ .cse352 c_~minb~0 1) .cse1) (<= (+ .cse352 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse353 ~A~0.offset) c_~minb~0)) (= (+ .cse352 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse355 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse354 (select .cse355 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse354 c_~minb~0)) (<= (+ .cse354 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse355 ~A~0.offset) c_~minb~0)) (= (+ .cse354 .cse50) .cse1))))) .cse10) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse357 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse356 (select .cse357 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse356) (<= (+ .cse356 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse357 ~A~0.offset) c_~minb~0)) (= (+ .cse356 .cse50) .cse1) (= .cse356 c_~minb~0))))) .cse358) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse363 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse360 (select .cse363 (+ ~A~0.offset 4))) (.cse362 (select .cse363 ~A~0.offset))) (let ((.cse359 (+ .cse360 .cse362))) (and (= .cse359 .cse1) (= c_~minc~0 .cse359) (= c_~mina~0 .cse360) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse360 (select .cse361 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse361 ~B~0.offset) .cse362))))) (= (+ .cse360 c_~minb~0) .cse1) (<= .cse360 .cse362) (<= (+ .cse362 .cse1) (+ c_~minc~0 .cse360))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse365 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse364 (select .cse365 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse364) (<= (+ .cse364 c_~minb~0 1) .cse1) (<= (+ .cse364 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse365 ~A~0.offset) c_~minb~0)) (= (+ .cse364 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse366 (select .cse368 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse366) (<= (+ .cse366 c_~minb~0 1) .cse1) (= (* 2 .cse366) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse367 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse366 (select .cse367 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse367 ~B~0.offset) c_~minb~0)))) (<= (+ .cse366 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 ~A~0.offset)) (.cse370 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse369)) (= c_~mina~0 .cse369) (<= (+ .cse369 1) .cse370) (= (+ .cse370 c_~minb~0) .cse1) (<= (+ .cse369 .cse1) (+ c_~minc~0 .cse370)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse375 (+ ~A~0.offset 4)) (.cse376 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse373 (select .cse376 ~A~0.offset)) (.cse372 (select .cse376 .cse375))) (and (= (+ .cse372 .cse373) .cse1) (= c_~mina~0 .cse372) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse372 (select .cse374 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse374 ~B~0.offset) .cse373))))) (not (= .cse375 ~B~0.offset)))) (= (* 2 .cse372) .cse1) (= (+ .cse372 c_~minb~0) .cse1) (<= (+ .cse373 .cse1) (+ c_~minc~0 .cse372)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (select |c_#memory_int#1| ~A~0.base)) (.cse379 (+ ~A~0.offset 4))) (let ((.cse377 (select .cse378 .cse379))) (and (= c_~mina~0 .cse377) (<= (+ .cse377 c_~minb~0 1) .cse1) (= (* 2 .cse377) .cse1) (<= (+ .cse377 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse378 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse381 (+ ~B~0.offset 4))) (and (not (= .cse379 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse380 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse377 (select .cse380 .cse381)) .cse1) (= (select .cse380 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse381))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse385 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse385 ~A~0.offset)) (.cse382 (select .cse385 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse382) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse382 (select .cse383 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse383 ~B~0.offset) .cse384))))) (= (+ .cse382 c_~minb~0) .cse1) (<= .cse382 .cse384) (<= (+ .cse384 .cse1) (+ c_~minc~0 .cse382)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse389 (select |c_#memory_int#1| ~A~0.base)) (.cse386 (+ ~A~0.offset 4))) (let ((.cse387 (select .cse389 .cse386))) (and (exists ((~B~0.offset Int)) (and (not (= .cse386 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse387 (select .cse388 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse388 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse387) (<= (+ .cse387 c_~minb~0 1) .cse1) (= (* 2 .cse387) .cse1) (<= (+ .cse387 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse389 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse391 (select .cse392 ~A~0.offset)) (.cse390 (select .cse392 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse390) (= (+ .cse390 c_~minb~0) .cse1) (<= .cse390 .cse391) (<= (+ .cse391 .cse1) (+ c_~minc~0 .cse390)) (= c_~minc~0 (* 2 .cse391)) (= (+ .cse390 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~A~0.base)) (.cse394 (+ ~A~0.offset 4))) (let ((.cse393 (select .cse396 .cse394))) (and (<= .cse14 (+ .cse393 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse394 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse393 (select .cse395 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse395 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse393 c_~minb~0 1) .cse1) (= (* 2 .cse393) .cse1) (= c_~minc~0 (+ (select .cse396 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse397 (select .cse399 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse397 c_~minb~0)) (<= (+ .cse397 c_~minb~0 1) .cse1) (= (* 2 .cse397) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse397 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~A~0.base)) (.cse402 (+ ~A~0.offset 4))) (let ((.cse400 (select .cse401 .cse402))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (= c_~minc~0 (+ (select .cse401 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse404 (+ ~B~0.offset 4))) (and (not (= .cse402 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse403 .cse404)) .cse1) (= (select .cse403 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse404))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~A~0.base)) (.cse406 (+ ~A~0.offset 4))) (let ((.cse405 (select .cse408 .cse406))) (and (<= .cse14 (+ .cse405 c_~minb~0)) (<= (+ .cse405 c_~minb~0 1) .cse1) (= (* 2 .cse405) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse406 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse407 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse405 (select .cse407 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse407 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse408 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse412 (select |c_#memory_int#1| ~A~0.base)) (.cse410 (+ ~A~0.offset 4))) (let ((.cse409 (select .cse412 .cse410))) (and (<= .cse14 (+ .cse409 c_~minb~0)) (= (* 2 .cse409) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse410 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse409 (select .cse411 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse411 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse412 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~A~0.base)) (.cse415 (+ ~A~0.offset 4))) (let ((.cse413 (select .cse414 .cse415))) (and (<= .cse14 (+ .cse413 c_~minb~0)) (= (* 2 .cse413) .cse1) (= c_~minc~0 (+ (select .cse414 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse417 (+ ~B~0.offset 4))) (and (not (= .cse415 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse416 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse413 (select .cse416 .cse417)) .cse1) (= (select .cse416 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse417)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse418 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse419 (select .cse418 ~B~0.offset))) (let ((.cse420 (+ .cse419 .cse50))) (and (= (+ .cse50 (select .cse418 (+ ~B~0.offset 4))) .cse1) (= (+ .cse419 .cse1) .cse48) (<= .cse1 .cse420) (<= .cse420 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse422 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse423 (select .cse422 ~B~0.offset))) (let ((.cse421 (+ .cse423 .cse50))) (and (<= .cse14 .cse421) (= (+ .cse50 (select .cse422 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse421) (= c_~minc~0 (+ .cse423 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (= (+ .cse426 .cse1) .cse48) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (+ (select .cse427 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse427 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse428) (<= .cse428 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse429 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse430 (+ (select .cse429 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse429 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse430) (<= .cse430 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (select .cse432 ~B~0.offset))) (let ((.cse431 (+ .cse433 .cse50))) (and (<= .cse14 .cse431) (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (= c_~minc~0 (+ .cse433 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse434 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse435 (+ (select .cse434 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse434 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse435) (<= .cse435 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (select .cse437 ~B~0.offset))) (let ((.cse436 (+ .cse438 .cse50))) (and (<= .cse14 .cse436) (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse436) (= c_~minc~0 (+ .cse438 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse441 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse439 (select .cse441 (+ ~A~0.offset 4))) (.cse440 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse439 c_~minb~0)) (= (+ .cse439 (select .cse440 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse439 c_~minb~0 1) .cse1) (= (select .cse440 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse441 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 ~A~0.offset)) (.cse443 (select .cse444 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse442)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse443) (= (+ .cse443 c_~minb~0) .cse1) (<= .cse443 .cse442) (<= (+ .cse442 .cse1) (+ c_~minc~0 .cse443)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse446 (select .cse447 ~A~0.offset)) (.cse445 (select .cse447 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse445) (= (+ .cse445 c_~minb~0) .cse1) (<= .cse445 .cse446) (<= (+ .cse446 .cse1) (+ c_~minc~0 .cse445)) (= (+ .cse445 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (+ ~A~0.offset 4)) (.cse452 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse452 ~A~0.offset)) (.cse448 (select .cse452 .cse450))) (and (= (+ .cse448 .cse449) .cse1) (= c_~mina~0 .cse449) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse451 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse450 ~B~0.offset)) (= (+ .cse448 (select .cse451 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse451 ~B~0.offset) .cse449))))) (<= (+ .cse449 1) .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse453 (select .cse454 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse453 c_~minb~0)) (<= (+ .cse453 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse454 ~A~0.offset) c_~minb~0)) (= (+ .cse453 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse455 (+ ~A~0.offset 4)) (.cse460 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse459 (select .cse460 ~A~0.offset)) (.cse456 (select .cse460 .cse455))) (and (exists ((~B~0.offset Int)) (let ((.cse458 (+ ~B~0.offset 4))) (and (not (= .cse455 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse456 (select .cse457 .cse458)) .cse1) (= c_~minc~0 (+ (select .cse457 ~B~0.offset) .cse459))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse458))))) (= c_~mina~0 .cse456) (= (* 2 .cse456) .cse1) (= (+ .cse456 c_~minb~0) .cse1) (<= .cse456 .cse459) (<= (+ .cse459 .cse1) (+ c_~minc~0 .cse456)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse461 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse461 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 (+ ~A~0.offset 4)))) (and (= (+ .cse462 (select .cse461 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse462) (<= (+ .cse462 c_~minb~0 1) .cse1) (<= (+ .cse462 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse463 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse467 (select |c_#memory_int#1| ~A~0.base)) (.cse465 (+ ~A~0.offset 4))) (let ((.cse464 (select .cse467 .cse465))) (and (= c_~mina~0 .cse464) (<= (+ .cse464 c_~minb~0 1) .cse1) (= (* 2 .cse464) .cse1) (<= (+ .cse464 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse465 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse466 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse464 (select .cse466 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse466 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse467 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (+ ~A~0.offset 4)) (.cse473 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse471 (select .cse473 ~A~0.offset)) (.cse468 (select .cse473 .cse472))) (and (exists ((~B~0.offset Int)) (let ((.cse470 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse468 (select .cse469 .cse470)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse469 ~B~0.offset) .cse471))))) (not (= .cse472 ~B~0.offset)) (not (= ~A~0.offset .cse470))))) (= c_~mina~0 .cse468) (= (* 2 .cse468) .cse1) (= (+ .cse468 c_~minb~0) .cse1) (<= .cse468 .cse471) (<= (+ .cse471 .cse1) (+ c_~minc~0 .cse468)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse475 (select .cse476 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse474)) (= c_~mina~0 .cse474) (<= (+ .cse474 1) .cse475) (= (* 2 .cse475) .cse1) (= (+ .cse475 c_~minb~0) .cse1) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse475)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse478 (select .cse479 ~A~0.offset)) (.cse477 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse477 .cse478)) (= c_~mina~0 .cse477) (= (+ .cse477 c_~minb~0) .cse1) (<= .cse477 .cse478) (<= (+ .cse478 .cse1) (+ c_~minc~0 .cse477)) (= (+ .cse477 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse480 (select .cse482 ~A~0.offset)) (.cse481 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse480)) (= c_~mina~0 .cse481) (= (* 2 .cse481) .cse1) (= (+ .cse481 c_~minb~0) .cse1) (<= .cse481 .cse480) (<= (+ .cse480 .cse1) (+ c_~minc~0 .cse481)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse486) (= c_~minc~0 (+ .cse487 .cse486)) (<= (+ .cse486 1) .cse487) (= (+ .cse487 c_~minb~0) .cse1) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)) (= (+ .cse487 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse490 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse490 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse489 c_~minb~0)) (<= (+ .cse489 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse490 ~A~0.offset) c_~minb~0)) (= (+ .cse489 .cse50) .cse1)))))) .cse358 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse495 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse493 (select .cse495 (+ ~A~0.offset 4))) (.cse492 (select .cse495 ~A~0.offset))) (let ((.cse491 (+ .cse493 .cse492))) (and (= .cse491 .cse1) (= c_~mina~0 .cse492) (= c_~minc~0 .cse491) (<= (+ .cse492 1) .cse493) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse494 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse493 (select .cse494 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse494 ~B~0.offset) .cse492))))) (= (+ .cse493 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 ~A~0.offset)) (.cse497 (select .cse498 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse496)) (= c_~mina~0 .cse496) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse496 1) .cse497) (= (+ .cse497 c_~minb~0) .cse1) (<= (+ .cse496 .cse1) (+ c_~minc~0 .cse497)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse502 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse502 ~A~0.offset)) (.cse500 (select .cse502 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse499) (= c_~minc~0 (+ .cse500 .cse499)) (<= (+ .cse499 1) .cse500) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse500 (select .cse501 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse501 ~B~0.offset) .cse499))))) (= (* 2 .cse500) .cse1) (= (+ .cse500 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse504 (select .cse507 (+ ~A~0.offset 4))) (.cse506 (select .cse507 ~A~0.offset))) (let ((.cse503 (+ .cse504 .cse506))) (and (= .cse503 .cse1) (= c_~minc~0 .cse503) (= c_~mina~0 .cse504) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse504 (select .cse505 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse505 ~B~0.offset) .cse506))))) (= (+ .cse504 c_~minb~0) .cse1) (<= .cse504 .cse506) (<= (+ .cse506 .cse1) (+ c_~minc~0 .cse504))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse508 (select .cse510 ~A~0.offset)) (.cse509 (select .cse510 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse508) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse508 1) .cse509) (= (+ .cse509 c_~minb~0) .cse1) (<= (+ .cse508 .cse1) (+ c_~minc~0 .cse509)) (= c_~minc~0 (* 2 .cse508)) (= (+ .cse509 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse514 (+ ~A~0.offset 4)) (.cse515 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse515 ~A~0.offset)) (.cse512 (select .cse515 .cse514))) (and (= c_~mina~0 .cse511) (<= (+ .cse511 1) .cse512) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse512 (select .cse513 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse513 ~B~0.offset) .cse511))))) (not (= .cse514 ~B~0.offset)))) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512))))))))))) is different from true