./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 16:48:49,575 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 16:48:49,640 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 16:48:49,644 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 16:48:49,644 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 16:48:49,659 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 16:48:49,660 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 16:48:49,660 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 16:48:49,660 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 16:48:49,660 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 16:48:49,660 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 16:48:49,660 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 16:48:49,660 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 16:48:49,661 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 16:48:49,661 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:48:49,661 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:48:49,661 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:48:49,662 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 16:48:49,662 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 [2025-01-09 16:48:49,877 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 16:48:49,886 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 16:48:49,892 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 16:48:49,893 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 16:48:49,893 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 16:48:49,893 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2025-01-09 16:48:51,033 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d2cba3d68/2134f107e6d14a458703545e91abacc9/FLAG18991ac74 [2025-01-09 16:48:51,309 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 16:48:51,311 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2025-01-09 16:48:51,318 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d2cba3d68/2134f107e6d14a458703545e91abacc9/FLAG18991ac74 [2025-01-09 16:48:51,332 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d2cba3d68/2134f107e6d14a458703545e91abacc9 [2025-01-09 16:48:51,334 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 16:48:51,335 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 16:48:51,336 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 16:48:51,337 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 16:48:51,339 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 16:48:51,340 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,340 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2e79afff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51, skipping insertion in model container [2025-01-09 16:48:51,340 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,353 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 16:48:51,479 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2025-01-09 16:48:51,488 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:48:51,499 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 16:48:51,519 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2025-01-09 16:48:51,522 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:48:51,538 INFO L204 MainTranslator]: Completed translation [2025-01-09 16:48:51,540 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51 WrapperNode [2025-01-09 16:48:51,540 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 16:48:51,541 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 16:48:51,541 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 16:48:51,541 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 16:48:51,545 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,553 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,575 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 210 [2025-01-09 16:48:51,575 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 16:48:51,575 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 16:48:51,575 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 16:48:51,576 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 16:48:51,585 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,585 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,592 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,608 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2025-01-09 16:48:51,612 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,613 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,621 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,624 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,627 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,628 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,629 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,630 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 16:48:51,631 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 16:48:51,631 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 16:48:51,631 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 16:48:51,632 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (1/1) ... [2025-01-09 16:48:51,635 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:48:51,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:51,655 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 16:48:51,660 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 16:48:51,675 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 16:48:51,675 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-01-09 16:48:51,675 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-01-09 16:48:51,675 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-01-09 16:48:51,675 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-01-09 16:48:51,675 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-01-09 16:48:51,675 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-01-09 16:48:51,675 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 16:48:51,675 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-01-09 16:48:51,675 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-01-09 16:48:51,676 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-01-09 16:48:51,676 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-01-09 16:48:51,676 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-01-09 16:48:51,676 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-01-09 16:48:51,676 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 16:48:51,676 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 16:48:51,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-01-09 16:48:51,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-01-09 16:48:51,677 WARN L203 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-01-09 16:48:51,741 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 16:48:51,742 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 16:48:51,992 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-01-09 16:48:51,992 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 16:48:52,214 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 16:48:52,214 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-01-09 16:48:52,215 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:48:52 BoogieIcfgContainer [2025-01-09 16:48:52,215 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 16:48:52,216 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 16:48:52,216 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 16:48:52,220 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 16:48:52,220 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 04:48:51" (1/3) ... [2025-01-09 16:48:52,221 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57e90681 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:48:52, skipping insertion in model container [2025-01-09 16:48:52,221 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:51" (2/3) ... [2025-01-09 16:48:52,221 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57e90681 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:48:52, skipping insertion in model container [2025-01-09 16:48:52,221 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:48:52" (3/3) ... [2025-01-09 16:48:52,222 INFO L128 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2025-01-09 16:48:52,234 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 16:48:52,236 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG popl20-three-array-min.wvr.c that has 4 procedures, 33 locations, 1 initial locations, 6 loop locations, and 1 error locations. [2025-01-09 16:48:52,236 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-01-09 16:48:52,282 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-01-09 16:48:52,315 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2025-01-09 16:48:52,351 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2025-01-09 16:48:52,353 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-01-09 16:48:52,357 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 7/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 43 event pairs, 0 based on Foata normal form. 0/28 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2025-01-09 16:48:52,357 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2025-01-09 16:48:52,360 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2025-01-09 16:48:52,370 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 16:48:52,378 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@1355cdc8, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 16:48:52,378 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-01-09 16:48:52,390 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-01-09 16:48:52,390 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2025-01-09 16:48:52,390 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-01-09 16:48:52,390 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:52,391 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:52,391 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:52,395 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:52,395 INFO L85 PathProgramCache]: Analyzing trace with hash -727016227, now seen corresponding path program 1 times [2025-01-09 16:48:52,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:52,401 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [229849676] [2025-01-09 16:48:52,401 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:52,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:52,464 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-01-09 16:48:52,516 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-01-09 16:48:52,516 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:52,516 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:52,723 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 16:48:52,723 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:52,723 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [229849676] [2025-01-09 16:48:52,724 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [229849676] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:52,724 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:52,724 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 16:48:52,725 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1857075050] [2025-01-09 16:48:52,725 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:52,729 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 16:48:52,732 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:52,745 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 16:48:52,745 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 16:48:52,746 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:52,748 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 35 transitions, 88 flow. Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:52,748 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:52,748 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:52,748 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:52,889 INFO L124 PetriNetUnfolderBase]: 362/620 cut-off events. [2025-01-09 16:48:52,889 INFO L125 PetriNetUnfolderBase]: For 53/53 co-relation queries the response was YES. [2025-01-09 16:48:52,892 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1171 conditions, 620 events. 362/620 cut-off events. For 53/53 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 2528 event pairs, 230 based on Foata normal form. 0/543 useless extension candidates. Maximal degree in co-relation 993. Up to 492 conditions per place. [2025-01-09 16:48:52,895 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 27 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2025-01-09 16:48:52,895 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 148 flow [2025-01-09 16:48:52,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 16:48:52,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 16:48:52,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2025-01-09 16:48:52,906 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5128205128205128 [2025-01-09 16:48:52,907 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 60 transitions. [2025-01-09 16:48:52,908 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 148 flow [2025-01-09 16:48:52,910 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 136 flow, removed 0 selfloop flow, removed 6 redundant places. [2025-01-09 16:48:52,912 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2025-01-09 16:48:52,913 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=76, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=88, PETRI_PLACES=35, PETRI_TRANSITIONS=36} [2025-01-09 16:48:52,915 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2025-01-09 16:48:52,915 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2025-01-09 16:48:52,916 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:52,916 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:52,916 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:52,916 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-01-09 16:48:52,916 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:52,917 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:52,917 INFO L85 PathProgramCache]: Analyzing trace with hash 1912487508, now seen corresponding path program 1 times [2025-01-09 16:48:52,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:52,917 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [961500480] [2025-01-09 16:48:52,917 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:52,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:52,926 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-01-09 16:48:52,941 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-01-09 16:48:52,942 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:52,942 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:53,074 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-01-09 16:48:53,075 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:53,075 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [961500480] [2025-01-09 16:48:53,075 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [961500480] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:53,075 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:53,075 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-09 16:48:53,075 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515284093] [2025-01-09 16:48:53,075 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:53,076 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-09 16:48:53,077 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:53,078 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-09 16:48:53,078 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-01-09 16:48:53,084 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:53,085 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 36 transitions, 88 flow. Second operand has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:53,085 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:53,085 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:53,085 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:53,187 INFO L124 PetriNetUnfolderBase]: 362/622 cut-off events. [2025-01-09 16:48:53,189 INFO L125 PetriNetUnfolderBase]: For 13/13 co-relation queries the response was YES. [2025-01-09 16:48:53,191 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1141 conditions, 622 events. 362/622 cut-off events. For 13/13 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 2531 event pairs, 230 based on Foata normal form. 0/545 useless extension candidates. Maximal degree in co-relation 1130. Up to 491 conditions per place. [2025-01-09 16:48:53,196 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 25 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2025-01-09 16:48:53,197 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 154 flow [2025-01-09 16:48:53,197 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-09 16:48:53,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-09 16:48:53,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2025-01-09 16:48:53,198 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.46794871794871795 [2025-01-09 16:48:53,198 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 73 transitions. [2025-01-09 16:48:53,198 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 154 flow [2025-01-09 16:48:53,198 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 150 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-01-09 16:48:53,200 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2025-01-09 16:48:53,201 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=84, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=30, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=112, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2025-01-09 16:48:53,201 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2025-01-09 16:48:53,201 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2025-01-09 16:48:53,201 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:53,201 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:53,202 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:53,202 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 16:48:53,202 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:53,203 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:53,203 INFO L85 PathProgramCache]: Analyzing trace with hash 1193834370, now seen corresponding path program 1 times [2025-01-09 16:48:53,203 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:53,203 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [487658212] [2025-01-09 16:48:53,203 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:53,203 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:53,213 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-01-09 16:48:53,233 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-01-09 16:48:53,235 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:53,235 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:53,376 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-01-09 16:48:53,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:53,376 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [487658212] [2025-01-09 16:48:53,376 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [487658212] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:53,376 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:53,376 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-09 16:48:53,376 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [513799252] [2025-01-09 16:48:53,376 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:53,376 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 16:48:53,377 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:53,377 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 16:48:53,377 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 16:48:53,377 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:53,377 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:53,377 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:53,377 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:53,377 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:53,490 INFO L124 PetriNetUnfolderBase]: 525/955 cut-off events. [2025-01-09 16:48:53,490 INFO L125 PetriNetUnfolderBase]: For 23/23 co-relation queries the response was YES. [2025-01-09 16:48:53,492 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1677 conditions, 955 events. 525/955 cut-off events. For 23/23 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 4330 event pairs, 172 based on Foata normal form. 1/836 useless extension candidates. Maximal degree in co-relation 1657. Up to 361 conditions per place. [2025-01-09 16:48:53,495 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 40 selfloop transitions, 2 changer transitions 2/51 dead transitions. [2025-01-09 16:48:53,495 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 51 transitions, 229 flow [2025-01-09 16:48:53,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 16:48:53,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 16:48:53,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2025-01-09 16:48:53,496 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6153846153846154 [2025-01-09 16:48:53,496 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 72 transitions. [2025-01-09 16:48:53,496 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 51 transitions, 229 flow [2025-01-09 16:48:53,496 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 51 transitions, 228 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-01-09 16:48:53,497 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2025-01-09 16:48:53,497 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=111, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=123, PETRI_PLACES=40, PETRI_TRANSITIONS=39} [2025-01-09 16:48:53,498 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2025-01-09 16:48:53,498 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2025-01-09 16:48:53,498 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:53,498 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:53,498 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:53,498 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-01-09 16:48:53,498 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:53,499 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:53,499 INFO L85 PathProgramCache]: Analyzing trace with hash -377353499, now seen corresponding path program 1 times [2025-01-09 16:48:53,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:53,499 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [819342499] [2025-01-09 16:48:53,499 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:53,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:53,510 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-01-09 16:48:53,527 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-01-09 16:48:53,527 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:53,527 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:53,666 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-01-09 16:48:53,666 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:53,666 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [819342499] [2025-01-09 16:48:53,666 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [819342499] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:53,666 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [212185275] [2025-01-09 16:48:53,666 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:53,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:53,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:53,670 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:53,671 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-01-09 16:48:53,741 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-01-09 16:48:53,770 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-01-09 16:48:53,770 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:53,770 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:53,772 INFO L256 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-09 16:48:53,775 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:53,837 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-01-09 16:48:53,837 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 16:48:53,892 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-01-09 16:48:53,892 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [212185275] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-09 16:48:53,892 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-09 16:48:53,892 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2025-01-09 16:48:53,893 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1503044370] [2025-01-09 16:48:53,893 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-09 16:48:53,893 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2025-01-09 16:48:53,893 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:53,894 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-01-09 16:48:53,894 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2025-01-09 16:48:53,919 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:53,919 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 39 transitions, 123 flow. Second operand has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:53,919 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:53,919 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:53,919 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:54,366 INFO L124 PetriNetUnfolderBase]: 901/1464 cut-off events. [2025-01-09 16:48:54,366 INFO L125 PetriNetUnfolderBase]: For 101/101 co-relation queries the response was YES. [2025-01-09 16:48:54,368 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2874 conditions, 1464 events. 901/1464 cut-off events. For 101/101 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 6165 event pairs, 398 based on Foata normal form. 0/1234 useless extension candidates. Maximal degree in co-relation 2092. Up to 681 conditions per place. [2025-01-09 16:48:54,371 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 36 selfloop transitions, 10 changer transitions 41/93 dead transitions. [2025-01-09 16:48:54,372 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 93 transitions, 455 flow [2025-01-09 16:48:54,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-09 16:48:54,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-01-09 16:48:54,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 177 transitions. [2025-01-09 16:48:54,373 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.45384615384615384 [2025-01-09 16:48:54,373 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 10 states and 177 transitions. [2025-01-09 16:48:54,373 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 93 transitions, 455 flow [2025-01-09 16:48:54,374 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 93 transitions, 453 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-01-09 16:48:54,400 INFO L231 Difference]: Finished difference. Result has 53 places, 42 transitions, 179 flow [2025-01-09 16:48:54,401 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=121, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=179, PETRI_PLACES=53, PETRI_TRANSITIONS=42} [2025-01-09 16:48:54,401 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 15 predicate places. [2025-01-09 16:48:54,401 INFO L471 AbstractCegarLoop]: Abstraction has has 53 places, 42 transitions, 179 flow [2025-01-09 16:48:54,401 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:54,401 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:54,401 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:54,407 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-01-09 16:48:54,607 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:54,608 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:54,608 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:54,608 INFO L85 PathProgramCache]: Analyzing trace with hash 616723040, now seen corresponding path program 2 times [2025-01-09 16:48:54,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:54,608 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [424978115] [2025-01-09 16:48:54,608 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-09 16:48:54,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:54,623 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:54,632 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 27 of 33 statements. [2025-01-09 16:48:54,632 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-09 16:48:54,632 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:54,700 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-01-09 16:48:54,700 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:54,700 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [424978115] [2025-01-09 16:48:54,700 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [424978115] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:54,700 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:54,700 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 16:48:54,700 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [996235400] [2025-01-09 16:48:54,700 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:54,701 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:48:54,701 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:54,701 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:48:54,701 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:48:54,714 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:54,715 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 42 transitions, 179 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:54,715 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:54,715 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:54,715 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:54,970 INFO L124 PetriNetUnfolderBase]: 1119/1772 cut-off events. [2025-01-09 16:48:54,970 INFO L125 PetriNetUnfolderBase]: For 353/353 co-relation queries the response was YES. [2025-01-09 16:48:54,975 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3773 conditions, 1772 events. 1119/1772 cut-off events. For 353/353 co-relation queries the response was YES. Maximal size of possible extension queue 79. Compared 8504 event pairs, 442 based on Foata normal form. 13/1577 useless extension candidates. Maximal degree in co-relation 3737. Up to 886 conditions per place. [2025-01-09 16:48:54,981 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 64 selfloop transitions, 3 changer transitions 14/87 dead transitions. [2025-01-09 16:48:54,981 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 87 transitions, 465 flow [2025-01-09 16:48:54,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-09 16:48:54,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-01-09 16:48:54,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2025-01-09 16:48:54,983 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6051282051282051 [2025-01-09 16:48:54,983 INFO L175 Difference]: Start difference. First operand has 53 places, 42 transitions, 179 flow. Second operand 5 states and 118 transitions. [2025-01-09 16:48:54,983 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 87 transitions, 465 flow [2025-01-09 16:48:54,990 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 87 transitions, 433 flow, removed 13 selfloop flow, removed 5 redundant places. [2025-01-09 16:48:54,991 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2025-01-09 16:48:54,991 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=177, PETRI_PLACES=50, PETRI_TRANSITIONS=44} [2025-01-09 16:48:54,993 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2025-01-09 16:48:54,994 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2025-01-09 16:48:54,994 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:54,994 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:54,994 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:54,994 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-01-09 16:48:54,994 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:54,994 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:54,994 INFO L85 PathProgramCache]: Analyzing trace with hash -877006102, now seen corresponding path program 3 times [2025-01-09 16:48:54,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:54,994 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2145519963] [2025-01-09 16:48:54,994 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-09 16:48:54,995 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:55,020 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:55,050 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-01-09 16:48:55,050 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-01-09 16:48:55,050 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:55,128 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-01-09 16:48:55,128 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:55,128 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2145519963] [2025-01-09 16:48:55,128 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2145519963] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:55,128 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:55,128 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 16:48:55,129 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2051888482] [2025-01-09 16:48:55,129 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:55,129 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:48:55,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:55,129 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:48:55,129 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:48:55,135 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:55,136 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 44 transitions, 177 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:55,136 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:55,136 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:55,136 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:55,407 INFO L124 PetriNetUnfolderBase]: 1889/3083 cut-off events. [2025-01-09 16:48:55,407 INFO L125 PetriNetUnfolderBase]: For 1712/1712 co-relation queries the response was YES. [2025-01-09 16:48:55,411 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7346 conditions, 3083 events. 1889/3083 cut-off events. For 1712/1712 co-relation queries the response was YES. Maximal size of possible extension queue 125. Compared 16583 event pairs, 746 based on Foata normal form. 14/2859 useless extension candidates. Maximal degree in co-relation 7313. Up to 1492 conditions per place. [2025-01-09 16:48:55,418 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 68 selfloop transitions, 3 changer transitions 13/90 dead transitions. [2025-01-09 16:48:55,418 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 90 transitions, 512 flow [2025-01-09 16:48:55,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-09 16:48:55,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-01-09 16:48:55,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2025-01-09 16:48:55,419 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5794871794871795 [2025-01-09 16:48:55,419 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 113 transitions. [2025-01-09 16:48:55,419 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 90 transitions, 512 flow [2025-01-09 16:48:55,427 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 90 transitions, 490 flow, removed 7 selfloop flow, removed 2 redundant places. [2025-01-09 16:48:55,428 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2025-01-09 16:48:55,428 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=171, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=193, PETRI_PLACES=54, PETRI_TRANSITIONS=46} [2025-01-09 16:48:55,428 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2025-01-09 16:48:55,428 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2025-01-09 16:48:55,429 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:55,429 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:55,429 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:55,429 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-01-09 16:48:55,429 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:55,429 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:55,429 INFO L85 PathProgramCache]: Analyzing trace with hash -294173892, now seen corresponding path program 4 times [2025-01-09 16:48:55,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:55,429 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [930099457] [2025-01-09 16:48:55,429 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-09 16:48:55,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:55,444 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:55,446 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 21 of 33 statements. [2025-01-09 16:48:55,446 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-09 16:48:55,446 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:55,474 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-01-09 16:48:55,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:55,474 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [930099457] [2025-01-09 16:48:55,474 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [930099457] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:55,474 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:55,474 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 16:48:55,474 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [62041401] [2025-01-09 16:48:55,474 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:55,474 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:48:55,475 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:55,475 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:48:55,475 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:48:55,484 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:55,484 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 46 transitions, 193 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:55,484 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:55,484 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:55,485 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:55,889 INFO L124 PetriNetUnfolderBase]: 2519/4029 cut-off events. [2025-01-09 16:48:55,889 INFO L125 PetriNetUnfolderBase]: For 2753/2753 co-relation queries the response was YES. [2025-01-09 16:48:55,894 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10217 conditions, 4029 events. 2519/4029 cut-off events. For 2753/2753 co-relation queries the response was YES. Maximal size of possible extension queue 171. Compared 22572 event pairs, 888 based on Foata normal form. 46/3725 useless extension candidates. Maximal degree in co-relation 10182. Up to 1714 conditions per place. [2025-01-09 16:48:55,904 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 98 selfloop transitions, 16 changer transitions 0/120 dead transitions. [2025-01-09 16:48:55,904 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 120 transitions, 705 flow [2025-01-09 16:48:55,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-01-09 16:48:55,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-01-09 16:48:55,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2025-01-09 16:48:55,905 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5224358974358975 [2025-01-09 16:48:55,905 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 163 transitions. [2025-01-09 16:48:55,905 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 120 transitions, 705 flow [2025-01-09 16:48:55,911 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 120 transitions, 685 flow, removed 3 selfloop flow, removed 2 redundant places. [2025-01-09 16:48:55,912 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2025-01-09 16:48:55,912 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=189, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=301, PETRI_PLACES=61, PETRI_TRANSITIONS=59} [2025-01-09 16:48:55,912 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2025-01-09 16:48:55,912 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2025-01-09 16:48:55,912 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:55,913 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:55,913 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:55,913 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-01-09 16:48:55,913 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:55,913 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:55,913 INFO L85 PathProgramCache]: Analyzing trace with hash -1495924598, now seen corresponding path program 5 times [2025-01-09 16:48:55,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:55,913 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1940227162] [2025-01-09 16:48:55,913 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-09 16:48:55,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:55,923 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:55,933 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-01-09 16:48:55,933 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-09 16:48:55,933 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:56,033 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-09 16:48:56,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:56,033 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1940227162] [2025-01-09 16:48:56,033 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1940227162] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:56,033 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [222041415] [2025-01-09 16:48:56,033 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-09 16:48:56,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:56,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:56,038 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:56,038 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-01-09 16:48:56,096 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:56,130 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-01-09 16:48:56,131 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-09 16:48:56,131 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:56,132 INFO L256 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-09 16:48:56,133 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:56,188 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-09 16:48:56,188 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 16:48:56,243 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-09 16:48:56,243 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [222041415] provided 1 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:56,243 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-01-09 16:48:56,243 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-01-09 16:48:56,243 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [634171045] [2025-01-09 16:48:56,243 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:56,244 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-01-09 16:48:56,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:56,244 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-09 16:48:56,244 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2025-01-09 16:48:56,254 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:56,254 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 flow. Second operand has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:56,254 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:56,254 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:56,254 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:56,484 INFO L124 PetriNetUnfolderBase]: 1473/2440 cut-off events. [2025-01-09 16:48:56,484 INFO L125 PetriNetUnfolderBase]: For 4093/4187 co-relation queries the response was YES. [2025-01-09 16:48:56,489 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6917 conditions, 2440 events. 1473/2440 cut-off events. For 4093/4187 co-relation queries the response was YES. Maximal size of possible extension queue 116. Compared 12903 event pairs, 658 based on Foata normal form. 258/2547 useless extension candidates. Maximal degree in co-relation 6880. Up to 1473 conditions per place. [2025-01-09 16:48:56,496 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 52 selfloop transitions, 9 changer transitions 0/68 dead transitions. [2025-01-09 16:48:56,496 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 68 transitions, 427 flow [2025-01-09 16:48:56,496 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 16:48:56,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 16:48:56,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 105 transitions. [2025-01-09 16:48:56,498 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2025-01-09 16:48:56,498 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 6 states and 105 transitions. [2025-01-09 16:48:56,498 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 68 transitions, 427 flow [2025-01-09 16:48:56,504 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 68 transitions, 417 flow, removed 2 selfloop flow, removed 2 redundant places. [2025-01-09 16:48:56,504 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 267 flow [2025-01-09 16:48:56,505 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=249, PETRI_DIFFERENCE_MINUEND_PLACES=58, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=9, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=267, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-01-09 16:48:56,505 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-01-09 16:48:56,505 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 267 flow [2025-01-09 16:48:56,506 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:56,506 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:56,506 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:56,512 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-01-09 16:48:56,711 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:56,713 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:56,713 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:56,713 INFO L85 PathProgramCache]: Analyzing trace with hash 687205520, now seen corresponding path program 1 times [2025-01-09 16:48:56,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:56,713 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [152004808] [2025-01-09 16:48:56,713 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:56,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:56,725 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-01-09 16:48:56,737 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-01-09 16:48:56,738 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:56,738 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:56,892 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-01-09 16:48:56,892 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:56,892 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [152004808] [2025-01-09 16:48:56,892 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [152004808] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:56,892 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [169445315] [2025-01-09 16:48:56,893 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:56,893 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:56,893 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:56,894 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:56,896 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-01-09 16:48:56,954 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-01-09 16:48:56,980 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-01-09 16:48:56,981 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:56,981 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:56,982 INFO L256 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-09 16:48:56,983 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:57,052 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-01-09 16:48:57,052 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 16:48:57,113 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-01-09 16:48:57,113 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [169445315] provided 1 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:57,113 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-01-09 16:48:57,113 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-01-09 16:48:57,114 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1818823022] [2025-01-09 16:48:57,114 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:57,114 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-01-09 16:48:57,115 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:57,115 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-09 16:48:57,115 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2025-01-09 16:48:57,122 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:57,122 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 54 transitions, 267 flow. Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:57,122 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:57,122 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:57,122 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:57,329 INFO L124 PetriNetUnfolderBase]: 1693/2582 cut-off events. [2025-01-09 16:48:57,329 INFO L125 PetriNetUnfolderBase]: For 3859/3915 co-relation queries the response was YES. [2025-01-09 16:48:57,335 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7692 conditions, 2582 events. 1693/2582 cut-off events. For 3859/3915 co-relation queries the response was YES. Maximal size of possible extension queue 104. Compared 12176 event pairs, 377 based on Foata normal form. 92/2511 useless extension candidates. Maximal degree in co-relation 7652. Up to 1466 conditions per place. [2025-01-09 16:48:57,347 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 63 selfloop transitions, 7 changer transitions 0/76 dead transitions. [2025-01-09 16:48:57,347 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 76 transitions, 523 flow [2025-01-09 16:48:57,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 16:48:57,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 16:48:57,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 98 transitions. [2025-01-09 16:48:57,348 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4188034188034188 [2025-01-09 16:48:57,348 INFO L175 Difference]: Start difference. First operand has 63 places, 54 transitions, 267 flow. Second operand 6 states and 98 transitions. [2025-01-09 16:48:57,348 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 76 transitions, 523 flow [2025-01-09 16:48:57,354 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 76 transitions, 485 flow, removed 5 selfloop flow, removed 5 redundant places. [2025-01-09 16:48:57,355 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 262 flow [2025-01-09 16:48:57,355 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=239, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=53, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=262, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-01-09 16:48:57,356 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-01-09 16:48:57,356 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 262 flow [2025-01-09 16:48:57,356 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:57,356 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:57,356 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:57,363 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2025-01-09 16:48:57,558 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:57,558 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:57,558 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:57,558 INFO L85 PathProgramCache]: Analyzing trace with hash -615114683, now seen corresponding path program 1 times [2025-01-09 16:48:57,558 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:57,558 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707879762] [2025-01-09 16:48:57,558 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:57,559 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:57,570 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-01-09 16:48:57,634 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-01-09 16:48:57,635 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:57,635 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:59,093 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-09 16:48:59,093 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:59,093 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [707879762] [2025-01-09 16:48:59,093 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [707879762] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:59,093 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [487540470] [2025-01-09 16:48:59,093 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:59,093 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:59,093 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:59,095 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:59,109 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-01-09 16:48:59,170 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-01-09 16:48:59,199 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-01-09 16:48:59,199 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:59,199 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:59,204 INFO L256 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 23 conjuncts are in the unsatisfiable core [2025-01-09 16:48:59,206 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:59,739 INFO L349 Elim1Store]: treesize reduction 96, result has 55.8 percent of original size [2025-01-09 16:48:59,741 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 150 treesize of output 171 [2025-01-09 16:49:13,212 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse529 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse23 (select .cse529 c_~C~0.offset)) (.cse188 (+ c_~C~0.offset 8)) (.cse0 (+ c_~C~0.offset 4))) (let ((.cse3 (select .cse529 .cse0)) (.cse245 (div (* c_~minc~0 (- 1)) 2)) (.cse4 (select .cse529 .cse188)) (.cse528 (* .cse23 2))) (let ((.cse48 (+ .cse23 1)) (.cse527 (+ .cse23 c_~minb~0)) (.cse202 (= c_~minc~0 (+ .cse23 c_~mina~0))) (.cse273 (<= c_~minc~0 .cse528)) (.cse43 (= .cse23 c_~mina~0)) (.cse272 (<= (+ .cse528 1) c_~minc~0)) (.cse285 (* 2 .cse4)) (.cse302 (+ c_~minc~0 .cse245)) (.cse429 (+ .cse23 .cse3)) (.cse20 (+ .cse23 .cse4))) (let ((.cse17 (<= .cse20 c_~minc~0)) (.cse22 (<= (+ c_~minc~0 .cse4) .cse429)) (.cse250 (<= .cse4 .cse302)) (.cse226 (= c_~mina~0 .cse4)) (.cse201 (<= .cse285 .cse3)) (.cse249 (= (mod c_~minc~0 2) 0)) (.cse247 (+ .cse245 .cse4)) (.cse50 (= c_~minc~0 .cse528)) (.cse198 (* 2 c_~mina~0)) (.cse21 (or (and .cse202 .cse273) (and .cse43 .cse272))) (.cse19 (= c_~minc~0 .cse527)) (.cse344 (<= c_~mina~0 .cse23)) (.cse18 (= .cse4 c_~minb~0)) (.cse53 (<= (* 2 c_~minb~0) .cse3)) (.cse203 (= c_~mina~0 c_~minb~0)) (.cse51 (<= .cse48 c_~minb~0)) (.cse54 (<= .cse527 c_~minc~0)) (.cse8 (+ c_~minc~0 1))) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse1 (select .cse5 ~A~0.offset)) (.cse2 (select .cse5 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse1) (<= (+ .cse2 .cse1) c_~minc~0) (<= (+ .cse1 1) .cse2) (<= (* 2 .cse2) .cse3) (= .cse2 c_~minb~0) (= .cse2 .cse4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse9 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse6 (select .cse9 ~A~0.offset)) (.cse7 (select .cse9 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse6) (<= (+ .cse6 1) .cse7) (<= (* 2 .cse7) .cse3) (<= .cse8 (+ .cse7 .cse6)) (= c_~minc~0 (+ .cse6 c_~minb~0)) (= .cse7 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse10 (+ ~A~0.offset 4))) (let ((.cse13 (select .cse16 .cse10)) (.cse12 (select .cse16 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse15 (+ ~B~0.offset 4))) (and (not (= .cse10 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse14 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse11 (select .cse14 .cse15))) (and (= .cse11 c_~minb~0) (<= (+ .cse11 .cse12) c_~minc~0) (<= (+ .cse13 .cse11) .cse3) (= c_~minc~0 (+ (select .cse14 ~B~0.offset) .cse12)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse15))))) (= c_~mina~0 .cse13) (<= .cse13 .cse12))))) (and (or (and .cse17 .cse18) (and .cse19 (<= .cse8 .cse20))) .cse21 .cse22) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse26 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse26 ~A~0.offset)) (.cse25 (select .cse26 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse24)) (= c_~mina~0 .cse24) (<= (+ .cse25 c_~minb~0) .cse3) (<= (+ .cse24 c_~minb~0) c_~minc~0) (<= (+ .cse24 1) .cse25))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse29 (select .cse32 (+ ~A~0.offset 4))) (.cse28 (select .cse32 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse31 (select |c_#memory_int#1| ~B~0.base)) (.cse30 (+ ~B~0.offset 4))) (let ((.cse27 (select .cse31 .cse30))) (and (<= .cse8 (+ .cse27 .cse28)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse29 .cse27) .cse3) (not (= ~A~0.offset .cse30)) (= c_~minc~0 (+ (select .cse31 ~B~0.offset) .cse28)))))) (= c_~mina~0 .cse29) (<= .cse29 .cse28) (= c_~minc~0 (+ .cse28 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse33 (select .cse37 (+ ~A~0.offset 4))) (.cse34 (select .cse37 ~A~0.offset))) (and (= c_~minc~0 (+ .cse33 .cse34)) (= c_~mina~0 .cse33) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse36 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse35 (select .cse36 (+ ~B~0.offset 4)))) (and (= .cse35 c_~minb~0) (= .cse35 .cse34) (<= (+ .cse35 .cse34) c_~minc~0) (<= (+ .cse33 .cse35) .cse3) (= c_~minc~0 (+ (select .cse36 ~B~0.offset) .cse34)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse33 .cse34))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse42 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse39 (select .cse42 (+ ~A~0.offset 4))) (.cse38 (select .cse42 ~A~0.offset))) (and (= c_~mina~0 .cse38) (<= (+ .cse38 1) .cse39) (<= (* 2 .cse39) .cse3) (exists ((~B~0.offset Int)) (let ((.cse41 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse40 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse39 (select .cse40 .cse41)) (= c_~minc~0 (+ (select .cse40 ~B~0.offset) .cse38))))) (not (= ~A~0.offset .cse41))))) (<= .cse8 (+ .cse39 .cse38)) (= c_~minc~0 (+ .cse38 c_~minb~0)))))) (and .cse43 (let ((.cse49 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse63 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse62 (select .cse63 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse62 1) .cse3) (= .cse62 c_~minb~0) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse62) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse45 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse44 (select .cse45 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse44 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse44)) (= c_~minc~0 (+ (select .cse45 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse47 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse46 (select .cse47 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse23 .cse46)) (= c_~minc~0 (+ (select .cse47 ~B~0.offset) .cse23)) (<= (* 2 .cse46) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse48 .cse46) (not (= ~B~0.offset .cse0))))))) .cse49 (and .cse49 .cse50) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse52 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse53 .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse56 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse55 (select .cse56 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse55 1) .cse3) (<= .cse8 (+ .cse23 .cse55)) (= c_~minc~0 (+ (select .cse56 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse58 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse57 (select .cse58 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse57 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (= .cse57 c_~minb~0) (= c_~minc~0 (+ (select .cse58 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse57) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse51 .cse53 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse59 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse59 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse59 ~B~0.offset) .cse23)) (not (= ~B~0.offset .cse0))))) .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse61 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse60 (select .cse61 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse60)) (= c_~minc~0 (+ (select .cse61 ~B~0.offset) .cse23)) (<= (* 2 .cse60) .cse3) (<= .cse48 .cse60) (not (= ~B~0.offset .cse0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse65 (select .cse68 ~A~0.offset)) (.cse64 (select .cse68 (+ ~A~0.offset 4)))) (and (<= (+ .cse64 .cse65) c_~minc~0) (= c_~mina~0 .cse64) (<= (* 2 .cse64) .cse3) (<= .cse64 .cse65) (exists ((~B~0.offset Int)) (let ((.cse67 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse64 (select .cse66 .cse67)) (= c_~minc~0 (+ (select .cse66 ~B~0.offset) .cse65))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse67))))) (= .cse64 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse70 (+ ~A~0.offset 4)) (.cse75 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse69 (select .cse75 ~A~0.offset)) (.cse72 (select .cse75 .cse70))) (and (= c_~mina~0 .cse69) (exists ((~B~0.offset Int)) (let ((.cse74 (+ ~B~0.offset 4))) (and (not (= .cse70 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse73 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse71 (select .cse73 .cse74))) (and (= .cse71 c_~minb~0) (<= (+ .cse71 .cse69) c_~minc~0) (<= (+ .cse72 .cse71) .cse3) (= c_~minc~0 (+ (select .cse73 ~B~0.offset) .cse69)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse74))))) (<= (+ .cse69 1) .cse72))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (+ ~A~0.offset 4)) (.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse76 (select .cse81 ~A~0.offset)) (.cse77 (select .cse81 .cse78))) (and (= c_~mina~0 .cse76) (<= (+ .cse77 .cse76) c_~minc~0) (<= (+ .cse76 1) .cse77) (exists ((~B~0.offset Int)) (let ((.cse80 (+ ~B~0.offset 4))) (and (not (= .cse78 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse79 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse77 (select .cse79 .cse80)) (= c_~minc~0 (+ (select .cse79 ~B~0.offset) .cse76))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse80))))) (<= (* 2 .cse77) .cse3) (= .cse77 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse86 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse83 (select .cse86 (+ ~A~0.offset 4))) (.cse82 (select .cse86 ~A~0.offset))) (and (= c_~mina~0 .cse82) (<= (+ .cse82 1) .cse83) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse84 (select .cse85 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse84 .cse82)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse83 .cse84) .cse3) (= c_~minc~0 (+ (select .cse85 ~B~0.offset) .cse82)))))) (= c_~minc~0 (+ .cse82 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse89 (+ ~A~0.offset 4))) (.cse87 (select .cse89 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse87)) (<= (+ .cse88 .cse4) .cse3) (= c_~mina~0 .cse88) (<= .cse88 .cse87) (= c_~minc~0 (+ .cse87 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse91 (+ ~A~0.offset 4)) (.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse94 (select .cse95 ~A~0.offset)) (.cse90 (select .cse95 .cse91))) (and (= c_~mina~0 .cse90) (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (not (= .cse91 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse90 (select .cse92 .cse93)) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~A~0.offset .cse93))))) (<= (* 2 .cse90) .cse3) (<= .cse90 .cse94) (= c_~minc~0 (* 2 .cse94)) (= .cse90 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse101 (select |c_#memory_int#1| ~A~0.base)) (.cse98 (+ ~A~0.offset 4))) (let ((.cse97 (select .cse101 .cse98)) (.cse96 (select .cse101 ~A~0.offset))) (and (= c_~mina~0 .cse96) (<= (+ .cse96 1) .cse97) (exists ((~B~0.offset Int)) (let ((.cse100 (+ ~B~0.offset 4))) (and (not (= .cse98 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse99 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse97 (select .cse99 .cse100)) (= c_~minc~0 (+ (select .cse99 ~B~0.offset) .cse96))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse100))))) (<= (* 2 .cse97) .cse3) (<= .cse8 (+ .cse97 .cse96)) (= c_~minc~0 (+ .cse96 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse103 (select .cse104 ~A~0.offset)) (.cse102 (select .cse104 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse102) (<= (* 2 .cse102) .cse3) (<= .cse8 (+ .cse102 .cse103)) (<= .cse102 .cse103) (= c_~minc~0 (+ .cse103 c_~minb~0)) (= .cse102 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse105 (select .cse110 ~A~0.offset)) (.cse107 (select .cse110 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse105) (exists ((~B~0.offset Int)) (let ((.cse109 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse108 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse106 (select .cse108 .cse109))) (and (= .cse106 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse106 .cse105) c_~minc~0) (<= (+ .cse107 .cse106) .cse3) (= c_~minc~0 (+ (select .cse108 ~B~0.offset) .cse105)))))) (not (= ~A~0.offset .cse109))))) (<= (+ .cse105 1) .cse107))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse113 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse112 (select .cse113 (+ ~A~0.offset 4))) (.cse111 (select .cse113 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse111)) (<= (+ .cse112 .cse4) .cse3) (= c_~mina~0 .cse112) (<= .cse112 .cse111) (= c_~minc~0 (+ .cse111 c_~minb~0)) (= c_~minc~0 (* 2 .cse111)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse114 (select .cse116 (+ ~A~0.offset 4))) (.cse115 (select .cse116 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse114 .cse4) .cse3) (= c_~mina~0 .cse114) (<= .cse114 .cse115) (= c_~minc~0 (* 2 .cse115)) (<= (+ .cse4 .cse115) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse119 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse117 (select .cse119 (+ ~A~0.offset 4))) (.cse118 (select .cse119 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse117 .cse4) .cse3) (= c_~mina~0 .cse117) (<= .cse117 .cse118) (<= (+ .cse4 .cse118) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse122 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse121 (select .cse122 ~A~0.offset)) (.cse120 (select .cse122 (+ ~A~0.offset 4)))) (and (<= (+ .cse120 .cse121) c_~minc~0) (= c_~mina~0 .cse120) (<= (* 2 .cse120) .cse3) (<= .cse120 .cse121) (= .cse120 c_~minb~0) (= .cse120 .cse4))))) (not (= ~A~0.offset .cse0)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse127 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse123 (select .cse127 ~A~0.offset)) (.cse124 (select .cse127 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse123) (= c_~minc~0 (+ .cse124 .cse123)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse126 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse125 (select .cse126 (+ ~B~0.offset 4)))) (and (= .cse125 c_~minb~0) (= .cse125 .cse123) (<= (+ .cse124 .cse125) .cse3) (= c_~minc~0 (+ (select .cse126 ~B~0.offset) .cse123)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse123 1) .cse124))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse130 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse129 (select .cse130 (+ ~A~0.offset 4))) (.cse128 (select .cse130 ~A~0.offset))) (and (= c_~mina~0 .cse128) (<= .cse8 (+ .cse4 .cse128)) (<= (+ .cse129 .cse4) .cse3) (<= (+ .cse128 1) .cse129) (= c_~minc~0 (+ .cse128 c_~minb~0)) (= c_~minc~0 (* 2 .cse128)))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse133 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse132 (select .cse133 ~A~0.offset)) (.cse131 (select .cse133 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse131) (<= (* 2 .cse131) .cse3) (<= .cse8 (+ .cse131 .cse132)) (<= .cse131 .cse132) (= c_~minc~0 (+ .cse132 c_~minb~0)) (= .cse131 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse138 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse135 (select .cse138 (+ ~A~0.offset 4))) (.cse134 (select .cse138 ~A~0.offset))) (and (= c_~mina~0 .cse134) (<= (+ .cse134 1) .cse135) (<= (* 2 .cse135) .cse3) (<= .cse8 (+ .cse135 .cse134)) (= c_~minc~0 (+ .cse134 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse137 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse136 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse135 (select .cse136 .cse137)) (= c_~minc~0 (+ (select .cse136 ~B~0.offset) .cse134))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse137))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse143 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse139 (select .cse143 (+ ~A~0.offset 4))) (.cse142 (select .cse143 ~A~0.offset))) (and (= c_~mina~0 .cse139) (<= (* 2 .cse139) .cse3) (exists ((~B~0.offset Int)) (let ((.cse141 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse139 (select .cse140 .cse141)) (= c_~minc~0 (+ (select .cse140 ~B~0.offset) .cse142))))) (not (= ~A~0.offset .cse141))))) (<= .cse8 (+ .cse139 .cse142)) (<= .cse139 .cse142) (= c_~minc~0 (+ .cse142 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse144 (select .cse148 ~A~0.offset)) (.cse146 (select .cse148 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse144) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse147 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse145 (select .cse147 (+ ~B~0.offset 4)))) (and (= .cse145 c_~minb~0) (<= (+ .cse145 .cse144) c_~minc~0) (<= (+ .cse146 .cse145) .cse3) (= c_~minc~0 (+ (select .cse147 ~B~0.offset) .cse144)))))) (not (= ~A~0.base ~B~0.base)))) (<= (+ .cse144 1) .cse146))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse151 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse150 (select .cse151 ~A~0.offset)) (.cse149 (select .cse151 (+ ~A~0.offset 4)))) (and (<= (+ .cse149 .cse150) c_~minc~0) (= c_~mina~0 .cse149) (<= (* 2 .cse149) .cse3) (<= .cse149 .cse150) (= .cse149 c_~minb~0) (= .cse149 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse156 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse154 (select .cse156 (+ ~A~0.offset 4))) (.cse153 (select .cse156 ~A~0.offset))) (and (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse155 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse152 (select .cse155 (+ ~B~0.offset 4)))) (and (= .cse152 c_~minb~0) (<= (+ .cse152 .cse153) c_~minc~0) (<= (+ .cse154 .cse152) .cse3) (= c_~minc~0 (+ (select .cse155 ~B~0.offset) .cse153)))))) (not (= ~A~0.base ~B~0.base)))) (= c_~mina~0 .cse154) (<= .cse154 .cse153))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse162 (select |c_#memory_int#1| ~A~0.base)) (.cse158 (+ ~A~0.offset 4))) (let ((.cse157 (select .cse162 .cse158)) (.cse161 (select .cse162 ~A~0.offset))) (and (= c_~mina~0 .cse157) (exists ((~B~0.offset Int)) (let ((.cse160 (+ ~B~0.offset 4))) (and (not (= .cse158 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse159 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse157 (select .cse159 .cse160)) (= c_~minc~0 (+ (select .cse159 ~B~0.offset) .cse161))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse160))))) (<= (* 2 .cse157) .cse3) (<= .cse8 (+ .cse157 .cse161)) (<= .cse157 .cse161) (= c_~minc~0 (+ .cse161 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse164 (select .cse165 (+ ~A~0.offset 4))) (.cse163 (select .cse165 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse163)) (<= (* 2 .cse163) c_~minc~0) (<= (+ .cse164 .cse163) .cse3) (= c_~mina~0 .cse164) (= .cse163 c_~minb~0) (<= .cse164 .cse163))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse171 (select |c_#memory_int#1| ~A~0.base)) (.cse168 (+ ~A~0.offset 4))) (let ((.cse167 (select .cse171 .cse168)) (.cse166 (select .cse171 ~A~0.offset))) (and (= c_~mina~0 .cse166) (<= (+ .cse166 1) .cse167) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse169 (select .cse170 (+ ~B~0.offset 4)))) (and (not (= .cse168 ~B~0.offset)) (<= .cse8 (+ .cse169 .cse166)) (= .cse169 .cse166) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse167 .cse169) .cse3) (= c_~minc~0 (+ (select .cse170 ~B~0.offset) .cse166)))))) (= c_~minc~0 (+ .cse166 c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse173 (select .cse174 (+ ~A~0.offset 4))) (.cse172 (select .cse174 ~A~0.offset))) (and (= c_~mina~0 .cse172) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse173 .cse4) .cse3) (<= (+ .cse172 1) .cse173) (<= (+ .cse4 .cse172) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse175 (select .cse177 (+ ~A~0.offset 4))) (.cse176 (select .cse177 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse175 .cse4) .cse3) (= c_~mina~0 .cse175) (<= .cse175 .cse176) (<= (+ .cse4 .cse176) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse182 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse180 (select .cse182 (+ ~A~0.offset 4))) (.cse179 (select .cse182 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse181 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse178 (select .cse181 (+ ~B~0.offset 4)))) (and (= .cse178 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse178 .cse179) (<= (+ .cse178 .cse179) c_~minc~0) (<= (+ .cse180 .cse178) .cse3) (= c_~minc~0 (+ (select .cse181 ~B~0.offset) .cse179)))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse180) (<= .cse180 .cse179))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse185 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse184 (select .cse185 (+ ~A~0.offset 4))) (.cse183 (select .cse185 ~A~0.offset))) (and (= c_~mina~0 .cse183) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse184 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (<= (+ .cse183 1) .cse184) (<= (+ .cse4 .cse183) c_~minc~0))))) .cse18) (and (<= (+ c_~mina~0 1) .cse4) (let ((.cse200 (+ c_~mina~0 .cse4))) (let ((.cse193 (= c_~minc~0 .cse200)) (.cse186 (= c_~minc~0 (+ c_~mina~0 c_~minb~0)))) (or (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse187 (select .cse189 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse187)) (= c_~mina~0 .cse187) (not (= .cse188 ~B~0.offset)) (= c_~minc~0 (+ (select .cse189 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse187) .cse3) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse190 (select .cse191 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse190 c_~minb~0) (<= (+ c_~mina~0 .cse190) c_~minc~0) (= c_~minc~0 (+ (select .cse191 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse190) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (let ((.cse194 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse199 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse199 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse199 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)))))) (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse192 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse192 ~B~0.offset) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse193) .cse194 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse195 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse195 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse195 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse196 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse196 ~B~0.offset) c_~mina~0))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (or .cse194 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse197 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse197 ~B~0.offset) c_~mina~0))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse198)))) (or (and (<= .cse8 .cse200) .cse186) (and (<= .cse200 c_~minc~0) .cse18)) .cse201) (and .cse202 (<= .cse200 .cse3) (or (and (<= .cse8 .cse198) .cse186) (and (<= .cse198 c_~minc~0) .cse203))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse205 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse204 (select .cse205 (+ ~B~0.offset 4)))) (and (= .cse204 c_~minb~0) (<= (+ c_~mina~0 .cse204) c_~minc~0) (= c_~minc~0 (+ (select .cse205 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse204) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse207 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse206 (select .cse207 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse206)) (= c_~minc~0 (+ (select .cse207 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse206) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse209 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse208 (select .cse209 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse208) (= .cse208 c_~minb~0) (= c_~minc~0 (+ (select .cse209 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse208) .cse3))))) (not (= ~B~0.offset .cse0))))) .cse193) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse211 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse210 (select .cse211 (+ ~B~0.offset 4)))) (and (= .cse210 c_~minb~0) (<= (+ c_~mina~0 .cse210) c_~minc~0) (= c_~minc~0 (+ (select .cse211 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse210) .cse3))))))) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse212 (select .cse213 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse212)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse213 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse212) .cse3)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse215 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse214 (select .cse215 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse214)) (not (= .cse188 ~B~0.offset)) (= c_~minc~0 (+ (select .cse215 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse214) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse186) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse216 (select .cse217 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse216)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse217 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse216) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse186 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse219 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse218 (select .cse219 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse218)) (= c_~mina~0 .cse218) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse219 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse218) .cse3) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse220 (select .cse221 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse220) (not (= c_~C~0.base ~B~0.base)) (= .cse220 c_~minb~0) (<= (+ c_~mina~0 .cse220) c_~minc~0) (= c_~minc~0 (+ (select .cse221 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse220) .cse3))))) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse222 (select .cse223 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse222) (= .cse222 c_~minb~0) (<= (+ c_~mina~0 .cse222) c_~minc~0) (= c_~minc~0 (+ (select .cse223 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse222) .cse3))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse225 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse224 (select .cse225 (+ ~B~0.offset 4)))) (and (= .cse224 c_~minb~0) (<= (+ c_~mina~0 .cse224) c_~minc~0) (= c_~minc~0 (+ (select .cse225 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse224) .cse3))))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (and .cse226 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse227 (select .cse229 ~B~0.offset)) (.cse228 (select .cse229 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse227 1) .cse228) (= .cse227 c_~minb~0) (<= (+ .cse227 .cse4) c_~minc~0) (<= (+ .cse4 .cse228) .cse3))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse230 (select .cse232 ~B~0.offset)) (.cse231 (select .cse232 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse230 1) .cse231) (= .cse230 c_~minb~0) (<= (+ .cse230 .cse4) c_~minc~0) (<= (+ .cse4 .cse231) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (and (or (and (<= (+ .cse4 c_~minb~0) c_~minc~0) (<= (+ c_~minb~0 1) .cse4) (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse233 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse233 (+ ~B~0.offset 4))) (= (select .cse233 ~B~0.offset) c_~minb~0)))) (not (= .cse188 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse234 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse234 (+ ~B~0.offset 4))) (= (select .cse234 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse235 (+ ~B~0.offset 4))) (= (select .cse235 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse236 (select .cse237 ~B~0.offset))) (and (<= .cse4 .cse236) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse237 (+ ~B~0.offset 4))) (<= (+ .cse236 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse239 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse238 (select .cse239 ~B~0.offset))) (and (<= .cse4 .cse238) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse239 (+ ~B~0.offset 4))) (<= (+ .cse238 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse241 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse240 (select .cse241 ~B~0.offset))) (and (= .cse240 .cse4) (= .cse4 (select .cse241 (+ ~B~0.offset 4))) (<= (+ .cse240 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse242 (select .cse243 ~B~0.offset))) (and (<= .cse4 .cse242) (= .cse4 (select .cse243 (+ ~B~0.offset 4))) (not (= .cse188 ~B~0.offset)) (<= (+ .cse242 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ (select .cse244 ~B~0.offset) .cse245) 0) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse244 (+ ~B~0.offset 4)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (not (= .cse188 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse246 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ (select .cse246 ~B~0.offset) .cse245) 0) (= .cse4 (select .cse246 (+ ~B~0.offset 4)))))) (not (= ~B~0.offset c_~C~0.offset)))) (and (= .cse247 0) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse248 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ (select .cse248 ~B~0.offset) .cse245) 0) (= .cse4 (select .cse248 (+ ~B~0.offset 4))) (not (= ~B~0.offset c_~C~0.offset))))))) .cse249 .cse250)) .cse18)) .cse201) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse252 (select .cse253 ~B~0.offset)) (.cse251 (select .cse253 (+ ~B~0.offset 4)))) (and (= .cse251 c_~minb~0) (not (= .cse188 ~B~0.offset)) (<= .cse251 .cse252) (<= (+ .cse252 .cse4) c_~minc~0) (<= (+ .cse4 .cse251) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse254 (select .cse256 ~B~0.offset)) (.cse255 (select .cse256 (+ ~B~0.offset 4)))) (and (<= (+ .cse254 1) .cse255) (= c_~minc~0 (+ .cse254 .cse255)) (not (= .cse188 ~B~0.offset)) (= .cse254 c_~minb~0) (<= (+ .cse254 .cse4) c_~minc~0) (<= (+ .cse4 .cse255) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse257 (select .cse259 ~B~0.offset)) (.cse258 (select .cse259 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse257 1) .cse258) (= c_~minc~0 (+ .cse257 .cse258)) (= .cse257 c_~minb~0) (<= (+ .cse257 .cse4) c_~minc~0) (<= (+ .cse4 .cse258) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse261 (select .cse262 ~B~0.offset)) (.cse260 (select .cse262 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse260 c_~minb~0) (= c_~minc~0 (+ .cse261 .cse260)) (<= .cse260 .cse261) (<= (+ .cse261 .cse4) c_~minc~0) (<= (+ .cse4 .cse260) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse263 (select .cse265 ~B~0.offset)) (.cse264 (select .cse265 (+ ~B~0.offset 4)))) (and (<= (+ .cse263 1) .cse264) (not (= .cse188 ~B~0.offset)) (= .cse263 c_~minb~0) (<= (+ .cse263 .cse4) c_~minc~0) (<= (+ .cse4 .cse264) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse268 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse267 (select .cse268 ~B~0.offset)) (.cse266 (select .cse268 (+ ~B~0.offset 4)))) (and (= .cse266 c_~minb~0) (= c_~minc~0 (+ .cse267 .cse266)) (not (= .cse188 ~B~0.offset)) (<= .cse266 .cse267) (<= (+ .cse267 .cse4) c_~minc~0) (<= (+ .cse4 .cse266) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse270 (select .cse271 ~B~0.offset)) (.cse269 (select .cse271 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse269 c_~minb~0) (<= .cse269 .cse270) (<= (+ .cse270 .cse4) c_~minc~0) (<= (+ .cse4 .cse269) .cse3))))) (and .cse17 (or (and (= .cse23 c_~minb~0) .cse272) (and .cse19 .cse273)) .cse22) (and (let ((.cse279 (+ .cse4 1))) (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse275 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse274 (select .cse275 (+ ~B~0.offset 4)))) (and (= .cse274 c_~minb~0) (<= .cse274 .cse4) (= (select .cse275 ~B~0.offset) .cse4) (<= (+ .cse4 .cse274) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse277 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse276 (select .cse277 (+ ~B~0.offset 4)))) (let ((.cse278 (+ .cse4 .cse276))) (and (= .cse276 c_~minb~0) (<= .cse276 .cse4) (= (select .cse277 ~B~0.offset) .cse4) (<= .cse278 .cse3) (= c_~minc~0 .cse278)))))) (not (= ~B~0.offset .cse0)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse280 (select .cse281 (+ ~B~0.offset 4)))) (and (<= .cse279 .cse280) (= (select .cse281 ~B~0.offset) .cse4) (<= (+ .cse4 .cse280) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse283 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse282 (select .cse283 (+ ~B~0.offset 4)))) (let ((.cse284 (+ .cse4 .cse282))) (and (<= .cse279 .cse282) (= (select .cse283 ~B~0.offset) .cse4) (<= .cse284 .cse3) (= c_~minc~0 .cse284) (not (= ~B~0.offset .cse0))))))) .cse18))) (<= .cse285 c_~minc~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse288 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse287 (select .cse288 ~B~0.offset)) (.cse286 (select .cse288 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse286 c_~minb~0) (<= .cse286 .cse287) (<= (+ .cse287 .cse4) c_~minc~0) (<= (+ .cse4 .cse286) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse295 (select |c_#memory_int#1| ~A~0.base)) (.cse290 (+ ~A~0.offset 4))) (let ((.cse292 (select .cse295 .cse290)) (.cse289 (select .cse295 ~A~0.offset))) (and (= c_~mina~0 .cse289) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse294 (select |c_#memory_int#1| ~B~0.base)) (.cse293 (+ ~B~0.offset 4))) (let ((.cse291 (select .cse294 .cse293))) (and (not (= .cse290 ~B~0.offset)) (<= .cse8 (+ .cse291 .cse289)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse292 .cse291) .cse3) (not (= ~A~0.offset .cse293)) (= c_~minc~0 (+ (select .cse294 ~B~0.offset) .cse289)))))) (<= (+ .cse289 1) .cse292) (= c_~minc~0 (+ .cse289 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse301 (select |c_#memory_int#1| ~A~0.base)) (.cse298 (+ ~A~0.offset 4))) (let ((.cse297 (select .cse301 .cse298)) (.cse296 (select .cse301 ~A~0.offset))) (and (= c_~mina~0 .cse296) (<= (+ .cse296 1) .cse297) (exists ((~B~0.offset Int)) (and (not (= .cse298 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse300 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse299 (select .cse300 (+ ~B~0.offset 4)))) (and (= .cse299 c_~minb~0) (= .cse299 .cse296) (<= (+ .cse299 .cse296) c_~minc~0) (<= (+ .cse297 .cse299) .cse3) (= c_~minc~0 (+ (select .cse300 ~B~0.offset) .cse296)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (or (and (= c_~mina~0 .cse302) (<= (+ c_~minc~0 .cse245 1) .cse4)) (and .cse250 .cse226)) .cse201 .cse249 (or (and (<= .cse247 0) .cse18) (and (<= 1 .cse247) (= (+ .cse245 c_~minb~0) 0)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse303 (select .cse305 ~A~0.offset)) (.cse304 (select .cse305 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse303)) (= c_~mina~0 .cse303) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse304 c_~minb~0) .cse3) (<= (+ .cse303 c_~minb~0) c_~minc~0) (<= (+ .cse303 1) .cse304))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse311 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse311 (+ ~A~0.offset 4))) (.cse307 (select .cse311 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse310 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse306 (select .cse309 .cse310))) (and (= .cse306 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse306 .cse307) c_~minc~0) (<= (+ .cse308 .cse306) .cse3) (= c_~minc~0 (+ (select .cse309 ~B~0.offset) .cse307)))))) (not (= ~A~0.offset .cse310))))) (= c_~mina~0 .cse308) (<= .cse308 .cse307))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse314 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse312 (select .cse314 ~A~0.offset)) (.cse313 (select .cse314 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse312) (<= (+ .cse312 1) .cse313) (<= (* 2 .cse313) .cse3) (<= .cse8 (+ .cse313 .cse312)) (= c_~minc~0 (+ .cse312 c_~minb~0)) (= .cse313 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse319 (+ ~A~0.offset 4))) (.cse315 (select .cse319 ~A~0.offset))) (and (= c_~mina~0 .cse315) (<= (+ .cse315 1) .cse316) (<= (* 2 .cse316) .cse3) (exists ((~B~0.offset Int)) (let ((.cse318 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse317 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse316 (select .cse317 .cse318)) (= c_~minc~0 (+ (select .cse317 ~B~0.offset) .cse315))))) (not (= ~A~0.offset .cse318))))) (= c_~minc~0 (+ .cse315 c_~minb~0)) (= c_~minc~0 (* 2 .cse315)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse321 (select .cse325 (+ ~A~0.offset 4))) (.cse320 (select .cse325 ~A~0.offset))) (and (= c_~mina~0 .cse320) (= c_~minc~0 (+ .cse321 .cse320)) (<= (+ .cse320 1) .cse321) (exists ((~B~0.offset Int)) (let ((.cse324 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse323 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse322 (select .cse323 .cse324))) (and (= .cse322 c_~minb~0) (<= (+ .cse322 .cse320) c_~minc~0) (<= (+ .cse321 .cse322) .cse3) (= c_~minc~0 (+ (select .cse323 ~B~0.offset) .cse320)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse324))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse330 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse329 (select .cse330 ~A~0.offset)) (.cse326 (select .cse330 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse326) (<= (* 2 .cse326) .cse3) (exists ((~B~0.offset Int)) (let ((.cse328 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse327 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse326 (select .cse327 .cse328)) (= c_~minc~0 (+ (select .cse327 ~B~0.offset) .cse329))))) (not (= ~A~0.offset .cse328))))) (<= .cse326 .cse329) (= c_~minc~0 (* 2 .cse329)) (= .cse326 c_~minb~0))))) (and .cse19 (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse332 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse331 (select .cse332 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse331) (<= .cse8 (+ .cse23 .cse331)) (<= .cse331 .cse23) (= c_~minc~0 (+ (select .cse332 ~B~0.offset) .cse23)) (<= (* 2 .cse331) .cse3))))))) (and .cse43 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse334 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse333 (select .cse334 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse333)) (= c_~minc~0 (+ (select .cse334 ~B~0.offset) .cse23)) (<= (* 2 .cse333) .cse3) (<= .cse48 .cse333)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse339 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse335 (select .cse339 (+ ~A~0.offset 4))) (.cse336 (select .cse339 ~A~0.offset))) (and (= c_~mina~0 .cse335) (<= .cse335 .cse336) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse337 (select .cse338 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse337 .cse336)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse335 .cse337) .cse3) (= c_~minc~0 (+ (select .cse338 ~B~0.offset) .cse336)))))) (= c_~minc~0 (+ .cse336 c_~minb~0)))))) (and (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse340 (select .cse341 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse340) .cse3) (<= .cse8 (+ .cse23 .cse340)) (= c_~minc~0 (+ (select .cse341 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse343 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse342 (select .cse343 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse342) .cse3) (= .cse342 c_~minb~0) (= c_~minc~0 (+ (select .cse343 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse342) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse50 (<= .cse198 .cse3) .cse203)) .cse344) (and .cse43 (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse346 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse345 (select .cse346 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse345 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse345)) (= c_~minc~0 (+ (select .cse346 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse348 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse347 (select .cse348 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse347 1) .cse3) (= .cse347 c_~minb~0) (= c_~minc~0 (+ (select .cse348 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse347) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse350 (select .cse353 ~A~0.offset)) (.cse349 (select .cse353 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse349 .cse350)) (= c_~mina~0 .cse349) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse352 (+ ~B~0.offset 4)) (.cse351 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse349 (select .cse351 .cse352)) (not (= ~A~0.offset .cse352)) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse350))))) (<= (* 2 .cse349) .cse3) (= c_~minc~0 (* 2 .cse350)) (= .cse349 c_~minb~0))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse354 (select .cse356 (+ ~A~0.offset 4))) (.cse355 (select .cse356 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse354 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (= c_~mina~0 .cse354) (<= .cse354 .cse355) (<= (+ .cse4 .cse355) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse357 (select .cse361 (+ ~A~0.offset 4))) (.cse358 (select .cse361 ~A~0.offset))) (and (= c_~mina~0 .cse357) (<= (* 2 .cse357) .cse3) (<= .cse8 (+ .cse357 .cse358)) (<= .cse357 .cse358) (= c_~minc~0 (+ .cse358 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse360 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse359 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse357 (select .cse359 .cse360)) (= c_~minc~0 (+ (select .cse359 ~B~0.offset) .cse358))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse360))))))))) (and (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse363 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse362 (select .cse363 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse362) .cse3) (= .cse362 c_~minb~0) (= c_~minc~0 (+ (select .cse363 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse362) c_~minc~0))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse365 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse364 (select .cse365 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse364) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse364)) (= c_~minc~0 (+ (select .cse365 ~B~0.offset) .cse23)))))) .cse19)) .cse344) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse366 (select .cse368 ~A~0.offset)) (.cse367 (select .cse368 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse366) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse367 .cse366) c_~minc~0) (<= (+ .cse366 1) .cse367) (<= (* 2 .cse367) .cse3) (= .cse367 c_~minb~0) (= .cse367 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~A~0.base)) (.cse370 (+ ~A~0.offset 4))) (let ((.cse371 (select .cse374 .cse370)) (.cse369 (select .cse374 ~A~0.offset))) (and (= c_~mina~0 .cse369) (exists ((~B~0.offset Int)) (let ((.cse373 (+ ~B~0.offset 4))) (and (not (= .cse370 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse372 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse371 (select .cse372 .cse373)) (= c_~minc~0 (+ (select .cse372 ~B~0.offset) .cse369))))) (not (= ~A~0.offset .cse373))))) (<= (+ .cse369 1) .cse371) (<= (* 2 .cse371) .cse3) (= c_~minc~0 (+ .cse369 c_~minb~0)) (= c_~minc~0 (* 2 .cse369)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse380 (select |c_#memory_int#1| ~A~0.base)) (.cse376 (+ ~A~0.offset 4))) (let ((.cse375 (select .cse380 .cse376)) (.cse378 (select .cse380 ~A~0.offset))) (and (= c_~mina~0 .cse375) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse379 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse377 (select .cse379 (+ ~B~0.offset 4)))) (and (not (= .cse376 ~B~0.offset)) (<= .cse8 (+ .cse377 .cse378)) (= .cse377 .cse378) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse375 .cse377) .cse3) (= c_~minc~0 (+ (select .cse379 ~B~0.offset) .cse378)))))) (<= .cse375 .cse378) (= c_~minc~0 (+ .cse378 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse383 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse382 (select .cse383 (+ ~A~0.offset 4))) (.cse381 (select .cse383 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse381)) (<= (+ .cse382 .cse4) .cse3) (= c_~mina~0 .cse382) (<= .cse382 .cse381) (= c_~minc~0 (+ .cse381 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse388 ~A~0.offset)) (.cse386 (select .cse388 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse384) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse387 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse385 (select .cse387 (+ ~B~0.offset 4)))) (and (= .cse385 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse385 .cse384) (<= (+ .cse385 .cse384) c_~minc~0) (<= (+ .cse386 .cse385) .cse3) (= c_~minc~0 (+ (select .cse387 ~B~0.offset) .cse384)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse384 1) .cse386))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse391 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse390 (select .cse391 (+ ~A~0.offset 4))) (.cse389 (select .cse391 ~A~0.offset))) (and (= c_~mina~0 .cse389) (<= .cse8 (+ .cse4 .cse389)) (<= (+ .cse390 .cse4) .cse3) (<= (+ .cse389 1) .cse390) (= c_~minc~0 (+ .cse389 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse394 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse392 (select .cse394 ~A~0.offset)) (.cse393 (select .cse394 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse392) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse392 1) .cse393) (<= (* 2 .cse393) .cse3) (<= .cse8 (+ .cse393 .cse392)) (= c_~minc~0 (+ .cse392 c_~minb~0)) (= .cse393 .cse4))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse397 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse396 (select .cse397 (+ ~A~0.offset 4))) (.cse395 (select .cse397 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse395)) (<= (+ .cse396 .cse395) .cse3) (= c_~mina~0 .cse396) (<= .cse8 (* 2 .cse395)) (<= .cse396 .cse395) (= c_~minc~0 (+ .cse395 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse400 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse399 (select .cse400 (+ ~A~0.offset 4))) (.cse398 (select .cse400 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse398)) (= c_~mina~0 .cse398) (<= (+ .cse399 .cse398) .cse3) (<= (+ .cse398 1) .cse399) (<= .cse8 (* 2 .cse398)) (= c_~minc~0 (+ .cse398 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse402 (select .cse403 (+ ~A~0.offset 4))) (.cse401 (select .cse403 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse401)) (<= (* 2 .cse401) c_~minc~0) (= c_~mina~0 .cse401) (<= (+ .cse402 .cse401) .cse3) (<= (+ .cse401 1) .cse402) (= .cse401 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse405 (select .cse408 ~A~0.offset)) (.cse404 (select .cse408 (+ ~A~0.offset 4)))) (and (<= (+ .cse404 .cse405) c_~minc~0) (= c_~mina~0 .cse404) (<= (* 2 .cse404) .cse3) (exists ((~B~0.offset Int)) (let ((.cse407 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse406 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse404 (select .cse406 .cse407)) (= c_~minc~0 (+ (select .cse406 ~B~0.offset) .cse405))))) (not (= ~A~0.offset .cse407))))) (<= .cse404 .cse405) (= .cse404 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse411 (select .cse414 (+ ~A~0.offset 4))) (.cse409 (select .cse414 ~A~0.offset))) (and (= c_~mina~0 .cse409) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse413 (select |c_#memory_int#1| ~B~0.base)) (.cse412 (+ ~B~0.offset 4))) (let ((.cse410 (select .cse413 .cse412))) (and (<= .cse8 (+ .cse410 .cse409)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse411 .cse410) .cse3) (not (= ~A~0.offset .cse412)) (= c_~minc~0 (+ (select .cse413 ~B~0.offset) .cse409)))))) (= c_~minc~0 (+ .cse411 .cse409)) (<= (+ .cse409 1) .cse411) (= c_~minc~0 (+ .cse409 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse417 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse416 (select .cse417 ~A~0.offset)) (.cse415 (select .cse417 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse415 .cse416) c_~minc~0) (= c_~mina~0 .cse415) (<= (* 2 .cse415) .cse3) (<= .cse415 .cse416) (= .cse415 c_~minb~0) (= .cse415 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse422 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse418 (select .cse422 ~A~0.offset)) (.cse419 (select .cse422 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse418) (<= (+ .cse419 .cse418) c_~minc~0) (<= (+ .cse418 1) .cse419) (<= (* 2 .cse419) .cse3) (exists ((~B~0.offset Int)) (let ((.cse421 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse420 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse419 (select .cse420 .cse421)) (= c_~minc~0 (+ (select .cse420 ~B~0.offset) .cse418))))) (not (= ~A~0.offset .cse421))))) (= .cse419 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse425 (select .cse427 (+ ~A~0.offset 4))) (.cse424 (select .cse427 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse426 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse423 (select .cse426 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse423 .cse424)) (not (= ~A~0.base ~B~0.base)) (= .cse423 .cse424) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse425 .cse423) .cse3) (= c_~minc~0 (+ (select .cse426 ~B~0.offset) .cse424)))))) (= c_~mina~0 .cse425) (<= .cse425 .cse424) (= c_~minc~0 (+ .cse424 c_~minb~0)))))) (and .cse21 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (select .cse430 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse428) .cse429) (= .cse428 c_~minb~0) (= c_~minc~0 (+ (select .cse430 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse428) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (select .cse432 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse431) .cse429) (<= .cse8 (+ .cse23 .cse431)) (= c_~minc~0 (+ (select .cse432 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse439 (select |c_#memory_int#1| ~A~0.base)) (.cse433 (+ ~A~0.offset 4))) (let ((.cse436 (select .cse439 .cse433)) (.cse435 (select .cse439 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse438 (select |c_#memory_int#1| ~B~0.base)) (.cse437 (+ ~B~0.offset 4))) (let ((.cse434 (select .cse438 .cse437))) (and (not (= .cse433 ~B~0.offset)) (<= .cse8 (+ .cse434 .cse435)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse436 .cse434) .cse3) (not (= ~A~0.offset .cse437)) (= c_~minc~0 (+ (select .cse438 ~B~0.offset) .cse435)))))) (= c_~mina~0 .cse436) (<= .cse436 .cse435) (= c_~minc~0 (+ .cse435 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse445 (select |c_#memory_int#1| ~A~0.base)) (.cse442 (+ ~A~0.offset 4))) (let ((.cse440 (select .cse445 .cse442)) (.cse441 (select .cse445 ~A~0.offset))) (and (= c_~mina~0 .cse440) (<= .cse440 .cse441) (exists ((~B~0.offset Int)) (and (not (= .cse442 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse443 (select .cse444 (+ ~B~0.offset 4)))) (and (= .cse443 c_~minb~0) (= .cse443 .cse441) (<= (+ .cse443 .cse441) c_~minc~0) (<= (+ .cse440 .cse443) .cse3) (= c_~minc~0 (+ (select .cse444 ~B~0.offset) .cse441)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse448 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse447 (select .cse448 (+ ~A~0.offset 4))) (.cse446 (select .cse448 ~A~0.offset))) (and (= c_~mina~0 .cse446) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse447 .cse4) .cse3) (<= (+ .cse446 1) .cse447) (<= (+ .cse4 .cse446) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse453 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse453 ~A~0.offset)) (.cse449 (select .cse453 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse451 (+ ~B~0.offset 4)) (.cse450 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse449 (select .cse450 .cse451)) (not (= ~A~0.offset .cse451)) (= c_~minc~0 (+ (select .cse450 ~B~0.offset) .cse452))))) (= c_~minc~0 (+ .cse449 .cse452)) (= c_~mina~0 .cse449) (<= (* 2 .cse449) .cse3) (<= .cse449 .cse452) (= .cse449 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse458 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse457 (select .cse458 ~A~0.offset)) (.cse454 (select .cse458 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse456 (+ ~B~0.offset 4)) (.cse455 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse454 (select .cse455 .cse456)) (not (= ~A~0.offset .cse456)) (= c_~minc~0 (+ (select .cse455 ~B~0.offset) .cse457))))) (= c_~mina~0 .cse457) (= c_~minc~0 (+ .cse454 .cse457)) (<= (+ .cse457 1) .cse454) (<= (* 2 .cse454) .cse3) (= .cse454 c_~minb~0))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse461 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse460 (select .cse461 (+ ~A~0.offset 4))) (.cse459 (select .cse461 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse459)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse460 .cse4) .cse3) (= c_~mina~0 .cse460) (<= .cse460 .cse459) (= c_~minc~0 (+ .cse459 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse464 (select .cse466 (+ ~A~0.offset 4))) (.cse462 (select .cse466 ~A~0.offset))) (and (= c_~mina~0 .cse462) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse465 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse463 (select .cse465 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse463 .cse462)) (not (= ~A~0.base ~B~0.base)) (= .cse463 .cse462) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse464 .cse463) .cse3) (= c_~minc~0 (+ (select .cse465 ~B~0.offset) .cse462)))))) (<= (+ .cse462 1) .cse464) (= c_~minc~0 (+ .cse462 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse468 (select .cse469 (+ ~A~0.offset 4))) (.cse467 (select .cse469 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse467)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse468 c_~minb~0) .cse3) (<= (+ .cse467 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse468) (<= .cse468 .cse467))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse475 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse472 (select .cse475 (+ ~A~0.offset 4))) (.cse470 (select .cse475 ~A~0.offset))) (and (= c_~mina~0 .cse470) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse474 (select |c_#memory_int#1| ~B~0.base)) (.cse473 (+ ~B~0.offset 4))) (let ((.cse471 (select .cse474 .cse473))) (and (<= .cse8 (+ .cse471 .cse470)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse472 .cse471) .cse3) (not (= ~A~0.offset .cse473)) (= c_~minc~0 (+ (select .cse474 ~B~0.offset) .cse470)))))) (<= (+ .cse470 1) .cse472) (= c_~minc~0 (+ .cse470 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse478 (+ ~A~0.offset 4)) (.cse481 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse481 ~A~0.offset)) (.cse476 (select .cse481 .cse478))) (and (<= (+ .cse476 .cse477) c_~minc~0) (= c_~mina~0 .cse476) (exists ((~B~0.offset Int)) (let ((.cse480 (+ ~B~0.offset 4))) (and (not (= .cse478 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse476 (select .cse479 .cse480)) (= c_~minc~0 (+ (select .cse479 ~B~0.offset) .cse477))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse480))))) (<= (* 2 .cse476) .cse3) (<= .cse476 .cse477) (= .cse476 c_~minb~0))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse484 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse484 ~A~0.offset)) (.cse482 (select .cse484 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse482) (<= (* 2 .cse482) .cse3) (<= .cse8 (+ .cse482 .cse483)) (<= .cse482 .cse483) (= c_~minc~0 (+ .cse483 c_~minb~0)) (= .cse482 .cse4))))))) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse486 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse485 (select .cse486 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse485) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse485)) (= c_~minc~0 (+ (select .cse486 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)))))) .cse19) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse488 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse487 (select .cse488 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse487) .cse3) (= .cse487 c_~minb~0) (= c_~minc~0 (+ (select .cse488 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse487) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset))))))))) .cse344) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse494 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse494 (+ ~A~0.offset 4))) (.cse490 (select .cse494 ~A~0.offset))) (and (= c_~minc~0 (+ .cse489 .cse490)) (= c_~mina~0 .cse489) (exists ((~B~0.offset Int)) (let ((.cse493 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse492 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse491 (select .cse492 .cse493))) (and (= .cse491 c_~minb~0) (<= (+ .cse491 .cse490) c_~minc~0) (<= (+ .cse489 .cse491) .cse3) (= c_~minc~0 (+ (select .cse492 ~B~0.offset) .cse490)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse493))))) (<= .cse489 .cse490))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse497 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse497 (+ ~A~0.offset 4))) (.cse495 (select .cse497 ~A~0.offset))) (and (= c_~mina~0 .cse495) (<= .cse8 (+ .cse4 .cse495)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse496 .cse4) .cse3) (<= (+ .cse495 1) .cse496) (= c_~minc~0 (+ .cse495 c_~minb~0)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse500 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse500 (+ ~A~0.offset 4))) (.cse498 (select .cse500 ~A~0.offset))) (and (= c_~mina~0 .cse498) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse499 .cse4) .cse3) (<= (+ .cse498 1) .cse499) (= c_~minc~0 (* 2 .cse498)) (<= (+ .cse4 .cse498) c_~minc~0))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse501 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse501 ~B~0.offset) .cse23))))) .cse53 (or (and (<= c_~minb~0 .cse23) .cse203) (and .cse51 .cse43)) .cse54) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse503 (select .cse504 (+ ~A~0.offset 4))) (.cse502 (select .cse504 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse502)) (<= (+ .cse503 c_~minb~0) .cse3) (<= (+ .cse502 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse503) (<= .cse503 .cse502))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse506 (select .cse507 (+ ~A~0.offset 4))) (.cse505 (select .cse507 ~A~0.offset))) (and (= c_~mina~0 .cse505) (<= .cse8 (+ .cse4 .cse505)) (<= (+ .cse506 .cse4) .cse3) (<= (+ .cse505 1) .cse506) (= c_~minc~0 (+ .cse505 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse510 (select .cse513 (+ ~A~0.offset 4))) (.cse509 (select .cse513 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse512 (select |c_#memory_int#1| ~B~0.base)) (.cse511 (+ ~B~0.offset 4))) (let ((.cse508 (select .cse512 .cse511))) (and (<= .cse8 (+ .cse508 .cse509)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse510 .cse508) .cse3) (not (= ~A~0.offset .cse511)) (= c_~minc~0 (+ (select .cse512 ~B~0.offset) .cse509)))))) (= c_~minc~0 (+ .cse510 .cse509)) (= c_~mina~0 .cse510) (<= .cse510 .cse509) (= c_~minc~0 (+ .cse509 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse518 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse514 (select .cse518 ~A~0.offset)) (.cse515 (select .cse518 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse514) (<= (+ .cse515 .cse514) c_~minc~0) (<= (+ .cse514 1) .cse515) (<= (* 2 .cse515) .cse3) (exists ((~B~0.offset Int)) (let ((.cse517 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse515 (select .cse516 .cse517)) (= c_~minc~0 (+ (select .cse516 ~B~0.offset) .cse514))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse517))))) (= .cse515 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse523 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse519 (select .cse523 (+ ~A~0.offset 4))) (.cse520 (select .cse523 ~A~0.offset))) (and (= c_~minc~0 (+ .cse519 .cse520)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse522 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse521 (select .cse522 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse521 .cse520)) (= .cse521 .cse520) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse519 .cse521) .cse3) (= c_~minc~0 (+ (select .cse522 ~B~0.offset) .cse520)))))) (= c_~mina~0 .cse519) (<= .cse519 .cse520) (= c_~minc~0 (+ .cse520 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse526 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse524 (select .cse526 ~A~0.offset)) (.cse525 (select .cse526 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse524) (<= (+ .cse525 .cse524) c_~minc~0) (<= (+ .cse524 1) .cse525) (<= (* 2 .cse525) .cse3) (= .cse525 c_~minb~0) (= .cse525 .cse4))))))))))))) is different from true [2025-01-09 16:49:25,946 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse517 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse23 (select .cse517 c_~C~0.offset)) (.cse72 (+ c_~C~0.offset 8)) (.cse0 (+ c_~C~0.offset 4))) (let ((.cse3 (select .cse517 .cse0)) (.cse4 (select .cse517 .cse72)) (.cse516 (* .cse23 2))) (let ((.cse48 (+ .cse23 1)) (.cse515 (+ .cse23 c_~minb~0)) (.cse141 (= c_~minc~0 (+ .cse23 c_~mina~0))) (.cse113 (<= c_~minc~0 .cse516)) (.cse43 (= .cse23 c_~mina~0)) (.cse112 (<= (+ .cse516 1) c_~minc~0)) (.cse96 (* 2 .cse4)) (.cse417 (+ .cse23 .cse3)) (.cse20 (+ .cse23 .cse4))) (let ((.cse17 (<= .cse20 c_~minc~0)) (.cse22 (<= (+ c_~minc~0 .cse4) .cse417)) (.cse64 (= c_~mina~0 .cse4)) (.cse75 (<= .cse96 .cse3)) (.cse50 (= c_~minc~0 .cse516)) (.cse142 (* 2 c_~mina~0)) (.cse21 (or (and .cse141 .cse113) (and .cse43 .cse112))) (.cse19 (= c_~minc~0 .cse515)) (.cse332 (<= c_~mina~0 .cse23)) (.cse18 (= .cse4 c_~minb~0)) (.cse53 (<= (* 2 c_~minb~0) .cse3)) (.cse331 (= c_~mina~0 c_~minb~0)) (.cse51 (<= .cse48 c_~minb~0)) (.cse54 (<= .cse515 c_~minc~0)) (.cse8 (+ c_~minc~0 1))) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse1 (select .cse5 ~A~0.offset)) (.cse2 (select .cse5 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse1) (<= (+ .cse2 .cse1) c_~minc~0) (<= (+ .cse1 1) .cse2) (<= (* 2 .cse2) .cse3) (= .cse2 c_~minb~0) (= .cse2 .cse4))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse9 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse6 (select .cse9 ~A~0.offset)) (.cse7 (select .cse9 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse6) (<= (+ .cse6 1) .cse7) (<= (* 2 .cse7) .cse3) (<= .cse8 (+ .cse7 .cse6)) (= c_~minc~0 (+ .cse6 c_~minb~0)) (= .cse7 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse10 (+ ~A~0.offset 4))) (let ((.cse13 (select .cse16 .cse10)) (.cse12 (select .cse16 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse15 (+ ~B~0.offset 4))) (and (not (= .cse10 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse14 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse11 (select .cse14 .cse15))) (and (= .cse11 c_~minb~0) (<= (+ .cse11 .cse12) c_~minc~0) (<= (+ .cse13 .cse11) .cse3) (= c_~minc~0 (+ (select .cse14 ~B~0.offset) .cse12)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse15))))) (= c_~mina~0 .cse13) (<= .cse13 .cse12))))) (and (or (and .cse17 .cse18) (and .cse19 (<= .cse8 .cse20))) .cse21 .cse22) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse26 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse26 ~A~0.offset)) (.cse25 (select .cse26 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse24)) (= c_~mina~0 .cse24) (<= (+ .cse25 c_~minb~0) .cse3) (<= (+ .cse24 c_~minb~0) c_~minc~0) (<= (+ .cse24 1) .cse25))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse29 (select .cse32 (+ ~A~0.offset 4))) (.cse28 (select .cse32 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse31 (select |c_#memory_int#1| ~B~0.base)) (.cse30 (+ ~B~0.offset 4))) (let ((.cse27 (select .cse31 .cse30))) (and (<= .cse8 (+ .cse27 .cse28)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse29 .cse27) .cse3) (not (= ~A~0.offset .cse30)) (= c_~minc~0 (+ (select .cse31 ~B~0.offset) .cse28)))))) (= c_~mina~0 .cse29) (<= .cse29 .cse28) (= c_~minc~0 (+ .cse28 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse33 (select .cse37 (+ ~A~0.offset 4))) (.cse34 (select .cse37 ~A~0.offset))) (and (= c_~minc~0 (+ .cse33 .cse34)) (= c_~mina~0 .cse33) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse36 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse35 (select .cse36 (+ ~B~0.offset 4)))) (and (= .cse35 c_~minb~0) (= .cse35 .cse34) (<= (+ .cse35 .cse34) c_~minc~0) (<= (+ .cse33 .cse35) .cse3) (= c_~minc~0 (+ (select .cse36 ~B~0.offset) .cse34)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse33 .cse34))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse42 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse39 (select .cse42 (+ ~A~0.offset 4))) (.cse38 (select .cse42 ~A~0.offset))) (and (= c_~mina~0 .cse38) (<= (+ .cse38 1) .cse39) (<= (* 2 .cse39) .cse3) (exists ((~B~0.offset Int)) (let ((.cse41 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse40 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse39 (select .cse40 .cse41)) (= c_~minc~0 (+ (select .cse40 ~B~0.offset) .cse38))))) (not (= ~A~0.offset .cse41))))) (<= .cse8 (+ .cse39 .cse38)) (= c_~minc~0 (+ .cse38 c_~minb~0)))))) (and .cse43 (let ((.cse49 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse63 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse62 (select .cse63 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse62 1) .cse3) (= .cse62 c_~minb~0) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse62) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse45 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse44 (select .cse45 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse44 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse44)) (= c_~minc~0 (+ (select .cse45 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse47 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse46 (select .cse47 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse23 .cse46)) (= c_~minc~0 (+ (select .cse47 ~B~0.offset) .cse23)) (<= (* 2 .cse46) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse48 .cse46) (not (= ~B~0.offset .cse0))))))) .cse49 (and .cse49 .cse50) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse52 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse53 .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse56 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse55 (select .cse56 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse55 1) .cse3) (<= .cse8 (+ .cse23 .cse55)) (= c_~minc~0 (+ (select .cse56 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse58 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse57 (select .cse58 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse57 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (= .cse57 c_~minb~0) (= c_~minc~0 (+ (select .cse58 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse57) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse51 .cse53 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse59 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse59 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse59 ~B~0.offset) .cse23)) (not (= ~B~0.offset .cse0))))) .cse54) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse61 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse60 (select .cse61 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse60)) (= c_~minc~0 (+ (select .cse61 ~B~0.offset) .cse23)) (<= (* 2 .cse60) .cse3) (<= .cse48 .cse60) (not (= ~B~0.offset .cse0)))))))))) (and .cse64 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse67 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse65 (select .cse67 ~B~0.offset)) (.cse66 (select .cse67 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse65 1) .cse66) (= .cse65 c_~minb~0) (<= (+ .cse65 .cse4) c_~minc~0) (<= (+ .cse4 .cse66) .cse3))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse70 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse68 (select .cse70 ~B~0.offset)) (.cse69 (select .cse70 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse68 1) .cse69) (= .cse68 c_~minb~0) (<= (+ .cse68 .cse4) c_~minc~0) (<= (+ .cse4 .cse69) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse73 (select .cse74 ~B~0.offset)) (.cse71 (select .cse74 (+ ~B~0.offset 4)))) (and (= .cse71 c_~minb~0) (not (= .cse72 ~B~0.offset)) (<= .cse71 .cse73) (<= (+ .cse73 .cse4) c_~minc~0) (<= (+ .cse4 .cse71) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (and .cse75 (or (and (<= (+ .cse4 c_~minb~0) c_~minc~0) (<= (+ c_~minb~0 1) .cse4) (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse76 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse76 (+ ~B~0.offset 4))) (= (select .cse76 ~B~0.offset) c_~minb~0)))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse77 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse77 (+ ~B~0.offset 4))) (= (select .cse77 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse78 (+ ~B~0.offset 4))) (= (select .cse78 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse80 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse79 (select .cse80 ~B~0.offset))) (and (<= .cse4 .cse79) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse80 (+ ~B~0.offset 4))) (<= (+ .cse79 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse82 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse81 (select .cse82 ~B~0.offset))) (and (<= .cse4 .cse81) (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse82 (+ ~B~0.offset 4))) (<= (+ .cse81 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse84 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse83 (select .cse84 ~B~0.offset))) (and (= .cse83 .cse4) (= .cse4 (select .cse84 (+ ~B~0.offset 4))) (<= (+ .cse83 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse86 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse85 (select .cse86 ~B~0.offset))) (and (<= .cse4 .cse85) (= .cse4 (select .cse86 (+ ~B~0.offset 4))) (not (= .cse72 ~B~0.offset)) (<= (+ .cse85 .cse4) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) .cse18))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse87 (select .cse89 ~B~0.offset)) (.cse88 (select .cse89 (+ ~B~0.offset 4)))) (and (<= (+ .cse87 1) .cse88) (= c_~minc~0 (+ .cse87 .cse88)) (not (= .cse72 ~B~0.offset)) (= .cse87 c_~minb~0) (<= (+ .cse87 .cse4) c_~minc~0) (<= (+ .cse4 .cse88) .cse3) (not (= ~B~0.offset .cse0)))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse91 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse90 (select .cse91 (+ ~B~0.offset 4)))) (and (= .cse90 c_~minb~0) (<= .cse90 .cse4) (= (select .cse91 ~B~0.offset) .cse4) (<= (+ .cse4 .cse90) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse93 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse92 (select .cse93 (+ ~B~0.offset 4)))) (and (<= (+ .cse4 1) .cse92) (= (select .cse93 ~B~0.offset) .cse4) (<= (+ .cse4 .cse92) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse94 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse95 (+ .cse4 (select .cse94 (+ ~B~0.offset 4))))) (and (= (select .cse94 ~B~0.offset) .cse4) (<= .cse95 .cse3) (= c_~minc~0 .cse95) (not (= ~B~0.offset .cse0)))))) .cse18)) (<= .cse96 c_~minc~0)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse99 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse97 (select .cse99 ~B~0.offset)) (.cse98 (select .cse99 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse97 1) .cse98) (= c_~minc~0 (+ .cse97 .cse98)) (= .cse97 c_~minb~0) (<= (+ .cse97 .cse4) c_~minc~0) (<= (+ .cse4 .cse98) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse102 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse101 (select .cse102 ~B~0.offset)) (.cse100 (select .cse102 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse100 c_~minb~0) (= c_~minc~0 (+ .cse101 .cse100)) (<= .cse100 .cse101) (<= (+ .cse101 .cse4) c_~minc~0) (<= (+ .cse4 .cse100) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse105 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse103 (select .cse105 ~B~0.offset)) (.cse104 (select .cse105 (+ ~B~0.offset 4)))) (and (<= (+ .cse103 1) .cse104) (not (= .cse72 ~B~0.offset)) (= .cse103 c_~minb~0) (<= (+ .cse103 .cse4) c_~minc~0) (<= (+ .cse4 .cse104) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse108 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse107 (select .cse108 ~B~0.offset)) (.cse106 (select .cse108 (+ ~B~0.offset 4)))) (and (= .cse106 c_~minb~0) (= c_~minc~0 (+ .cse107 .cse106)) (not (= .cse72 ~B~0.offset)) (<= .cse106 .cse107) (<= (+ .cse107 .cse4) c_~minc~0) (<= (+ .cse4 .cse106) .cse3) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse111 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse110 (select .cse111 ~B~0.offset)) (.cse109 (select .cse111 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse109 c_~minb~0) (<= .cse109 .cse110) (<= (+ .cse110 .cse4) c_~minc~0) (<= (+ .cse4 .cse109) .cse3))))) (and .cse17 (or (and (= .cse23 c_~minb~0) .cse112) (and .cse19 .cse113)) .cse22) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse115 (select .cse116 ~B~0.offset)) (.cse114 (select .cse116 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse114 c_~minb~0) (<= .cse114 .cse115) (<= (+ .cse115 .cse4) c_~minc~0) (<= (+ .cse4 .cse114) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse118 (select .cse121 ~A~0.offset)) (.cse117 (select .cse121 (+ ~A~0.offset 4)))) (and (<= (+ .cse117 .cse118) c_~minc~0) (= c_~mina~0 .cse117) (<= (* 2 .cse117) .cse3) (<= .cse117 .cse118) (exists ((~B~0.offset Int)) (let ((.cse120 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse119 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse117 (select .cse119 .cse120)) (= c_~minc~0 (+ (select .cse119 ~B~0.offset) .cse118))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse120))))) (= .cse117 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse123 (+ ~A~0.offset 4)) (.cse128 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse122 (select .cse128 ~A~0.offset)) (.cse125 (select .cse128 .cse123))) (and (= c_~mina~0 .cse122) (exists ((~B~0.offset Int)) (let ((.cse127 (+ ~B~0.offset 4))) (and (not (= .cse123 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse126 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse124 (select .cse126 .cse127))) (and (= .cse124 c_~minb~0) (<= (+ .cse124 .cse122) c_~minc~0) (<= (+ .cse125 .cse124) .cse3) (= c_~minc~0 (+ (select .cse126 ~B~0.offset) .cse122)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse127))))) (<= (+ .cse122 1) .cse125))))) (and (<= (+ c_~mina~0 1) .cse4) (let ((.cse143 (+ c_~mina~0 .cse4))) (let ((.cse129 (= c_~minc~0 (+ c_~mina~0 c_~minb~0))) (.cse140 (= c_~minc~0 .cse143))) (or (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse131 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse130 (select .cse131 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse130)) (= c_~mina~0 .cse130) (not (= .cse72 ~B~0.offset)) (= c_~minc~0 (+ (select .cse131 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse130) .cse3) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse133 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse132 (select .cse133 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse132 c_~minb~0) (<= (+ c_~mina~0 .cse132) c_~minc~0) (= c_~minc~0 (+ (select .cse133 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse132) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse135 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse134 (select .cse135 (+ ~B~0.offset 4)))) (and (= .cse134 c_~minb~0) (<= (+ c_~mina~0 .cse134) c_~minc~0) (= c_~minc~0 (+ (select .cse135 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse134) .cse3))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse136 (select .cse137 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse136)) (= c_~minc~0 (+ (select .cse137 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse136) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse139 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse138 (select .cse139 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse138) (= .cse138 c_~minb~0) (= c_~minc~0 (+ (select .cse139 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse138) .cse3))))) (not (= ~B~0.offset .cse0))))) .cse140) (and .cse141 (<= .cse8 .cse142) .cse129 (<= .cse143 .cse3)) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse145 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse144 (select .cse145 (+ ~B~0.offset 4)))) (and (= .cse144 c_~minb~0) (<= (+ c_~mina~0 .cse144) c_~minc~0) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse144) .cse3))))))) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse147 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse146 (select .cse147 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse146)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse147 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse146) .cse3)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse149 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse148 (select .cse149 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse148)) (not (= .cse72 ~B~0.offset)) (= c_~minc~0 (+ (select .cse149 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse148) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) .cse129) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse151 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse150 (select .cse151 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse150)) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse151 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse150) .cse3) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (and .cse129 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse153 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse152 (select .cse153 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ c_~mina~0 .cse152)) (= c_~mina~0 .cse152) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse153 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse152) .cse3) (not (= ~B~0.offset .cse0))))))) (and (or (and (<= .cse8 .cse143) .cse129) (and (<= .cse143 c_~minc~0) .cse18)) .cse75 (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse154 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse154 ~B~0.offset) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))) .cse140) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse155 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse155 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse155 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= .cse4 (select .cse156 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse156 ~B~0.offset) c_~mina~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse157 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse4 (select .cse157 (+ ~B~0.offset 4))) (= c_~minc~0 (+ (select .cse157 ~B~0.offset) c_~mina~0))))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse159 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse158 (select .cse159 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse158) (not (= c_~C~0.base ~B~0.base)) (= .cse158 c_~minb~0) (<= (+ c_~mina~0 .cse158) c_~minc~0) (= c_~minc~0 (+ (select .cse159 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse158) .cse3))))) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse161 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse160 (select .cse161 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse160) (= .cse160 c_~minb~0) (<= (+ c_~mina~0 .cse160) c_~minc~0) (= c_~minc~0 (+ (select .cse161 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse160) .cse3))))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset .cse0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse163 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse162 (select .cse163 (+ ~B~0.offset 4)))) (and (= .cse162 c_~minb~0) (<= (+ c_~mina~0 .cse162) c_~minc~0) (= c_~minc~0 (+ (select .cse163 ~B~0.offset) c_~mina~0)) (<= (+ .cse4 .cse162) .cse3))))) (not (= .cse72 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse166 (+ ~A~0.offset 4)) (.cse169 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse164 (select .cse169 ~A~0.offset)) (.cse165 (select .cse169 .cse166))) (and (= c_~mina~0 .cse164) (<= (+ .cse165 .cse164) c_~minc~0) (<= (+ .cse164 1) .cse165) (exists ((~B~0.offset Int)) (let ((.cse168 (+ ~B~0.offset 4))) (and (not (= .cse166 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse167 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse165 (select .cse167 .cse168)) (= c_~minc~0 (+ (select .cse167 ~B~0.offset) .cse164))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse168))))) (<= (* 2 .cse165) .cse3) (= .cse165 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse171 (select .cse174 (+ ~A~0.offset 4))) (.cse170 (select .cse174 ~A~0.offset))) (and (= c_~mina~0 .cse170) (<= (+ .cse170 1) .cse171) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse172 (select .cse173 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse172 .cse170)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse171 .cse172) .cse3) (= c_~minc~0 (+ (select .cse173 ~B~0.offset) .cse170)))))) (= c_~minc~0 (+ .cse170 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse176 (select .cse177 (+ ~A~0.offset 4))) (.cse175 (select .cse177 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse175)) (<= (+ .cse176 .cse4) .cse3) (= c_~mina~0 .cse176) (<= .cse176 .cse175) (= c_~minc~0 (+ .cse175 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse179 (+ ~A~0.offset 4)) (.cse183 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse182 (select .cse183 ~A~0.offset)) (.cse178 (select .cse183 .cse179))) (and (= c_~mina~0 .cse178) (exists ((~B~0.offset Int)) (let ((.cse181 (+ ~B~0.offset 4))) (and (not (= .cse179 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse180 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse178 (select .cse180 .cse181)) (= c_~minc~0 (+ (select .cse180 ~B~0.offset) .cse182))))) (not (= ~A~0.offset .cse181))))) (<= (* 2 .cse178) .cse3) (<= .cse178 .cse182) (= c_~minc~0 (* 2 .cse182)) (= .cse178 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~A~0.base)) (.cse186 (+ ~A~0.offset 4))) (let ((.cse185 (select .cse189 .cse186)) (.cse184 (select .cse189 ~A~0.offset))) (and (= c_~mina~0 .cse184) (<= (+ .cse184 1) .cse185) (exists ((~B~0.offset Int)) (let ((.cse188 (+ ~B~0.offset 4))) (and (not (= .cse186 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse185 (select .cse187 .cse188)) (= c_~minc~0 (+ (select .cse187 ~B~0.offset) .cse184))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse188))))) (<= (* 2 .cse185) .cse3) (<= .cse8 (+ .cse185 .cse184)) (= c_~minc~0 (+ .cse184 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse191 (select .cse192 ~A~0.offset)) (.cse190 (select .cse192 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse190) (<= (* 2 .cse190) .cse3) (<= .cse8 (+ .cse190 .cse191)) (<= .cse190 .cse191) (= c_~minc~0 (+ .cse191 c_~minb~0)) (= .cse190 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse198 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse193 (select .cse198 ~A~0.offset)) (.cse195 (select .cse198 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse193) (exists ((~B~0.offset Int)) (let ((.cse197 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse194 (select .cse196 .cse197))) (and (= .cse194 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse194 .cse193) c_~minc~0) (<= (+ .cse195 .cse194) .cse3) (= c_~minc~0 (+ (select .cse196 ~B~0.offset) .cse193)))))) (not (= ~A~0.offset .cse197))))) (<= (+ .cse193 1) .cse195))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse200 (select .cse201 (+ ~A~0.offset 4))) (.cse199 (select .cse201 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse199)) (<= (+ .cse200 .cse4) .cse3) (= c_~mina~0 .cse200) (<= .cse200 .cse199) (= c_~minc~0 (+ .cse199 c_~minb~0)) (= c_~minc~0 (* 2 .cse199)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse204 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse202 (select .cse204 (+ ~A~0.offset 4))) (.cse203 (select .cse204 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse202 .cse4) .cse3) (= c_~mina~0 .cse202) (<= .cse202 .cse203) (= c_~minc~0 (* 2 .cse203)) (<= (+ .cse4 .cse203) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse207 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse205 (select .cse207 (+ ~A~0.offset 4))) (.cse206 (select .cse207 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse205 .cse4) .cse3) (= c_~mina~0 .cse205) (<= .cse205 .cse206) (<= (+ .cse4 .cse206) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse210 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse209 (select .cse210 ~A~0.offset)) (.cse208 (select .cse210 (+ ~A~0.offset 4)))) (and (<= (+ .cse208 .cse209) c_~minc~0) (= c_~mina~0 .cse208) (<= (* 2 .cse208) .cse3) (<= .cse208 .cse209) (= .cse208 c_~minb~0) (= .cse208 .cse4))))) (not (= ~A~0.offset .cse0)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse215 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse211 (select .cse215 ~A~0.offset)) (.cse212 (select .cse215 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse211) (= c_~minc~0 (+ .cse212 .cse211)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse214 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse213 (select .cse214 (+ ~B~0.offset 4)))) (and (= .cse213 c_~minb~0) (= .cse213 .cse211) (<= (+ .cse212 .cse213) .cse3) (= c_~minc~0 (+ (select .cse214 ~B~0.offset) .cse211)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse211 1) .cse212))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse218 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse217 (select .cse218 (+ ~A~0.offset 4))) (.cse216 (select .cse218 ~A~0.offset))) (and (= c_~mina~0 .cse216) (<= .cse8 (+ .cse4 .cse216)) (<= (+ .cse217 .cse4) .cse3) (<= (+ .cse216 1) .cse217) (= c_~minc~0 (+ .cse216 c_~minb~0)) (= c_~minc~0 (* 2 .cse216)))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse220 (select .cse221 ~A~0.offset)) (.cse219 (select .cse221 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse219) (<= (* 2 .cse219) .cse3) (<= .cse8 (+ .cse219 .cse220)) (<= .cse219 .cse220) (= c_~minc~0 (+ .cse220 c_~minb~0)) (= .cse219 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse223 (select .cse226 (+ ~A~0.offset 4))) (.cse222 (select .cse226 ~A~0.offset))) (and (= c_~mina~0 .cse222) (<= (+ .cse222 1) .cse223) (<= (* 2 .cse223) .cse3) (<= .cse8 (+ .cse223 .cse222)) (= c_~minc~0 (+ .cse222 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse225 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse224 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse223 (select .cse224 .cse225)) (= c_~minc~0 (+ (select .cse224 ~B~0.offset) .cse222))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse225))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse231 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse227 (select .cse231 (+ ~A~0.offset 4))) (.cse230 (select .cse231 ~A~0.offset))) (and (= c_~mina~0 .cse227) (<= (* 2 .cse227) .cse3) (exists ((~B~0.offset Int)) (let ((.cse229 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse227 (select .cse228 .cse229)) (= c_~minc~0 (+ (select .cse228 ~B~0.offset) .cse230))))) (not (= ~A~0.offset .cse229))))) (<= .cse8 (+ .cse227 .cse230)) (<= .cse227 .cse230) (= c_~minc~0 (+ .cse230 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse236 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse232 (select .cse236 ~A~0.offset)) (.cse234 (select .cse236 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse232) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse233 (select .cse235 (+ ~B~0.offset 4)))) (and (= .cse233 c_~minb~0) (<= (+ .cse233 .cse232) c_~minc~0) (<= (+ .cse234 .cse233) .cse3) (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse232)))))) (not (= ~A~0.base ~B~0.base)))) (<= (+ .cse232 1) .cse234))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse239 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse238 (select .cse239 ~A~0.offset)) (.cse237 (select .cse239 (+ ~A~0.offset 4)))) (and (<= (+ .cse237 .cse238) c_~minc~0) (= c_~mina~0 .cse237) (<= (* 2 .cse237) .cse3) (<= .cse237 .cse238) (= .cse237 c_~minb~0) (= .cse237 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse242 (select .cse244 (+ ~A~0.offset 4))) (.cse241 (select .cse244 ~A~0.offset))) (and (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse240 (select .cse243 (+ ~B~0.offset 4)))) (and (= .cse240 c_~minb~0) (<= (+ .cse240 .cse241) c_~minc~0) (<= (+ .cse242 .cse240) .cse3) (= c_~minc~0 (+ (select .cse243 ~B~0.offset) .cse241)))))) (not (= ~A~0.base ~B~0.base)))) (= c_~mina~0 .cse242) (<= .cse242 .cse241))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse250 (select |c_#memory_int#1| ~A~0.base)) (.cse246 (+ ~A~0.offset 4))) (let ((.cse245 (select .cse250 .cse246)) (.cse249 (select .cse250 ~A~0.offset))) (and (= c_~mina~0 .cse245) (exists ((~B~0.offset Int)) (let ((.cse248 (+ ~B~0.offset 4))) (and (not (= .cse246 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse247 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse245 (select .cse247 .cse248)) (= c_~minc~0 (+ (select .cse247 ~B~0.offset) .cse249))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse248))))) (<= (* 2 .cse245) .cse3) (<= .cse8 (+ .cse245 .cse249)) (<= .cse245 .cse249) (= c_~minc~0 (+ .cse249 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse252 (select .cse253 (+ ~A~0.offset 4))) (.cse251 (select .cse253 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse251)) (<= (* 2 .cse251) c_~minc~0) (<= (+ .cse252 .cse251) .cse3) (= c_~mina~0 .cse252) (= .cse251 c_~minb~0) (<= .cse252 .cse251))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~A~0.base)) (.cse256 (+ ~A~0.offset 4))) (let ((.cse255 (select .cse259 .cse256)) (.cse254 (select .cse259 ~A~0.offset))) (and (= c_~mina~0 .cse254) (<= (+ .cse254 1) .cse255) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse257 (select .cse258 (+ ~B~0.offset 4)))) (and (not (= .cse256 ~B~0.offset)) (<= .cse8 (+ .cse257 .cse254)) (= .cse257 .cse254) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse255 .cse257) .cse3) (= c_~minc~0 (+ (select .cse258 ~B~0.offset) .cse254)))))) (= c_~minc~0 (+ .cse254 c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse261 (select .cse262 (+ ~A~0.offset 4))) (.cse260 (select .cse262 ~A~0.offset))) (and (= c_~mina~0 .cse260) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse261 .cse4) .cse3) (<= (+ .cse260 1) .cse261) (<= (+ .cse4 .cse260) c_~minc~0))))) .cse18) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse263 (select .cse265 (+ ~A~0.offset 4))) (.cse264 (select .cse265 ~A~0.offset))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse263 .cse4) .cse3) (= c_~mina~0 .cse263) (<= .cse263 .cse264) (<= (+ .cse4 .cse264) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse270 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse268 (select .cse270 (+ ~A~0.offset 4))) (.cse267 (select .cse270 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse266 (select .cse269 (+ ~B~0.offset 4)))) (and (= .cse266 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse266 .cse267) (<= (+ .cse266 .cse267) c_~minc~0) (<= (+ .cse268 .cse266) .cse3) (= c_~minc~0 (+ (select .cse269 ~B~0.offset) .cse267)))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse268) (<= .cse268 .cse267))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse273 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse272 (select .cse273 (+ ~A~0.offset 4))) (.cse271 (select .cse273 ~A~0.offset))) (and (= c_~mina~0 .cse271) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse272 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (<= (+ .cse271 1) .cse272) (<= (+ .cse4 .cse271) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse280 (select |c_#memory_int#1| ~A~0.base)) (.cse275 (+ ~A~0.offset 4))) (let ((.cse277 (select .cse280 .cse275)) (.cse274 (select .cse280 ~A~0.offset))) (and (= c_~mina~0 .cse274) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~B~0.base)) (.cse278 (+ ~B~0.offset 4))) (let ((.cse276 (select .cse279 .cse278))) (and (not (= .cse275 ~B~0.offset)) (<= .cse8 (+ .cse276 .cse274)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse277 .cse276) .cse3) (not (= ~A~0.offset .cse278)) (= c_~minc~0 (+ (select .cse279 ~B~0.offset) .cse274)))))) (<= (+ .cse274 1) .cse277) (= c_~minc~0 (+ .cse274 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~A~0.base)) (.cse283 (+ ~A~0.offset 4))) (let ((.cse282 (select .cse286 .cse283)) (.cse281 (select .cse286 ~A~0.offset))) (and (= c_~mina~0 .cse281) (<= (+ .cse281 1) .cse282) (exists ((~B~0.offset Int)) (and (not (= .cse283 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse285 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse284 (select .cse285 (+ ~B~0.offset 4)))) (and (= .cse284 c_~minb~0) (= .cse284 .cse281) (<= (+ .cse284 .cse281) c_~minc~0) (<= (+ .cse282 .cse284) .cse3) (= c_~minc~0 (+ (select .cse285 ~B~0.offset) .cse281)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (let ((.cse288 (div (* c_~minc~0 (- 1)) 2))) (and (let ((.cse287 (+ c_~minc~0 .cse288))) (or (and (= c_~mina~0 .cse287) (<= (+ c_~minc~0 .cse288 1) .cse4)) (and (<= .cse4 .cse287) .cse64))) .cse75 (= (mod c_~minc~0 2) 0) (let ((.cse289 (+ .cse288 .cse4))) (or (and (<= .cse289 0) .cse18) (and (<= 1 .cse289) (= (+ .cse288 c_~minb~0) 0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse292 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse290 (select .cse292 ~A~0.offset)) (.cse291 (select .cse292 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse23 .cse290)) (= c_~mina~0 .cse290) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse291 c_~minb~0) .cse3) (<= (+ .cse290 c_~minb~0) c_~minc~0) (<= (+ .cse290 1) .cse291))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse298 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse295 (select .cse298 (+ ~A~0.offset 4))) (.cse294 (select .cse298 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse297 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse296 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse293 (select .cse296 .cse297))) (and (= .cse293 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse293 .cse294) c_~minc~0) (<= (+ .cse295 .cse293) .cse3) (= c_~minc~0 (+ (select .cse296 ~B~0.offset) .cse294)))))) (not (= ~A~0.offset .cse297))))) (= c_~mina~0 .cse295) (<= .cse295 .cse294))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse301 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse299 (select .cse301 ~A~0.offset)) (.cse300 (select .cse301 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse299) (<= (+ .cse299 1) .cse300) (<= (* 2 .cse300) .cse3) (<= .cse8 (+ .cse300 .cse299)) (= c_~minc~0 (+ .cse299 c_~minb~0)) (= .cse300 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse303 (select .cse306 (+ ~A~0.offset 4))) (.cse302 (select .cse306 ~A~0.offset))) (and (= c_~mina~0 .cse302) (<= (+ .cse302 1) .cse303) (<= (* 2 .cse303) .cse3) (exists ((~B~0.offset Int)) (let ((.cse305 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse304 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse303 (select .cse304 .cse305)) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse302))))) (not (= ~A~0.offset .cse305))))) (= c_~minc~0 (+ .cse302 c_~minb~0)) (= c_~minc~0 (* 2 .cse302)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse312 (+ ~A~0.offset 4))) (.cse307 (select .cse312 ~A~0.offset))) (and (= c_~mina~0 .cse307) (= c_~minc~0 (+ .cse308 .cse307)) (<= (+ .cse307 1) .cse308) (exists ((~B~0.offset Int)) (let ((.cse311 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse310 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse309 (select .cse310 .cse311))) (and (= .cse309 c_~minb~0) (<= (+ .cse309 .cse307) c_~minc~0) (<= (+ .cse308 .cse309) .cse3) (= c_~minc~0 (+ (select .cse310 ~B~0.offset) .cse307)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse311))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse317 ~A~0.offset)) (.cse313 (select .cse317 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse313) (<= (* 2 .cse313) .cse3) (exists ((~B~0.offset Int)) (let ((.cse315 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse313 (select .cse314 .cse315)) (= c_~minc~0 (+ (select .cse314 ~B~0.offset) .cse316))))) (not (= ~A~0.offset .cse315))))) (<= .cse313 .cse316) (= c_~minc~0 (* 2 .cse316)) (= .cse313 c_~minb~0))))) (and .cse19 (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse319 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse318 (select .cse319 (+ ~B~0.offset 4)))) (and (= c_~mina~0 .cse318) (<= .cse8 (+ .cse23 .cse318)) (<= .cse318 .cse23) (= c_~minc~0 (+ (select .cse319 ~B~0.offset) .cse23)) (<= (* 2 .cse318) .cse3))))))) (and .cse43 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse320 (select .cse321 (+ ~B~0.offset 4)))) (and (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse320)) (= c_~minc~0 (+ (select .cse321 ~B~0.offset) .cse23)) (<= (* 2 .cse320) .cse3) (<= .cse48 .cse320)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse322 (select .cse326 (+ ~A~0.offset 4))) (.cse323 (select .cse326 ~A~0.offset))) (and (= c_~mina~0 .cse322) (<= .cse322 .cse323) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse324 (select .cse325 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse324 .cse323)) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse322 .cse324) .cse3) (= c_~minc~0 (+ (select .cse325 ~B~0.offset) .cse323)))))) (= c_~minc~0 (+ .cse323 c_~minb~0)))))) (and (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse328 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse327 (select .cse328 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse327) .cse3) (<= .cse8 (+ .cse23 .cse327)) (= c_~minc~0 (+ (select .cse328 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse330 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse329 (select .cse330 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse329) .cse3) (= .cse329 c_~minb~0) (= c_~minc~0 (+ (select .cse330 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse329) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse0)))) (and .cse50 (<= .cse142 .cse3) .cse331)) .cse332) (and .cse43 (or (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse334 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse333 (select .cse334 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse333 1) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse333)) (= c_~minc~0 (+ (select .cse334 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse336 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse335 (select .cse336 (+ ~B~0.offset 4)))) (and (<= (+ .cse23 .cse335 1) .cse3) (= .cse335 c_~minb~0) (= c_~minc~0 (+ (select .cse336 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse335) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse338 (select .cse341 ~A~0.offset)) (.cse337 (select .cse341 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse337 .cse338)) (= c_~mina~0 .cse337) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse340 (+ ~B~0.offset 4)) (.cse339 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse337 (select .cse339 .cse340)) (not (= ~A~0.offset .cse340)) (= c_~minc~0 (+ (select .cse339 ~B~0.offset) .cse338))))) (<= (* 2 .cse337) .cse3) (= c_~minc~0 (* 2 .cse338)) (= .cse337 c_~minb~0))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse342 (select .cse344 (+ ~A~0.offset 4))) (.cse343 (select .cse344 ~A~0.offset))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse342 .cse4) .cse3) (not (= ~A~0.offset .cse0)) (= c_~mina~0 .cse342) (<= .cse342 .cse343) (<= (+ .cse4 .cse343) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse349 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse345 (select .cse349 (+ ~A~0.offset 4))) (.cse346 (select .cse349 ~A~0.offset))) (and (= c_~mina~0 .cse345) (<= (* 2 .cse345) .cse3) (<= .cse8 (+ .cse345 .cse346)) (<= .cse345 .cse346) (= c_~minc~0 (+ .cse346 c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse348 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse347 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse345 (select .cse347 .cse348)) (= c_~minc~0 (+ (select .cse347 ~B~0.offset) .cse346))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse348))))))))) (and (or (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse351 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse350 (select .cse351 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse350) .cse3) (= .cse350 c_~minb~0) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse350) c_~minc~0))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse352 (select .cse353 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse352) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse352)) (= c_~minc~0 (+ (select .cse353 ~B~0.offset) .cse23)))))) .cse19)) .cse332) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse354 (select .cse356 ~A~0.offset)) (.cse355 (select .cse356 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse354) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse355 .cse354) c_~minc~0) (<= (+ .cse354 1) .cse355) (<= (* 2 .cse355) .cse3) (= .cse355 c_~minb~0) (= .cse355 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse362 (select |c_#memory_int#1| ~A~0.base)) (.cse358 (+ ~A~0.offset 4))) (let ((.cse359 (select .cse362 .cse358)) (.cse357 (select .cse362 ~A~0.offset))) (and (= c_~mina~0 .cse357) (exists ((~B~0.offset Int)) (let ((.cse361 (+ ~B~0.offset 4))) (and (not (= .cse358 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse360 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse359 (select .cse360 .cse361)) (= c_~minc~0 (+ (select .cse360 ~B~0.offset) .cse357))))) (not (= ~A~0.offset .cse361))))) (<= (+ .cse357 1) .cse359) (<= (* 2 .cse359) .cse3) (= c_~minc~0 (+ .cse357 c_~minb~0)) (= c_~minc~0 (* 2 .cse357)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base)) (.cse364 (+ ~A~0.offset 4))) (let ((.cse363 (select .cse368 .cse364)) (.cse366 (select .cse368 ~A~0.offset))) (and (= c_~mina~0 .cse363) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse367 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse365 (select .cse367 (+ ~B~0.offset 4)))) (and (not (= .cse364 ~B~0.offset)) (<= .cse8 (+ .cse365 .cse366)) (= .cse365 .cse366) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse363 .cse365) .cse3) (= c_~minc~0 (+ (select .cse367 ~B~0.offset) .cse366)))))) (<= .cse363 .cse366) (= c_~minc~0 (+ .cse366 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse370 (select .cse371 (+ ~A~0.offset 4))) (.cse369 (select .cse371 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse369)) (<= (+ .cse370 .cse4) .cse3) (= c_~mina~0 .cse370) (<= .cse370 .cse369) (= c_~minc~0 (+ .cse369 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse376 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse372 (select .cse376 ~A~0.offset)) (.cse374 (select .cse376 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse372) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse375 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse373 (select .cse375 (+ ~B~0.offset 4)))) (and (= .cse373 c_~minb~0) (not (= ~A~0.base ~B~0.base)) (= .cse373 .cse372) (<= (+ .cse373 .cse372) c_~minc~0) (<= (+ .cse374 .cse373) .cse3) (= c_~minc~0 (+ (select .cse375 ~B~0.offset) .cse372)))))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse372 1) .cse374))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse379 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse378 (select .cse379 (+ ~A~0.offset 4))) (.cse377 (select .cse379 ~A~0.offset))) (and (= c_~mina~0 .cse377) (<= .cse8 (+ .cse4 .cse377)) (<= (+ .cse378 .cse4) .cse3) (<= (+ .cse377 1) .cse378) (= c_~minc~0 (+ .cse377 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse382 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse380 (select .cse382 ~A~0.offset)) (.cse381 (select .cse382 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse380) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse380 1) .cse381) (<= (* 2 .cse381) .cse3) (<= .cse8 (+ .cse381 .cse380)) (= c_~minc~0 (+ .cse380 c_~minb~0)) (= .cse381 .cse4))))) (not (= ~A~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse385 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse385 (+ ~A~0.offset 4))) (.cse383 (select .cse385 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse383)) (<= (+ .cse384 .cse383) .cse3) (= c_~mina~0 .cse384) (<= .cse8 (* 2 .cse383)) (<= .cse384 .cse383) (= c_~minc~0 (+ .cse383 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse387 (select .cse388 (+ ~A~0.offset 4))) (.cse386 (select .cse388 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse386)) (= c_~mina~0 .cse386) (<= (+ .cse387 .cse386) .cse3) (<= (+ .cse386 1) .cse387) (<= .cse8 (* 2 .cse386)) (= c_~minc~0 (+ .cse386 c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse391 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse390 (select .cse391 (+ ~A~0.offset 4))) (.cse389 (select .cse391 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse389)) (<= (* 2 .cse389) c_~minc~0) (= c_~mina~0 .cse389) (<= (+ .cse390 .cse389) .cse3) (<= (+ .cse389 1) .cse390) (= .cse389 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse393 (select .cse396 ~A~0.offset)) (.cse392 (select .cse396 (+ ~A~0.offset 4)))) (and (<= (+ .cse392 .cse393) c_~minc~0) (= c_~mina~0 .cse392) (<= (* 2 .cse392) .cse3) (exists ((~B~0.offset Int)) (let ((.cse395 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse394 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse392 (select .cse394 .cse395)) (= c_~minc~0 (+ (select .cse394 ~B~0.offset) .cse393))))) (not (= ~A~0.offset .cse395))))) (<= .cse392 .cse393) (= .cse392 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse402 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse399 (select .cse402 (+ ~A~0.offset 4))) (.cse397 (select .cse402 ~A~0.offset))) (and (= c_~mina~0 .cse397) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~B~0.base)) (.cse400 (+ ~B~0.offset 4))) (let ((.cse398 (select .cse401 .cse400))) (and (<= .cse8 (+ .cse398 .cse397)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse399 .cse398) .cse3) (not (= ~A~0.offset .cse400)) (= c_~minc~0 (+ (select .cse401 ~B~0.offset) .cse397)))))) (= c_~minc~0 (+ .cse399 .cse397)) (<= (+ .cse397 1) .cse399) (= c_~minc~0 (+ .cse397 c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse405 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse404 (select .cse405 ~A~0.offset)) (.cse403 (select .cse405 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse403 .cse404) c_~minc~0) (= c_~mina~0 .cse403) (<= (* 2 .cse403) .cse3) (<= .cse403 .cse404) (= .cse403 c_~minb~0) (= .cse403 .cse4))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse410 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse406 (select .cse410 ~A~0.offset)) (.cse407 (select .cse410 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse406) (<= (+ .cse407 .cse406) c_~minc~0) (<= (+ .cse406 1) .cse407) (<= (* 2 .cse407) .cse3) (exists ((~B~0.offset Int)) (let ((.cse409 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse407 (select .cse408 .cse409)) (= c_~minc~0 (+ (select .cse408 ~B~0.offset) .cse406))))) (not (= ~A~0.offset .cse409))))) (= .cse407 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse413 (select .cse415 (+ ~A~0.offset 4))) (.cse412 (select .cse415 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse411 (select .cse414 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse411 .cse412)) (not (= ~A~0.base ~B~0.base)) (= .cse411 .cse412) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse413 .cse411) .cse3) (= c_~minc~0 (+ (select .cse414 ~B~0.offset) .cse412)))))) (= c_~mina~0 .cse413) (<= .cse413 .cse412) (= c_~minc~0 (+ .cse412 c_~minb~0)))))) (and .cse21 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse418 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse416 (select .cse418 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse416) .cse417) (= .cse416 c_~minb~0) (= c_~minc~0 (+ (select .cse418 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse416) c_~minc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (and .cse19 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse420 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse419 (select .cse420 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse419) .cse417) (<= .cse8 (+ .cse23 .cse419)) (= c_~minc~0 (+ (select .cse420 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~A~0.base)) (.cse421 (+ ~A~0.offset 4))) (let ((.cse424 (select .cse427 .cse421)) (.cse423 (select .cse427 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse426 (select |c_#memory_int#1| ~B~0.base)) (.cse425 (+ ~B~0.offset 4))) (let ((.cse422 (select .cse426 .cse425))) (and (not (= .cse421 ~B~0.offset)) (<= .cse8 (+ .cse422 .cse423)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse424 .cse422) .cse3) (not (= ~A~0.offset .cse425)) (= c_~minc~0 (+ (select .cse426 ~B~0.offset) .cse423)))))) (= c_~mina~0 .cse424) (<= .cse424 .cse423) (= c_~minc~0 (+ .cse423 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse433 (select |c_#memory_int#1| ~A~0.base)) (.cse430 (+ ~A~0.offset 4))) (let ((.cse428 (select .cse433 .cse430)) (.cse429 (select .cse433 ~A~0.offset))) (and (= c_~mina~0 .cse428) (<= .cse428 .cse429) (exists ((~B~0.offset Int)) (and (not (= .cse430 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (select .cse432 (+ ~B~0.offset 4)))) (and (= .cse431 c_~minb~0) (= .cse431 .cse429) (<= (+ .cse431 .cse429) c_~minc~0) (<= (+ .cse428 .cse431) .cse3) (= c_~minc~0 (+ (select .cse432 ~B~0.offset) .cse429)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse436 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse435 (select .cse436 (+ ~A~0.offset 4))) (.cse434 (select .cse436 ~A~0.offset))) (and (= c_~mina~0 .cse434) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse435 .cse4) .cse3) (<= (+ .cse434 1) .cse435) (<= (+ .cse4 .cse434) c_~minc~0))))) .cse18) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse441 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse440 (select .cse441 ~A~0.offset)) (.cse437 (select .cse441 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse439 (+ ~B~0.offset 4)) (.cse438 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse437 (select .cse438 .cse439)) (not (= ~A~0.offset .cse439)) (= c_~minc~0 (+ (select .cse438 ~B~0.offset) .cse440))))) (= c_~minc~0 (+ .cse437 .cse440)) (= c_~mina~0 .cse437) (<= (* 2 .cse437) .cse3) (<= .cse437 .cse440) (= .cse437 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse446 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse445 (select .cse446 ~A~0.offset)) (.cse442 (select .cse446 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse444 (+ ~B~0.offset 4)) (.cse443 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= .cse442 (select .cse443 .cse444)) (not (= ~A~0.offset .cse444)) (= c_~minc~0 (+ (select .cse443 ~B~0.offset) .cse445))))) (= c_~mina~0 .cse445) (= c_~minc~0 (+ .cse442 .cse445)) (<= (+ .cse445 1) .cse442) (<= (* 2 .cse442) .cse3) (= .cse442 c_~minb~0))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse449 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse448 (select .cse449 (+ ~A~0.offset 4))) (.cse447 (select .cse449 ~A~0.offset))) (and (<= .cse8 (+ .cse4 .cse447)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse448 .cse4) .cse3) (= c_~mina~0 .cse448) (<= .cse448 .cse447) (= c_~minc~0 (+ .cse447 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse454 (+ ~A~0.offset 4))) (.cse450 (select .cse454 ~A~0.offset))) (and (= c_~mina~0 .cse450) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse453 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse451 (select .cse453 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse451 .cse450)) (not (= ~A~0.base ~B~0.base)) (= .cse451 .cse450) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse452 .cse451) .cse3) (= c_~minc~0 (+ (select .cse453 ~B~0.offset) .cse450)))))) (<= (+ .cse450 1) .cse452) (= c_~minc~0 (+ .cse450 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse456 (select .cse457 (+ ~A~0.offset 4))) (.cse455 (select .cse457 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse455)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse456 c_~minb~0) .cse3) (<= (+ .cse455 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse456) (<= .cse456 .cse455))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse460 (select .cse463 (+ ~A~0.offset 4))) (.cse458 (select .cse463 ~A~0.offset))) (and (= c_~mina~0 .cse458) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse462 (select |c_#memory_int#1| ~B~0.base)) (.cse461 (+ ~B~0.offset 4))) (let ((.cse459 (select .cse462 .cse461))) (and (<= .cse8 (+ .cse459 .cse458)) (not (= ~A~0.base ~B~0.base)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse460 .cse459) .cse3) (not (= ~A~0.offset .cse461)) (= c_~minc~0 (+ (select .cse462 ~B~0.offset) .cse458)))))) (<= (+ .cse458 1) .cse460) (= c_~minc~0 (+ .cse458 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse466 (+ ~A~0.offset 4)) (.cse469 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse465 (select .cse469 ~A~0.offset)) (.cse464 (select .cse469 .cse466))) (and (<= (+ .cse464 .cse465) c_~minc~0) (= c_~mina~0 .cse464) (exists ((~B~0.offset Int)) (let ((.cse468 (+ ~B~0.offset 4))) (and (not (= .cse466 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse467 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse464 (select .cse467 .cse468)) (= c_~minc~0 (+ (select .cse467 ~B~0.offset) .cse465))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse468))))) (<= (* 2 .cse464) .cse3) (<= .cse464 .cse465) (= .cse464 c_~minb~0))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse472 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse471 (select .cse472 ~A~0.offset)) (.cse470 (select .cse472 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse470) (<= (* 2 .cse470) .cse3) (<= .cse8 (+ .cse470 .cse471)) (<= .cse470 .cse471) (= c_~minc~0 (+ .cse471 c_~minb~0)) (= .cse470 .cse4))))))) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse474 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse473 (select .cse474 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse473) .cse3) (not (= c_~C~0.base ~B~0.base)) (<= .cse8 (+ .cse23 .cse473)) (= c_~minc~0 (+ (select .cse474 ~B~0.offset) .cse23)) (not (= ~B~0.offset c_~C~0.offset)))))) .cse19) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse476 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse475 (select .cse476 (+ ~B~0.offset 4)))) (and (<= (+ c_~mina~0 .cse475) .cse3) (= .cse475 c_~minb~0) (= c_~minc~0 (+ (select .cse476 ~B~0.offset) .cse23)) (<= (+ .cse23 .cse475) c_~minc~0) (not (= ~B~0.offset c_~C~0.offset))))))))) .cse332) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse482 (+ ~A~0.offset 4))) (.cse478 (select .cse482 ~A~0.offset))) (and (= c_~minc~0 (+ .cse477 .cse478)) (= c_~mina~0 .cse477) (exists ((~B~0.offset Int)) (let ((.cse481 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse480 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse479 (select .cse480 .cse481))) (and (= .cse479 c_~minb~0) (<= (+ .cse479 .cse478) c_~minc~0) (<= (+ .cse477 .cse479) .cse3) (= c_~minc~0 (+ (select .cse480 ~B~0.offset) .cse478)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse481))))) (<= .cse477 .cse478))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse484 (select .cse485 (+ ~A~0.offset 4))) (.cse483 (select .cse485 ~A~0.offset))) (and (= c_~mina~0 .cse483) (<= .cse8 (+ .cse4 .cse483)) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse484 .cse4) .cse3) (<= (+ .cse483 1) .cse484) (= c_~minc~0 (+ .cse483 c_~minb~0)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse487 (select .cse488 (+ ~A~0.offset 4))) (.cse486 (select .cse488 ~A~0.offset))) (and (= c_~mina~0 .cse486) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse487 .cse4) .cse3) (<= (+ .cse486 1) .cse487) (= c_~minc~0 (* 2 .cse486)) (<= (+ .cse4 .cse486) c_~minc~0))))) .cse18) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse489 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse489 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse489 ~B~0.offset) .cse23))))) .cse53 (or (and (<= c_~minb~0 .cse23) .cse331) (and .cse51 .cse43)) .cse54) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse492 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse491 (select .cse492 (+ ~A~0.offset 4))) (.cse490 (select .cse492 ~A~0.offset))) (and (= c_~minc~0 (+ .cse23 .cse490)) (<= (+ .cse491 c_~minb~0) .cse3) (<= (+ .cse490 c_~minb~0) c_~minc~0) (= c_~mina~0 .cse491) (<= .cse491 .cse490))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse0)) (exists ((~A~0.base Int)) (let ((.cse495 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse494 (select .cse495 (+ ~A~0.offset 4))) (.cse493 (select .cse495 ~A~0.offset))) (and (= c_~mina~0 .cse493) (<= .cse8 (+ .cse4 .cse493)) (<= (+ .cse494 .cse4) .cse3) (<= (+ .cse493 1) .cse494) (= c_~minc~0 (+ .cse493 c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse498 (select .cse501 (+ ~A~0.offset 4))) (.cse497 (select .cse501 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse500 (select |c_#memory_int#1| ~B~0.base)) (.cse499 (+ ~B~0.offset 4))) (let ((.cse496 (select .cse500 .cse499))) (and (<= .cse8 (+ .cse496 .cse497)) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse498 .cse496) .cse3) (not (= ~A~0.offset .cse499)) (= c_~minc~0 (+ (select .cse500 ~B~0.offset) .cse497)))))) (= c_~minc~0 (+ .cse498 .cse497)) (= c_~mina~0 .cse498) (<= .cse498 .cse497) (= c_~minc~0 (+ .cse497 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse506 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse502 (select .cse506 ~A~0.offset)) (.cse503 (select .cse506 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse502) (<= (+ .cse503 .cse502) c_~minc~0) (<= (+ .cse502 1) .cse503) (<= (* 2 .cse503) .cse3) (exists ((~B~0.offset Int)) (let ((.cse505 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~B~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= .cse503 (select .cse504 .cse505)) (= c_~minc~0 (+ (select .cse504 ~B~0.offset) .cse502))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse505))))) (= .cse503 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse511 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse507 (select .cse511 (+ ~A~0.offset 4))) (.cse508 (select .cse511 ~A~0.offset))) (and (= c_~minc~0 (+ .cse507 .cse508)) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse509 (select .cse510 (+ ~B~0.offset 4)))) (and (<= .cse8 (+ .cse509 .cse508)) (= .cse509 .cse508) (not (= ~B~0.offset ~A~0.offset)) (<= (+ .cse507 .cse509) .cse3) (= c_~minc~0 (+ (select .cse510 ~B~0.offset) .cse508)))))) (= c_~mina~0 .cse507) (<= .cse507 .cse508) (= c_~minc~0 (+ .cse508 c_~minb~0)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse514 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse512 (select .cse514 ~A~0.offset)) (.cse513 (select .cse514 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse512) (<= (+ .cse513 .cse512) c_~minc~0) (<= (+ .cse512 1) .cse513) (<= (* 2 .cse513) .cse3) (= .cse513 c_~minb~0) (= .cse513 .cse4))))))))))))) is different from true