./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 3061b6dc Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.dk.eval-assert-order-craig-3061b6d-m [2024-11-19 01:54:41,813 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-19 01:54:41,889 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-11-19 01:54:41,896 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-19 01:54:41,896 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-19 01:54:41,925 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-19 01:54:41,926 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-19 01:54:41,927 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-19 01:54:41,928 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-19 01:54:41,929 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-19 01:54:41,929 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-19 01:54:41,930 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-19 01:54:41,930 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-19 01:54:41,932 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-19 01:54:41,933 INFO L153 SettingsManager]: * Use SBE=true [2024-11-19 01:54:41,933 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-19 01:54:41,933 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-19 01:54:41,934 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-19 01:54:41,934 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-19 01:54:41,934 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-19 01:54:41,935 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-19 01:54:41,939 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-19 01:54:41,939 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-19 01:54:41,940 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-19 01:54:41,940 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-19 01:54:41,940 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-19 01:54:41,941 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-19 01:54:41,941 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-19 01:54:41,941 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-19 01:54:41,942 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-19 01:54:41,942 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-11-19 01:54:41,942 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-19 01:54:41,942 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-19 01:54:41,943 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-19 01:54:41,943 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-19 01:54:41,943 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-19 01:54:41,943 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-19 01:54:41,944 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-19 01:54:41,944 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-19 01:54:41,944 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-19 01:54:41,945 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-19 01:54:41,947 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-19 01:54:41,947 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 632917bb2a5e88c193ba7761220e89039206b92cb89d98172ae8e9ad69d27ca8 [2024-11-19 01:54:42,196 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-19 01:54:42,217 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-19 01:54:42,220 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-19 01:54:42,221 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-19 01:54:42,222 INFO L274 PluginConnector]: CDTParser initialized [2024-11-19 01:54:42,223 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2024-11-19 01:54:43,699 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-19 01:54:43,877 INFO L384 CDTParser]: Found 1 translation units. [2024-11-19 01:54:43,878 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c [2024-11-19 01:54:43,887 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/36724b5e9/9cf601c11c4b4a379502f38bdcf54f79/FLAGe2080d772 [2024-11-19 01:54:44,265 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/36724b5e9/9cf601c11c4b4a379502f38bdcf54f79 [2024-11-19 01:54:44,268 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-19 01:54:44,269 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-19 01:54:44,272 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-19 01:54:44,273 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-19 01:54:44,277 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-19 01:54:44,278 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,278 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7bd766ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44, skipping insertion in model container [2024-11-19 01:54:44,279 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,300 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-19 01:54:44,586 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-11-19 01:54:44,603 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 01:54:44,617 INFO L200 MainTranslator]: Completed pre-run [2024-11-19 01:54:44,648 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-11-19 01:54:44,661 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 01:54:44,685 INFO L204 MainTranslator]: Completed translation [2024-11-19 01:54:44,686 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44 WrapperNode [2024-11-19 01:54:44,686 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-19 01:54:44,687 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-19 01:54:44,687 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-19 01:54:44,687 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-19 01:54:44,694 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,704 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,732 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 222 [2024-11-19 01:54:44,733 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-19 01:54:44,734 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-19 01:54:44,734 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-19 01:54:44,734 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-19 01:54:44,743 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,744 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,747 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,766 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2024-11-19 01:54:44,767 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,770 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,783 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,791 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,796 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,798 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,806 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-19 01:54:44,807 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-19 01:54:44,807 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-19 01:54:44,807 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-19 01:54:44,808 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (1/1) ... [2024-11-19 01:54:44,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-19 01:54:44,825 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:44,839 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-11-19 01:54:44,840 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-11-19 01:54:44,881 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-19 01:54:44,882 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-11-19 01:54:44,882 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-11-19 01:54:44,882 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-11-19 01:54:44,882 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-11-19 01:54:44,882 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-11-19 01:54:44,882 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-11-19 01:54:44,882 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-19 01:54:44,882 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-19 01:54:44,882 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-19 01:54:44,882 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-19 01:54:44,883 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-11-19 01:54:44,883 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-11-19 01:54:44,883 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-19 01:54:44,883 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-19 01:54:44,884 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-19 01:54:44,884 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-19 01:54:44,885 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-19 01:54:44,887 WARN L207 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-19 01:54:44,991 INFO L238 CfgBuilder]: Building ICFG [2024-11-19 01:54:44,994 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-19 01:54:45,409 INFO L283 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-19 01:54:45,410 INFO L287 CfgBuilder]: Performing block encoding [2024-11-19 01:54:45,750 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-19 01:54:45,751 INFO L316 CfgBuilder]: Removed 6 assume(true) statements. [2024-11-19 01:54:45,752 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 01:54:45 BoogieIcfgContainer [2024-11-19 01:54:45,752 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-19 01:54:45,754 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-19 01:54:45,754 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-19 01:54:45,758 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-19 01:54:45,759 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 19.11 01:54:44" (1/3) ... [2024-11-19 01:54:45,759 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63c523a1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.11 01:54:45, skipping insertion in model container [2024-11-19 01:54:45,760 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:44" (2/3) ... [2024-11-19 01:54:45,760 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63c523a1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.11 01:54:45, skipping insertion in model container [2024-11-19 01:54:45,760 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 01:54:45" (3/3) ... [2024-11-19 01:54:45,762 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2024-11-19 01:54:45,781 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-19 01:54:45,782 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-11-19 01:54:45,782 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-19 01:54:45,842 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-11-19 01:54:45,880 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2024-11-19 01:54:45,911 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2024-11-19 01:54:45,911 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-19 01:54:45,915 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. [2024-11-19 01:54:45,916 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2024-11-19 01:54:45,919 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2024-11-19 01:54:45,929 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-19 01:54:45,934 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;@bc7e5af, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-19 01:54:45,934 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-11-19 01:54:45,949 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-19 01:54:45,949 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2024-11-19 01:54:45,950 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-19 01:54:45,950 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:45,950 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:45,951 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)] === [2024-11-19 01:54:45,956 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:45,956 INFO L85 PathProgramCache]: Analyzing trace with hash 618773252, now seen corresponding path program 1 times [2024-11-19 01:54:45,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:45,964 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1075041280] [2024-11-19 01:54:45,964 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:45,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:46,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:46,456 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-19 01:54:46,457 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:46,457 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1075041280] [2024-11-19 01:54:46,459 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1075041280] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:46,459 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:46,459 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-19 01:54:46,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [236274841] [2024-11-19 01:54:46,462 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:46,470 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-19 01:54:46,476 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:46,505 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-19 01:54:46,505 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-19 01:54:46,507 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:46,510 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) [2024-11-19 01:54:46,510 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:46,510 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:46,511 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:46,732 INFO L124 PetriNetUnfolderBase]: 378/600 cut-off events. [2024-11-19 01:54:46,733 INFO L125 PetriNetUnfolderBase]: For 49/49 co-relation queries the response was YES. [2024-11-19 01:54:46,738 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1183 conditions, 600 events. 378/600 cut-off events. For 49/49 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 2170 event pairs, 251 based on Foata normal form. 0/519 useless extension candidates. Maximal degree in co-relation 993. Up to 520 conditions per place. [2024-11-19 01:54:46,746 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 27 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2024-11-19 01:54:46,746 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 148 flow [2024-11-19 01:54:46,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-19 01:54:46,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-19 01:54:46,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2024-11-19 01:54:46,761 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5128205128205128 [2024-11-19 01:54:46,763 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 60 transitions. [2024-11-19 01:54:46,764 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 148 flow [2024-11-19 01:54:46,769 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 136 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-11-19 01:54:46,772 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2024-11-19 01:54:46,775 INFO L260 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} [2024-11-19 01:54:46,779 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2024-11-19 01:54:46,780 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2024-11-19 01:54:46,780 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) [2024-11-19 01:54:46,780 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:46,781 INFO L204 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] [2024-11-19 01:54:46,781 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-19 01:54:46,782 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)] === [2024-11-19 01:54:46,782 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:46,783 INFO L85 PathProgramCache]: Analyzing trace with hash -1165415527, now seen corresponding path program 1 times [2024-11-19 01:54:46,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:46,783 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1450297973] [2024-11-19 01:54:46,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:46,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:46,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:46,944 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:54:46,945 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:46,945 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1450297973] [2024-11-19 01:54:46,945 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1450297973] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:46,945 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:46,945 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-19 01:54:46,946 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1884863092] [2024-11-19 01:54:46,946 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:46,947 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-19 01:54:46,947 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:46,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-19 01:54:46,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-19 01:54:46,958 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:46,959 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) [2024-11-19 01:54:46,959 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:46,959 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:46,960 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:47,135 INFO L124 PetriNetUnfolderBase]: 378/602 cut-off events. [2024-11-19 01:54:47,136 INFO L125 PetriNetUnfolderBase]: For 9/9 co-relation queries the response was YES. [2024-11-19 01:54:47,138 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1149 conditions, 602 events. 378/602 cut-off events. For 9/9 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 2153 event pairs, 251 based on Foata normal form. 0/521 useless extension candidates. Maximal degree in co-relation 1138. Up to 519 conditions per place. [2024-11-19 01:54:47,141 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 25 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2024-11-19 01:54:47,142 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 154 flow [2024-11-19 01:54:47,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-19 01:54:47,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-11-19 01:54:47,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2024-11-19 01:54:47,145 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.46794871794871795 [2024-11-19 01:54:47,145 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 73 transitions. [2024-11-19 01:54:47,145 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 154 flow [2024-11-19 01:54:47,146 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 150 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:47,147 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2024-11-19 01:54:47,148 INFO L260 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} [2024-11-19 01:54:47,148 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2024-11-19 01:54:47,150 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2024-11-19 01:54:47,150 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) [2024-11-19 01:54:47,151 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:47,151 INFO L204 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] [2024-11-19 01:54:47,151 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-19 01:54:47,151 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)] === [2024-11-19 01:54:47,152 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:47,152 INFO L85 PathProgramCache]: Analyzing trace with hash -2009133342, now seen corresponding path program 1 times [2024-11-19 01:54:47,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:47,152 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [536631262] [2024-11-19 01:54:47,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:47,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:47,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:47,346 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-11-19 01:54:47,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:47,347 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [536631262] [2024-11-19 01:54:47,348 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [536631262] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:47,348 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:47,349 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-19 01:54:47,349 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1279988481] [2024-11-19 01:54:47,349 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:47,350 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-19 01:54:47,350 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:47,351 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-19 01:54:47,351 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-19 01:54:47,352 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:47,352 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) [2024-11-19 01:54:47,353 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:47,353 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:47,353 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:47,491 INFO L124 PetriNetUnfolderBase]: 513/895 cut-off events. [2024-11-19 01:54:47,491 INFO L125 PetriNetUnfolderBase]: For 19/19 co-relation queries the response was YES. [2024-11-19 01:54:47,493 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1617 conditions, 895 events. 513/895 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 40. Compared 3746 event pairs, 172 based on Foata normal form. 1/776 useless extension candidates. Maximal degree in co-relation 1597. Up to 361 conditions per place. [2024-11-19 01:54:47,498 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 40 selfloop transitions, 2 changer transitions 2/51 dead transitions. [2024-11-19 01:54:47,499 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 51 transitions, 229 flow [2024-11-19 01:54:47,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-19 01:54:47,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-19 01:54:47,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2024-11-19 01:54:47,500 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6153846153846154 [2024-11-19 01:54:47,500 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 72 transitions. [2024-11-19 01:54:47,501 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 51 transitions, 229 flow [2024-11-19 01:54:47,501 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 51 transitions, 228 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:47,502 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2024-11-19 01:54:47,503 INFO L260 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} [2024-11-19 01:54:47,505 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2024-11-19 01:54:47,505 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2024-11-19 01:54:47,505 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) [2024-11-19 01:54:47,505 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:47,505 INFO L204 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] [2024-11-19 01:54:47,506 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-19 01:54:47,506 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)] === [2024-11-19 01:54:47,507 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:47,507 INFO L85 PathProgramCache]: Analyzing trace with hash 2082098651, now seen corresponding path program 1 times [2024-11-19 01:54:47,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:47,507 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [475647227] [2024-11-19 01:54:47,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:47,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:47,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:47,690 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:54:47,691 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:47,691 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [475647227] [2024-11-19 01:54:47,691 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [475647227] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:47,691 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1651359367] [2024-11-19 01:54:47,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:47,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:47,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:47,694 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:47,695 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-19 01:54:47,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:47,852 INFO L255 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-19 01:54:47,858 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:47,963 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:54:47,963 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:54:48,055 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:54:48,058 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1651359367] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 01:54:48,058 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 01:54:48,058 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-11-19 01:54:48,059 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [164703339] [2024-11-19 01:54:48,059 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 01:54:48,059 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-11-19 01:54:48,060 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:48,060 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-19 01:54:48,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2024-11-19 01:54:48,098 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:48,098 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) [2024-11-19 01:54:48,099 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:48,099 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:48,100 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:48,446 INFO L124 PetriNetUnfolderBase]: 899/1460 cut-off events. [2024-11-19 01:54:48,447 INFO L125 PetriNetUnfolderBase]: For 97/97 co-relation queries the response was YES. [2024-11-19 01:54:48,450 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2862 conditions, 1460 events. 899/1460 cut-off events. For 97/97 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 6211 event pairs, 398 based on Foata normal form. 0/1231 useless extension candidates. Maximal degree in co-relation 2092. Up to 681 conditions per place. [2024-11-19 01:54:48,455 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 36 selfloop transitions, 10 changer transitions 37/89 dead transitions. [2024-11-19 01:54:48,455 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 89 transitions, 430 flow [2024-11-19 01:54:48,455 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-19 01:54:48,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-11-19 01:54:48,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 164 transitions. [2024-11-19 01:54:48,457 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4672364672364672 [2024-11-19 01:54:48,457 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 9 states and 164 transitions. [2024-11-19 01:54:48,457 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 89 transitions, 430 flow [2024-11-19 01:54:48,459 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 89 transitions, 428 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:48,460 INFO L231 Difference]: Finished difference. Result has 51 places, 42 transitions, 173 flow [2024-11-19 01:54:48,460 INFO L260 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=9, PETRI_FLOW=173, PETRI_PLACES=51, PETRI_TRANSITIONS=42} [2024-11-19 01:54:48,461 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 13 predicate places. [2024-11-19 01:54:48,461 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 42 transitions, 173 flow [2024-11-19 01:54:48,461 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) [2024-11-19 01:54:48,461 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:48,461 INFO L204 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] [2024-11-19 01:54:48,480 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-11-19 01:54:48,662 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:48,663 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)] === [2024-11-19 01:54:48,663 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:48,663 INFO L85 PathProgramCache]: Analyzing trace with hash 796655525, now seen corresponding path program 2 times [2024-11-19 01:54:48,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:48,664 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810267967] [2024-11-19 01:54:48,664 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 01:54:48,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:48,710 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:54:48,710 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:48,803 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:48,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:48,804 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810267967] [2024-11-19 01:54:48,804 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [810267967] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:48,804 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:48,804 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:48,804 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2142869692] [2024-11-19 01:54:48,804 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:48,804 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:48,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:48,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:48,805 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:48,817 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:48,817 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 42 transitions, 173 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) [2024-11-19 01:54:48,817 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:48,818 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:48,818 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:49,131 INFO L124 PetriNetUnfolderBase]: 1119/1785 cut-off events. [2024-11-19 01:54:49,131 INFO L125 PetriNetUnfolderBase]: For 362/362 co-relation queries the response was YES. [2024-11-19 01:54:49,136 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3782 conditions, 1785 events. 1119/1785 cut-off events. For 362/362 co-relation queries the response was YES. Maximal size of possible extension queue 79. Compared 8467 event pairs, 452 based on Foata normal form. 13/1590 useless extension candidates. Maximal degree in co-relation 3747. Up to 886 conditions per place. [2024-11-19 01:54:49,144 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 64 selfloop transitions, 3 changer transitions 14/87 dead transitions. [2024-11-19 01:54:49,145 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 87 transitions, 459 flow [2024-11-19 01:54:49,145 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:54:49,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:54:49,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2024-11-19 01:54:49,147 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6051282051282051 [2024-11-19 01:54:49,147 INFO L175 Difference]: Start difference. First operand has 51 places, 42 transitions, 173 flow. Second operand 5 states and 118 transitions. [2024-11-19 01:54:49,147 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 87 transitions, 459 flow [2024-11-19 01:54:49,152 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 87 transitions, 433 flow, removed 10 selfloop flow, removed 4 redundant places. [2024-11-19 01:54:49,154 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2024-11-19 01:54:49,154 INFO L260 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} [2024-11-19 01:54:49,155 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2024-11-19 01:54:49,155 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2024-11-19 01:54:49,155 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) [2024-11-19 01:54:49,155 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:49,155 INFO L204 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] [2024-11-19 01:54:49,156 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-11-19 01:54:49,156 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)] === [2024-11-19 01:54:49,156 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:49,156 INFO L85 PathProgramCache]: Analyzing trace with hash 984709397, now seen corresponding path program 3 times [2024-11-19 01:54:49,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:49,157 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195311887] [2024-11-19 01:54:49,157 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 01:54:49,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:49,186 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-19 01:54:49,187 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:49,263 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:49,264 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:49,264 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1195311887] [2024-11-19 01:54:49,264 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1195311887] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:49,264 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:49,264 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:49,265 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [275122378] [2024-11-19 01:54:49,265 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:49,265 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:49,265 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:49,266 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:49,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:49,274 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:49,274 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) [2024-11-19 01:54:49,275 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:49,275 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:49,275 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:49,639 INFO L124 PetriNetUnfolderBase]: 1889/3087 cut-off events. [2024-11-19 01:54:49,640 INFO L125 PetriNetUnfolderBase]: For 1716/1716 co-relation queries the response was YES. [2024-11-19 01:54:49,648 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7350 conditions, 3087 events. 1889/3087 cut-off events. For 1716/1716 co-relation queries the response was YES. Maximal size of possible extension queue 130. Compared 16675 event pairs, 800 based on Foata normal form. 14/2863 useless extension candidates. Maximal degree in co-relation 7317. Up to 1492 conditions per place. [2024-11-19 01:54:49,663 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 68 selfloop transitions, 3 changer transitions 13/90 dead transitions. [2024-11-19 01:54:49,664 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 90 transitions, 512 flow [2024-11-19 01:54:49,664 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:54:49,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:54:49,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2024-11-19 01:54:49,666 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5794871794871795 [2024-11-19 01:54:49,667 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 113 transitions. [2024-11-19 01:54:49,667 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 90 transitions, 512 flow [2024-11-19 01:54:49,676 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 90 transitions, 490 flow, removed 7 selfloop flow, removed 2 redundant places. [2024-11-19 01:54:49,679 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2024-11-19 01:54:49,679 INFO L260 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} [2024-11-19 01:54:49,680 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2024-11-19 01:54:49,680 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2024-11-19 01:54:49,680 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) [2024-11-19 01:54:49,681 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:49,681 INFO L204 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] [2024-11-19 01:54:49,681 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2024-11-19 01:54:49,681 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)] === [2024-11-19 01:54:49,681 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:49,681 INFO L85 PathProgramCache]: Analyzing trace with hash -652521941, now seen corresponding path program 4 times [2024-11-19 01:54:49,681 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:49,682 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1803307597] [2024-11-19 01:54:49,682 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 01:54:49,682 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:49,700 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 01:54:49,701 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:49,754 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:49,755 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:49,755 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1803307597] [2024-11-19 01:54:49,756 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1803307597] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:49,756 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:49,756 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:49,756 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641663678] [2024-11-19 01:54:49,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:49,757 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:49,757 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:49,758 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:49,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:49,767 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:49,768 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) [2024-11-19 01:54:49,768 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:49,768 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:49,768 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:50,356 INFO L124 PetriNetUnfolderBase]: 2509/4057 cut-off events. [2024-11-19 01:54:50,357 INFO L125 PetriNetUnfolderBase]: For 2892/2892 co-relation queries the response was YES. [2024-11-19 01:54:50,368 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10245 conditions, 4057 events. 2509/4057 cut-off events. For 2892/2892 co-relation queries the response was YES. Maximal size of possible extension queue 167. Compared 23040 event pairs, 658 based on Foata normal form. 46/3758 useless extension candidates. Maximal degree in co-relation 10210. Up to 1714 conditions per place. [2024-11-19 01:54:50,387 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 98 selfloop transitions, 16 changer transitions 0/120 dead transitions. [2024-11-19 01:54:50,387 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 120 transitions, 705 flow [2024-11-19 01:54:50,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-19 01:54:50,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2024-11-19 01:54:50,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2024-11-19 01:54:50,389 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5224358974358975 [2024-11-19 01:54:50,389 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 163 transitions. [2024-11-19 01:54:50,389 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 120 transitions, 705 flow [2024-11-19 01:54:50,409 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 120 transitions, 685 flow, removed 3 selfloop flow, removed 2 redundant places. [2024-11-19 01:54:50,411 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2024-11-19 01:54:50,413 INFO L260 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} [2024-11-19 01:54:50,413 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2024-11-19 01:54:50,414 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2024-11-19 01:54:50,414 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) [2024-11-19 01:54:50,414 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:50,414 INFO L204 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] [2024-11-19 01:54:50,414 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-11-19 01:54:50,414 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)] === [2024-11-19 01:54:50,415 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:50,415 INFO L85 PathProgramCache]: Analyzing trace with hash -609846195, now seen corresponding path program 5 times [2024-11-19 01:54:50,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:50,415 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117140218] [2024-11-19 01:54:50,415 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 01:54:50,415 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:50,438 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:54:50,439 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:50,552 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-19 01:54:50,552 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:50,552 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [117140218] [2024-11-19 01:54:50,552 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [117140218] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:50,553 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1712824987] [2024-11-19 01:54:50,553 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 01:54:50,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:50,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:50,555 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:50,556 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-11-19 01:54:50,671 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:54:50,672 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:50,675 INFO L255 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-19 01:54:50,676 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:50,721 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:50,723 INFO L307 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-11-19 01:54:50,723 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1712824987] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:50,723 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-11-19 01:54:50,723 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 8 [2024-11-19 01:54:50,725 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [878902775] [2024-11-19 01:54:50,725 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:50,726 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:50,726 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:50,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:50,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2024-11-19 01:54:50,739 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:50,740 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 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) [2024-11-19 01:54:50,740 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:50,740 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:50,740 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:51,330 INFO L124 PetriNetUnfolderBase]: 3117/5131 cut-off events. [2024-11-19 01:54:51,331 INFO L125 PetriNetUnfolderBase]: For 7056/7168 co-relation queries the response was YES. [2024-11-19 01:54:51,345 INFO L83 FinitePrefix]: Finished finitePrefix Result has 14655 conditions, 5131 events. 3117/5131 cut-off events. For 7056/7168 co-relation queries the response was YES. Maximal size of possible extension queue 242. Compared 30994 event pairs, 316 based on Foata normal form. 140/5026 useless extension candidates. Maximal degree in co-relation 14618. Up to 2725 conditions per place. [2024-11-19 01:54:51,367 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 88 selfloop transitions, 7 changer transitions 15/116 dead transitions. [2024-11-19 01:54:51,367 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 116 transitions, 805 flow [2024-11-19 01:54:51,367 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:54:51,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:54:51,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 108 transitions. [2024-11-19 01:54:51,368 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5538461538461539 [2024-11-19 01:54:51,368 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 5 states and 108 transitions. [2024-11-19 01:54:51,368 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 116 transitions, 805 flow [2024-11-19 01:54:51,412 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 64 places, 116 transitions, 778 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:51,413 INFO L231 Difference]: Finished difference. Result has 67 places, 63 transitions, 345 flow [2024-11-19 01:54:51,414 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=289, PETRI_DIFFERENCE_MINUEND_PLACES=60, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=59, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=52, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=345, PETRI_PLACES=67, PETRI_TRANSITIONS=63} [2024-11-19 01:54:51,414 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 29 predicate places. [2024-11-19 01:54:51,415 INFO L471 AbstractCegarLoop]: Abstraction has has 67 places, 63 transitions, 345 flow [2024-11-19 01:54:51,415 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) [2024-11-19 01:54:51,415 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:51,415 INFO L204 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] [2024-11-19 01:54:51,429 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2024-11-19 01:54:51,619 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2024-11-19 01:54:51,620 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)] === [2024-11-19 01:54:51,620 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:51,620 INFO L85 PathProgramCache]: Analyzing trace with hash -1403297029, now seen corresponding path program 6 times [2024-11-19 01:54:51,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:51,621 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1482408102] [2024-11-19 01:54:51,621 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-19 01:54:51,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:51,644 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2024-11-19 01:54:51,645 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:51,733 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:51,734 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:51,734 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1482408102] [2024-11-19 01:54:51,734 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1482408102] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:51,734 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:51,734 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:51,734 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [359234586] [2024-11-19 01:54:51,735 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:51,735 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:51,735 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:51,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:51,737 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:51,749 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:51,749 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 67 places, 63 transitions, 345 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) [2024-11-19 01:54:51,749 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:51,750 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:51,750 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:52,574 INFO L124 PetriNetUnfolderBase]: 3939/6328 cut-off events. [2024-11-19 01:54:52,574 INFO L125 PetriNetUnfolderBase]: For 11424/11561 co-relation queries the response was YES. [2024-11-19 01:54:52,596 INFO L83 FinitePrefix]: Finished finitePrefix Result has 19804 conditions, 6328 events. 3939/6328 cut-off events. For 11424/11561 co-relation queries the response was YES. Maximal size of possible extension queue 340. Compared 39453 event pairs, 1398 based on Foata normal form. 28/5988 useless extension candidates. Maximal degree in co-relation 19763. Up to 3154 conditions per place. [2024-11-19 01:54:52,618 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 112 selfloop transitions, 9 changer transitions 36/163 dead transitions. [2024-11-19 01:54:52,619 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 163 transitions, 1268 flow [2024-11-19 01:54:52,619 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 01:54:52,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-19 01:54:52,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 132 transitions. [2024-11-19 01:54:52,620 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5641025641025641 [2024-11-19 01:54:52,620 INFO L175 Difference]: Start difference. First operand has 67 places, 63 transitions, 345 flow. Second operand 6 states and 132 transitions. [2024-11-19 01:54:52,620 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 163 transitions, 1268 flow [2024-11-19 01:54:52,656 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 163 transitions, 1264 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:52,658 INFO L231 Difference]: Finished difference. Result has 74 places, 69 transitions, 427 flow [2024-11-19 01:54:52,658 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=343, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=63, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=57, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=427, PETRI_PLACES=74, PETRI_TRANSITIONS=69} [2024-11-19 01:54:52,659 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 36 predicate places. [2024-11-19 01:54:52,659 INFO L471 AbstractCegarLoop]: Abstraction has has 74 places, 69 transitions, 427 flow [2024-11-19 01:54:52,659 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) [2024-11-19 01:54:52,659 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:52,659 INFO L204 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] [2024-11-19 01:54:52,659 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2024-11-19 01:54:52,660 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)] === [2024-11-19 01:54:52,660 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:52,660 INFO L85 PathProgramCache]: Analyzing trace with hash -1995638125, now seen corresponding path program 7 times [2024-11-19 01:54:52,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:52,660 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1377462646] [2024-11-19 01:54:52,660 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-19 01:54:52,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:52,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:52,793 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:52,793 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:52,794 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1377462646] [2024-11-19 01:54:52,794 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1377462646] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:52,794 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [838300668] [2024-11-19 01:54:52,794 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-19 01:54:52,794 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:52,794 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:52,796 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:52,798 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-11-19 01:54:52,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:52,917 INFO L255 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-19 01:54:52,918 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:52,981 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:52,981 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:54:53,046 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:53,047 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [838300668] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:53,047 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-19 01:54:53,047 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2024-11-19 01:54:53,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1232494445] [2024-11-19 01:54:53,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:53,047 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-19 01:54:53,048 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:53,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-19 01:54:53,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2024-11-19 01:54:53,060 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:53,062 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 69 transitions, 427 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) [2024-11-19 01:54:53,063 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:53,063 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:53,063 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:53,603 INFO L124 PetriNetUnfolderBase]: 2196/3700 cut-off events. [2024-11-19 01:54:53,604 INFO L125 PetriNetUnfolderBase]: For 10381/10637 co-relation queries the response was YES. [2024-11-19 01:54:53,617 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12602 conditions, 3700 events. 2196/3700 cut-off events. For 10381/10637 co-relation queries the response was YES. Maximal size of possible extension queue 221. Compared 22614 event pairs, 815 based on Foata normal form. 328/3766 useless extension candidates. Maximal degree in co-relation 12558. Up to 2043 conditions per place. [2024-11-19 01:54:53,629 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 62 selfloop transitions, 12 changer transitions 0/82 dead transitions. [2024-11-19 01:54:53,629 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 82 transitions, 618 flow [2024-11-19 01:54:53,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 01:54:53,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-19 01:54:53,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 105 transitions. [2024-11-19 01:54:53,630 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2024-11-19 01:54:53,631 INFO L175 Difference]: Start difference. First operand has 74 places, 69 transitions, 427 flow. Second operand 6 states and 105 transitions. [2024-11-19 01:54:53,631 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 82 transitions, 618 flow [2024-11-19 01:54:53,658 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 74 places, 82 transitions, 590 flow, removed 4 selfloop flow, removed 3 redundant places. [2024-11-19 01:54:53,660 INFO L231 Difference]: Finished difference. Result has 74 places, 64 transitions, 389 flow [2024-11-19 01:54:53,660 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=365, PETRI_DIFFERENCE_MINUEND_PLACES=69, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=64, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=12, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=52, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=389, PETRI_PLACES=74, PETRI_TRANSITIONS=64} [2024-11-19 01:54:53,660 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 36 predicate places. [2024-11-19 01:54:53,661 INFO L471 AbstractCegarLoop]: Abstraction has has 74 places, 64 transitions, 389 flow [2024-11-19 01:54:53,661 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) [2024-11-19 01:54:53,661 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:53,661 INFO L204 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] [2024-11-19 01:54:53,678 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-11-19 01:54:53,862 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:53,862 INFO L396 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:53,863 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:53,863 INFO L85 PathProgramCache]: Analyzing trace with hash -40943000, now seen corresponding path program 1 times [2024-11-19 01:54:53,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:53,863 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1436813297] [2024-11-19 01:54:53,863 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:53,863 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:53,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:54,023 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:54,024 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:54,024 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1436813297] [2024-11-19 01:54:54,024 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1436813297] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:54,024 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1573447448] [2024-11-19 01:54:54,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:54,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:54,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:54,027 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:54,029 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-11-19 01:54:54,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:54,147 INFO L255 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-19 01:54:54,151 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:54,229 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:54,229 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:54:54,307 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:54,307 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1573447448] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:54,308 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-19 01:54:54,308 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-11-19 01:54:54,308 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [907316454] [2024-11-19 01:54:54,308 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:54,308 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-19 01:54:54,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:54,309 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-19 01:54:54,309 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-11-19 01:54:54,318 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:54,319 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 64 transitions, 389 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) [2024-11-19 01:54:54,319 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:54,319 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:54,319 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:54,848 INFO L124 PetriNetUnfolderBase]: 2439/3782 cut-off events. [2024-11-19 01:54:54,848 INFO L125 PetriNetUnfolderBase]: For 10363/10490 co-relation queries the response was YES. [2024-11-19 01:54:54,863 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12959 conditions, 3782 events. 2439/3782 cut-off events. For 10363/10490 co-relation queries the response was YES. Maximal size of possible extension queue 205. Compared 20897 event pairs, 520 based on Foata normal form. 146/3634 useless extension candidates. Maximal degree in co-relation 12913. Up to 2152 conditions per place. [2024-11-19 01:54:54,880 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 72 selfloop transitions, 8 changer transitions 0/87 dead transitions. [2024-11-19 01:54:54,881 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 87 transitions, 711 flow [2024-11-19 01:54:54,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 01:54:54,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-19 01:54:54,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 98 transitions. [2024-11-19 01:54:54,882 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4188034188034188 [2024-11-19 01:54:54,882 INFO L175 Difference]: Start difference. First operand has 74 places, 64 transitions, 389 flow. Second operand 6 states and 98 transitions. [2024-11-19 01:54:54,882 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 87 transitions, 711 flow [2024-11-19 01:54:54,908 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 87 transitions, 653 flow, removed 9 selfloop flow, removed 6 redundant places. [2024-11-19 01:54:54,911 INFO L231 Difference]: Finished difference. Result has 72 places, 62 transitions, 361 flow [2024-11-19 01:54:54,911 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=335, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=61, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=53, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=361, PETRI_PLACES=72, PETRI_TRANSITIONS=62} [2024-11-19 01:54:54,912 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 34 predicate places. [2024-11-19 01:54:54,912 INFO L471 AbstractCegarLoop]: Abstraction has has 72 places, 62 transitions, 361 flow [2024-11-19 01:54:54,912 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) [2024-11-19 01:54:54,913 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:54,913 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:54,932 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2024-11-19 01:54:55,113 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:55,114 INFO L396 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:55,114 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:55,114 INFO L85 PathProgramCache]: Analyzing trace with hash 1743609634, now seen corresponding path program 1 times [2024-11-19 01:54:55,114 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:55,114 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1126895749] [2024-11-19 01:54:55,115 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:55,115 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:55,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:57,131 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-19 01:54:57,132 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:57,132 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1126895749] [2024-11-19 01:54:57,132 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1126895749] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:57,132 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [481828844] [2024-11-19 01:54:57,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:57,132 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:57,133 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:57,134 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:57,137 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-19 01:54:57,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:57,258 INFO L255 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 25 conjuncts are in the unsatisfiable core [2024-11-19 01:54:57,261 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:57,786 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2024-11-19 01:54:57,787 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 135 treesize of output 171 [2024-11-19 01:55:12,084 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse524 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse524 c_~C~0.offset)) (.cse50 (select .cse524 .cse109)) (.cse523 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse523)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse158 (+ .cse7 c_~minb~0)) (.cse171 (* 2 c_~minb~0)) (.cse1 (select .cse524 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse171 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse523 .cse1)) (.cse8 (<= .cse158 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse342 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse522 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse521 (select .cse522 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse521) (<= (+ .cse521 c_~minb~0 1) .cse1) (<= (+ .cse521 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse522 ~A~0.offset) c_~minb~0)) (= (+ .cse521 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse171)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse361 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse520 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse519 (select .cse520 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse519 c_~minb~0)) (<= (+ .cse519 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse520 ~A~0.offset) c_~minb~0)) (= (+ .cse519 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse129 (select |c_#memory_int#1| ~A~0.base)) (.cse125 (+ ~A~0.offset 4))) (let ((.cse126 (select .cse129 .cse125)) (.cse127 (select |c_#memory_int#1| ~B~0.base)) (.cse128 (+ ~B~0.offset 4))) (and (not (= .cse125 ~B~0.offset)) (<= .cse14 (+ .cse126 c_~minb~0)) (= (+ .cse126 (select .cse127 .cse128)) .cse1) (<= (+ .cse126 c_~minb~0 1) .cse1) (= (select .cse127 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse129 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse128))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse133 (+ ~A~0.offset 4)) (.cse134 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse130 (select .cse134 ~A~0.offset)) (.cse131 (select .cse134 .cse133))) (and (= c_~mina~0 .cse130) (<= (+ .cse130 1) .cse131) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse132 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse131 (select .cse132 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse132 ~B~0.offset) .cse130))))) (not (= .cse133 ~B~0.offset)))) (= (* 2 .cse131) .cse1) (= (+ .cse131 c_~minb~0) .cse1) (<= (+ .cse130 .cse1) (+ c_~minc~0 .cse131)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse136 (select .cse137 ~A~0.offset)) (.cse135 (select .cse137 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse135) (= (+ .cse135 c_~minb~0) .cse1) (<= .cse135 .cse136) (<= (+ .cse136 .cse1) (+ c_~minc~0 .cse135)) (= (+ .cse135 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse139 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse138 (select .cse139 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse138) (<= (+ .cse138 c_~minb~0 1) .cse1) (<= (+ .cse138 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse139 ~A~0.offset) c_~minb~0)) (= (+ .cse138 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse140 (select .cse142 ~A~0.offset)) (.cse141 (select .cse142 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse140)) (= c_~mina~0 .cse141) (= (+ .cse141 c_~minb~0) .cse1) (<= .cse141 .cse140) (<= (+ .cse140 .cse1) (+ c_~minc~0 .cse141)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse143 (select .cse146 ~A~0.offset)) (.cse144 (select .cse146 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse143) (= c_~minc~0 (+ .cse144 .cse143)) (<= (+ .cse143 1) .cse144) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse145 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse144 (select .cse145 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse145 ~B~0.offset) .cse143))))) (= (+ .cse144 c_~minb~0) .cse1) (<= (+ .cse143 .cse1) (+ c_~minc~0 .cse144)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse150 (+ ~A~0.offset 4)) (.cse151 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse149 (select .cse151 ~A~0.offset)) (.cse147 (select .cse151 .cse150))) (and (= c_~mina~0 .cse147) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse147 (select .cse148 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse148 ~B~0.offset) .cse149))))) (not (= .cse150 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse147 c_~minb~0) .cse1) (<= .cse147 .cse149) (<= (+ .cse149 .cse1) (+ c_~minc~0 .cse147)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse153 (select .cse154 ~A~0.offset)) (.cse152 (select .cse154 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse152) (= (+ .cse152 c_~minb~0) .cse1) (<= .cse152 .cse153) (<= (+ .cse153 .cse1) (+ c_~minc~0 .cse152)) (= (+ .cse152 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse157 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse155 (select .cse157 (+ ~A~0.offset 4)))) (and (= (+ .cse155 (select .cse156 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse155) (<= (+ .cse155 c_~minb~0 1) .cse1) (<= (+ .cse155 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse157 ~A~0.offset) c_~minb~0)))))) (= (select .cse156 ~B~0.offset) c_~minb~0)))))) (and (= c_~minc~0 .cse158) (let ((.cse189 (div (* (- 1) .cse1) 2))) (let ((.cse162 (+ c_~minb~0 1)) (.cse184 (+ .cse189 .cse1))) (let ((.cse159 (<= (+ .cse171 1) .cse1)) (.cse160 (<= .cse14 .cse171)) (.cse165 (<= .cse162 .cse184)) (.cse166 (= (mod .cse1 2) 0))) (or (and .cse159 .cse10 .cse160 .cse49) (exists ((~B~0.offset Int)) (let ((.cse161 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse161)) (exists ((~B~0.base Int)) (let ((.cse164 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse163 (select .cse164 .cse161))) (and (<= .cse162 .cse163) (<= .cse11 (+ c_~minc~0 .cse163)) (= (+ c_~mina~0 .cse163) .cse1) (= (select .cse164 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse165 .cse10 .cse166) (and .cse159 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse167 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse167 ~B~0.offset) c_~minb~0) (= (+ (select .cse167 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse168 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse168)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse169 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse169 ~B~0.offset) c_~minb~0) (= (+ (select .cse169 .cse168) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse170 ~B~0.offset) c_~minb~0) (= (+ (select .cse170 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse171 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse160))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse172 (select .cse173 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse172) (<= .cse11 (+ c_~minc~0 .cse172)) (= (+ c_~mina~0 .cse172) .cse1) (= (select .cse173 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse175 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse174 (select .cse175 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse174) (<= .cse11 (+ c_~minc~0 .cse174)) (= (+ c_~mina~0 .cse174) .cse1) (= (select .cse175 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse176 (select .cse177 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse176 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse176) (= (select .cse177 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse179 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse178 (select .cse179 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse178 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse178) (= (select .cse179 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse181 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse180 (select .cse181 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse180) (<= .cse11 (+ c_~minc~0 .cse180)) (= (+ c_~mina~0 .cse180) .cse1) (= (select .cse181 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (and .cse165 (let ((.cse185 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse192 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse192 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse192 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))))) (or (and (or (exists ((~B~0.offset Int)) (let ((.cse182 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse182)) (exists ((~B~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse183 .cse182) .cse184) (= (select .cse183 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) .cse185) .cse113) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse186 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse186 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse187 (+ ~B~0.offset 4)) .cse184) (not (= c_~C~0.base ~B~0.base)) (= (select .cse187 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse185 (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse188 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse188 (+ ~B~0.offset 4)) .cse184) (= (select .cse188 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse189 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse190 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse190)) (exists ((~B~0.base Int)) (let ((.cse191 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse191 .cse190) .cse184) (= (select .cse191 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or (and (<= c_~minb~0 (+ c_~minc~0 .cse189)) (= (+ .cse189 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse189 1) c_~minb~0))) .cse166) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse194 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse193 (select .cse194 (+ ~B~0.offset 4)))) (and (<= .cse162 .cse193) (= c_~minc~0 (+ .cse193 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse193)) (= (+ c_~mina~0 .cse193) .cse1) (= (select .cse194 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse196 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse195 (select .cse196 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse195 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse162 .cse195) (= (select .cse196 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse198 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse197 (select .cse198 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse197 1) .cse11) (<= .cse162 .cse197) (= c_~minc~0 (+ .cse197 c_~minb~0)) (= (select .cse198 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base)) (.cse200 (+ ~B~0.offset 4))) (let ((.cse199 (select .cse201 .cse200))) (and (<= (+ c_~minc~0 .cse199 1) .cse11) (<= .cse162 .cse199) (not (= c_~C~0.offset .cse200)) (= (select .cse201 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse205 (+ ~A~0.offset 4)) (.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse202 (select .cse206 ~A~0.offset)) (.cse203 (select .cse206 .cse205))) (and (= c_~mina~0 .cse202) (<= (+ .cse202 1) .cse203) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse204 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse203 (select .cse204 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse204 ~B~0.offset) .cse202))))) (not (= .cse205 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse203 c_~minb~0) .cse1) (<= (+ .cse202 .cse1) (+ c_~minc~0 .cse203)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse209 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse207 (select .cse209 (+ ~A~0.offset 4))) (.cse208 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse207 c_~minb~0)) (= (+ .cse207 (select .cse208 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse207 c_~minb~0 1) .cse1) (= (select .cse208 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse209 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse212 (+ ~A~0.offset 4)) (.cse214 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse211 (select .cse214 ~A~0.offset)) (.cse210 (select .cse214 .cse212))) (and (= (+ .cse210 .cse211) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse212 ~B~0.offset)) (= (+ .cse210 (select .cse213 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse213 ~B~0.offset) .cse211))))) (= c_~mina~0 .cse210) (= (+ .cse210 c_~minb~0) .cse1) (<= .cse210 .cse211) (<= (+ .cse211 .cse1) (+ c_~minc~0 .cse210)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse215 (select .cse216 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse215 c_~minb~0)) (<= (+ .cse215 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse216 ~A~0.offset) c_~minb~0)) (= (+ .cse215 .cse50) .cse1) (= .cse215 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse217 (select .cse220 ~A~0.offset)) (.cse218 (select .cse220 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse217) (<= (+ .cse217 1) .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse219 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse219 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse219 ~B~0.offset) .cse217))))) (= (+ .cse218 c_~minb~0) .cse1) (<= (+ .cse217 .cse1) (+ c_~minc~0 .cse218)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse224 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse221 (select .cse224 (+ ~A~0.offset 4))) (.cse222 (select .cse224 ~A~0.offset))) (and (= c_~minc~0 (+ .cse221 .cse222)) (= c_~mina~0 .cse221) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse221 (select .cse223 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse223 ~B~0.offset) .cse222))))) (= (* 2 .cse221) .cse1) (= (+ .cse221 c_~minb~0) .cse1) (<= .cse221 .cse222))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse225 (select .cse228 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse225) (<= (+ .cse225 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse227 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse225 (select .cse226 .cse227)) .cse1) (= (select .cse226 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse227))))) (<= (+ .cse225 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse228 ~A~0.offset) c_~minb~0)) (= .cse225 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse229 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse230 (+ ~A~0.offset 4))) (and (not (= .cse230 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse231 (select .cse232 .cse230))) (and (= .cse11 (+ c_~minc~0 .cse231)) (= (+ .cse231 (select .cse229 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse231) (<= (+ .cse231 c_~minb~0 1) .cse1) (<= (+ .cse231 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse232 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse233 (select .cse237 ~A~0.offset)) (.cse234 (select .cse237 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse233) (exists ((~B~0.offset Int)) (let ((.cse236 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse235 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse234 (select .cse235 .cse236)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse235 ~B~0.offset) .cse233))))) (not (= ~A~0.offset .cse236))))) (= c_~minc~0 (+ .cse234 .cse233)) (<= (+ .cse233 1) .cse234) (= (* 2 .cse234) .cse1) (= (+ .cse234 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse242 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse238 (select .cse242 ~A~0.offset)) (.cse239 (select .cse242 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse238) (exists ((~B~0.offset Int)) (let ((.cse241 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse240 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse239 (select .cse240 .cse241)) .cse1) (= c_~minc~0 (+ (select .cse240 ~B~0.offset) .cse238))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse241))))) (= c_~minc~0 (+ .cse239 .cse238)) (<= (+ .cse238 1) .cse239) (= (* 2 .cse239) .cse1) (= (+ .cse239 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse247 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse243 (select .cse247 .cse245)) (.cse244 (select .cse247 ~A~0.offset))) (and (= (+ .cse243 .cse244) .cse1) (= c_~mina~0 .cse243) (= (* 2 .cse243) .cse1) (= (+ .cse243 c_~minb~0) .cse1) (<= (+ .cse244 .cse1) (+ c_~minc~0 .cse243)) (exists ((~B~0.offset Int)) (and (not (= .cse245 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse246 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse243 (select .cse246 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse246 ~B~0.offset) .cse244))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~A~0.base)) (.cse248 (+ ~A~0.offset 4))) (let ((.cse249 (select .cse251 .cse248)) (.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse248 ~B~0.offset)) (<= .cse14 (+ .cse249 c_~minb~0)) (= (+ .cse249 (select .cse250 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse249 c_~minb~0 1) .cse1) (= (select .cse250 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse251 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse252 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse271 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse271 ~B~0.offset) .cse7)))))) (.cse261 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse266 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse270 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse270 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse270 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse267 (exists ((~B~0.offset Int)) (let ((.cse268 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse268)) (exists ((~B~0.base Int)) (let ((.cse269 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse269 .cse268) c_~minb~0) (= c_~minc~0 (+ (select .cse269 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse252 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse253 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse257 (exists ((~B~0.offset Int)) (let ((.cse259 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse259)) (exists ((~B~0.base Int)) (let ((.cse260 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse260 .cse259) c_~minb~0) (= c_~minc~0 (+ (select .cse260 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse254 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse254 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse254 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse252 (exists ((~B~0.offset Int)) (let ((.cse255 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse255)) (exists ((~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse256 .cse255) c_~minb~0) (= c_~minc~0 (+ (select .cse256 ~B~0.offset) .cse7)))))))) .cse257)) .cse252 .cse257 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse258 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse258 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse261) (and .cse261 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse263 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse263)) (exists ((~B~0.base Int)) (let ((.cse264 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse264 .cse263) c_~minb~0) (= c_~minc~0 (+ (select .cse264 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse265 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse265 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse265 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse266)) .cse266 .cse267)) .cse266 .cse267)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse158) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse274 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse275 (select |c_#memory_int#1| ~A~0.base)) (.cse272 (+ ~A~0.offset 4))) (let ((.cse273 (select .cse275 .cse272))) (and (not (= .cse272 ~B~0.offset)) (= (+ .cse273 (select .cse274 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse273) (<= (+ .cse273 c_~minb~0 1) .cse1) (<= (+ .cse273 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse275 ~A~0.offset) c_~minb~0)))))) (= (select .cse274 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse279 ~A~0.offset)) (.cse276 (select .cse279 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse276 .cse277)) (= c_~mina~0 .cse276) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse276 (select .cse278 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse278 ~B~0.offset) .cse277))))) (= (+ .cse276 c_~minb~0) .cse1) (<= .cse276 .cse277) (<= (+ .cse277 .cse1) (+ c_~minc~0 .cse276)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse281 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse281 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse281 ~A~0.offset) c_~minb~0)) (= (+ .cse280 .cse50) .cse1) (= .cse280 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse282 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse286 (+ ~A~0.offset 4)) (.cse284 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse285 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse283 (select .cse285 .cse286))) (and (= (+ .cse283 (select .cse282 .cse284)) .cse1) (= c_~mina~0 .cse283) (<= (+ .cse283 c_~minb~0 1) .cse1) (<= (+ .cse283 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse285 ~A~0.offset) c_~minb~0)))))) (not (= .cse286 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse284)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse289 ~A~0.offset)) (.cse288 (select .cse289 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse287) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse287 1) .cse288) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)) (= (+ .cse288 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse295 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse290 (select .cse295 ~A~0.offset)) (.cse291 (select .cse295 .cse294))) (and (= c_~mina~0 .cse290) (exists ((~B~0.offset Int)) (let ((.cse293 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse292 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse291 (select .cse292 .cse293)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse292 ~B~0.offset) .cse290))))) (not (= .cse294 ~B~0.offset)) (not (= ~A~0.offset .cse293))))) (<= (+ .cse290 1) .cse291) (= (* 2 .cse291) .cse1) (= (+ .cse291 c_~minb~0) .cse1) (<= (+ .cse290 .cse1) (+ c_~minc~0 .cse291)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse297 (+ ~A~0.offset 4)) (.cse301 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse296 (select .cse301 ~A~0.offset)) (.cse298 (select .cse301 .cse297))) (and (= c_~mina~0 .cse296) (exists ((~B~0.offset Int)) (let ((.cse300 (+ ~B~0.offset 4))) (and (not (= .cse297 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse299 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse298 (select .cse299 .cse300)) .cse1) (= c_~minc~0 (+ (select .cse299 ~B~0.offset) .cse296))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse300))))) (<= (+ .cse296 1) .cse298) (= (+ .cse298 c_~minb~0) .cse1) (<= (+ .cse296 .cse1) (+ c_~minc~0 .cse298)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse306 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse302 (select .cse306 ~A~0.offset)) (.cse303 (select .cse306 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse302) (exists ((~B~0.offset Int)) (let ((.cse305 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse304 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse303 (select .cse304 .cse305)) .cse1) (= c_~minc~0 (+ (select .cse304 ~B~0.offset) .cse302))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse305))))) (= c_~minc~0 (+ .cse303 .cse302)) (<= (+ .cse302 1) .cse303) (= (+ .cse303 c_~minb~0) .cse1) (<= (+ .cse302 .cse1) (+ c_~minc~0 .cse303)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse308 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse307 (select .cse308 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse307) (<= (+ .cse307 c_~minb~0 1) .cse1) (<= (+ .cse307 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse308 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse310 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse309 (select .cse310 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse309)) (= c_~mina~0 .cse309) (<= (+ .cse309 c_~minb~0 1) .cse1) (= (* 2 .cse309) .cse1) (= c_~minc~0 (+ (select .cse310 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse312 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse311 (select .cse312 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse311 c_~minb~0)) (<= (+ .cse311 c_~minb~0 1) .cse1) (= (* 2 .cse311) .cse1) (= c_~minc~0 (+ (select .cse312 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse313 (select .cse314 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse313)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse313 c_~minb~0)) (<= (+ .cse313 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse314 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse316 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse315 (select .cse316 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse315)) (= c_~mina~0 .cse315) (<= (+ .cse315 c_~minb~0 1) .cse1) (<= (+ .cse315 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse316 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse318 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse317 (select .cse318 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse317 c_~minb~0)) (<= (+ .cse317 c_~minb~0 1) .cse1) (= (* 2 .cse317) .cse1) (= c_~minc~0 (+ (select .cse318 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse320 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse319 (select .cse320 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse319) (<= (+ .cse319 c_~minb~0 1) .cse1) (<= (+ .cse319 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse320 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse322 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse321 (select .cse322 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse321) (<= (+ .cse321 c_~minb~0 1) .cse1) (= (* 2 .cse321) .cse1) (<= (+ .cse321 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse322 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse324 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse323 (select .cse324 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse323 c_~minb~0)) (<= (+ .cse323 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse324 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse325 (select .cse326 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse325 c_~minb~0)) (<= (+ .cse325 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse326 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse328 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse327 (select .cse328 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse327 c_~minb~0)) (<= (+ .cse327 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse328 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse330 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse329 (select .cse330 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse329) (<= (+ .cse329 c_~minb~0 1) .cse1) (= (* 2 .cse329) .cse1) (<= (+ .cse329 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse330 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse331) (<= (+ .cse331 c_~minb~0 1) .cse1) (<= (+ .cse331 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse332 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse336 (select .cse338 ~A~0.offset)) (.cse337 (select .cse338 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse336) (<= (+ .cse336 1) .cse337) (= (+ .cse337 c_~minb~0) .cse1) (<= (+ .cse336 .cse1) (+ c_~minc~0 .cse337)) (= (+ .cse337 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse341 ~A~0.offset)) (.cse339 (select .cse341 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse339) (= (+ .cse339 c_~minb~0) .cse1) (<= .cse339 .cse340) (<= (+ .cse340 .cse1) (+ c_~minc~0 .cse339)) (= c_~minc~0 (* 2 .cse340)) (= (+ .cse339 .cse50) .cse1))))) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse345 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse343 (select .cse345 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse344 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse343) (<= (+ .cse343 c_~minb~0 1) .cse1) (<= (+ .cse343 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse345 ~A~0.offset) c_~minb~0)) (= .cse343 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse349 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse348 (select .cse349 ~A~0.offset)) (.cse346 (select .cse349 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse347 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse346 (select .cse347 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse347 ~B~0.offset) .cse348))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse346 .cse348)) (= c_~mina~0 .cse346) (= (+ .cse346 c_~minb~0) .cse1) (<= .cse346 .cse348) (<= (+ .cse348 .cse1) (+ c_~minc~0 .cse346)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse353 (+ ~A~0.offset 4)) (.cse354 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse354 ~A~0.offset)) (.cse350 (select .cse354 .cse353))) (and (= c_~mina~0 .cse350) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse351 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse350 (select .cse351 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) .cse352))))) (not (= .cse353 ~B~0.offset)))) (= (* 2 .cse350) .cse1) (= (+ .cse350 c_~minb~0) .cse1) (<= .cse350 .cse352) (<= (+ .cse352 .cse1) (+ c_~minc~0 .cse350)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse356 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse355 (select .cse356 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse355) (<= (+ .cse355 c_~minb~0 1) .cse1) (<= (+ .cse355 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse356 ~A~0.offset) c_~minb~0)) (= (+ .cse355 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse358 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse357 (select .cse358 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse357 c_~minb~0)) (<= (+ .cse357 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse358 ~A~0.offset) c_~minb~0)) (= (+ .cse357 .cse50) .cse1))))) .cse10) .cse342 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse360 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse359 (select .cse360 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse359) (<= (+ .cse359 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse360 ~A~0.offset) c_~minb~0)) (= (+ .cse359 .cse50) .cse1) (= .cse359 c_~minb~0))))) .cse361) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse366 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse363 (select .cse366 (+ ~A~0.offset 4))) (.cse365 (select .cse366 ~A~0.offset))) (let ((.cse362 (+ .cse363 .cse365))) (and (= .cse362 .cse1) (= c_~minc~0 .cse362) (= c_~mina~0 .cse363) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse364 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse363 (select .cse364 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse364 ~B~0.offset) .cse365))))) (= (+ .cse363 c_~minb~0) .cse1) (<= .cse363 .cse365) (<= (+ .cse365 .cse1) (+ c_~minc~0 .cse363))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse367 (select .cse368 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse367) (<= (+ .cse367 c_~minb~0 1) .cse1) (<= (+ .cse367 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)) (= (+ .cse367 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse369) (<= (+ .cse369 c_~minb~0 1) .cse1) (= (* 2 .cse369) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse370 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse369 (select .cse370 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse370 ~B~0.offset) c_~minb~0)))) (<= (+ .cse369 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse371 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse372 (select .cse374 ~A~0.offset)) (.cse373 (select .cse374 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse372)) (= c_~mina~0 .cse372) (<= (+ .cse372 1) .cse373) (= (+ .cse373 c_~minb~0) .cse1) (<= (+ .cse372 .cse1) (+ c_~minc~0 .cse373)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (+ ~A~0.offset 4)) (.cse379 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse376 (select .cse379 ~A~0.offset)) (.cse375 (select .cse379 .cse378))) (and (= (+ .cse375 .cse376) .cse1) (= c_~mina~0 .cse375) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse377 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse375 (select .cse377 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse377 ~B~0.offset) .cse376))))) (not (= .cse378 ~B~0.offset)))) (= (* 2 .cse375) .cse1) (= (+ .cse375 c_~minb~0) .cse1) (<= (+ .cse376 .cse1) (+ c_~minc~0 .cse375)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse381 (select |c_#memory_int#1| ~A~0.base)) (.cse382 (+ ~A~0.offset 4))) (let ((.cse380 (select .cse381 .cse382))) (and (= c_~mina~0 .cse380) (<= (+ .cse380 c_~minb~0 1) .cse1) (= (* 2 .cse380) .cse1) (<= (+ .cse380 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse381 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse384 (+ ~B~0.offset 4))) (and (not (= .cse382 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse380 (select .cse383 .cse384)) .cse1) (= (select .cse383 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse384))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse387 (select .cse388 ~A~0.offset)) (.cse385 (select .cse388 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse385) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse386 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse385 (select .cse386 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse386 ~B~0.offset) .cse387))))) (= (+ .cse385 c_~minb~0) .cse1) (<= .cse385 .cse387) (<= (+ .cse387 .cse1) (+ c_~minc~0 .cse385)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base)) (.cse389 (+ ~A~0.offset 4))) (let ((.cse390 (select .cse392 .cse389))) (and (exists ((~B~0.offset Int)) (and (not (= .cse389 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse390 (select .cse391 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse391 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse390) (<= (+ .cse390 c_~minb~0 1) .cse1) (= (* 2 .cse390) .cse1) (<= (+ .cse390 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse392 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse394 (select .cse395 ~A~0.offset)) (.cse393 (select .cse395 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse393) (= (+ .cse393 c_~minb~0) .cse1) (<= .cse393 .cse394) (<= (+ .cse394 .cse1) (+ c_~minc~0 .cse393)) (= c_~minc~0 (* 2 .cse394)) (= (+ .cse393 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base)) (.cse397 (+ ~A~0.offset 4))) (let ((.cse396 (select .cse399 .cse397))) (and (<= .cse14 (+ .cse396 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse397 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse396 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse396 c_~minb~0 1) .cse1) (= (* 2 .cse396) .cse1) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse402 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse400 (select .cse402 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse401 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse401 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse402 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse404 (select |c_#memory_int#1| ~A~0.base)) (.cse405 (+ ~A~0.offset 4))) (let ((.cse403 (select .cse404 .cse405))) (and (<= .cse14 (+ .cse403 c_~minb~0)) (<= (+ .cse403 c_~minb~0 1) .cse1) (= (* 2 .cse403) .cse1) (= c_~minc~0 (+ (select .cse404 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse407 (+ ~B~0.offset 4))) (and (not (= .cse405 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse406 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse403 (select .cse406 .cse407)) .cse1) (= (select .cse406 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse407))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~A~0.base)) (.cse409 (+ ~A~0.offset 4))) (let ((.cse408 (select .cse411 .cse409))) (and (<= .cse14 (+ .cse408 c_~minb~0)) (<= (+ .cse408 c_~minb~0 1) .cse1) (= (* 2 .cse408) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse409 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse410 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse408 (select .cse410 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse410 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse411 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse415 (select |c_#memory_int#1| ~A~0.base)) (.cse413 (+ ~A~0.offset 4))) (let ((.cse412 (select .cse415 .cse413))) (and (<= .cse14 (+ .cse412 c_~minb~0)) (= (* 2 .cse412) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse413 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse412 (select .cse414 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse414 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse415 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse417 (select |c_#memory_int#1| ~A~0.base)) (.cse418 (+ ~A~0.offset 4))) (let ((.cse416 (select .cse417 .cse418))) (and (<= .cse14 (+ .cse416 c_~minb~0)) (= (* 2 .cse416) .cse1) (= c_~minc~0 (+ (select .cse417 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse420 (+ ~B~0.offset 4))) (and (not (= .cse418 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse419 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse416 (select .cse419 .cse420)) .cse1) (= (select .cse419 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse420)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse421 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse422 (select .cse421 ~B~0.offset))) (let ((.cse423 (+ .cse422 .cse50))) (and (= (+ .cse50 (select .cse421 (+ ~B~0.offset 4))) .cse1) (= (+ .cse422 .cse1) .cse48) (<= .cse1 .cse423) (<= .cse423 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse428 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse429 (select .cse428 ~B~0.offset))) (let ((.cse427 (+ .cse429 .cse50))) (and (<= .cse14 .cse427) (= (+ .cse50 (select .cse428 (+ ~B~0.offset 4))) .cse1) (= (+ .cse429 .cse1) .cse48) (<= .cse1 .cse427) (= c_~minc~0 (+ .cse429 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse431 (+ (select .cse430 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse430 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (<= .cse431 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (+ (select .cse432 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse433) (<= .cse433 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse435 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse436 (select .cse435 ~B~0.offset))) (let ((.cse434 (+ .cse436 .cse50))) (and (<= .cse14 .cse434) (= (+ .cse50 (select .cse435 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse434) (= c_~minc~0 (+ .cse436 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (+ (select .cse437 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse438) (<= .cse438 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse440 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse441 (select .cse440 ~B~0.offset))) (let ((.cse439 (+ .cse441 .cse50))) (and (<= .cse14 .cse439) (= (+ .cse50 (select .cse440 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse439) (= c_~minc~0 (+ .cse441 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 (+ ~A~0.offset 4))) (.cse443 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse442 c_~minb~0)) (= (+ .cse442 (select .cse443 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse442 c_~minb~0 1) .cse1) (= (select .cse443 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse444 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse445 (select .cse447 ~A~0.offset)) (.cse446 (select .cse447 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse445)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse446) (= (+ .cse446 c_~minb~0) .cse1) (<= .cse446 .cse445) (<= (+ .cse445 .cse1) (+ c_~minc~0 .cse446)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse450 ~A~0.offset)) (.cse448 (select .cse450 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= .cse448 .cse449) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)) (= (+ .cse448 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse453 (+ ~A~0.offset 4)) (.cse455 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse452 (select .cse455 ~A~0.offset)) (.cse451 (select .cse455 .cse453))) (and (= (+ .cse451 .cse452) .cse1) (= c_~mina~0 .cse452) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse453 ~B~0.offset)) (= (+ .cse451 (select .cse454 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse454 ~B~0.offset) .cse452))))) (<= (+ .cse452 1) .cse451) (= (+ .cse451 c_~minb~0) .cse1) (<= (+ .cse452 .cse1) (+ c_~minc~0 .cse451)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse456 (select .cse457 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse456 c_~minb~0)) (<= (+ .cse456 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse457 ~A~0.offset) c_~minb~0)) (= (+ .cse456 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse458 (+ ~A~0.offset 4)) (.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 ~A~0.offset)) (.cse459 (select .cse463 .cse458))) (and (exists ((~B~0.offset Int)) (let ((.cse461 (+ ~B~0.offset 4))) (and (not (= .cse458 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse460 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse459 (select .cse460 .cse461)) .cse1) (= c_~minc~0 (+ (select .cse460 ~B~0.offset) .cse462))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse461))))) (= c_~mina~0 .cse459) (= (* 2 .cse459) .cse1) (= (+ .cse459 c_~minb~0) .cse1) (<= .cse459 .cse462) (<= (+ .cse462 .cse1) (+ c_~minc~0 .cse459)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse464 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse464 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse465 (select .cse466 (+ ~A~0.offset 4)))) (and (= (+ .cse465 (select .cse464 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse465) (<= (+ .cse465 c_~minb~0 1) .cse1) (<= (+ .cse465 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse466 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse470 (select |c_#memory_int#1| ~A~0.base)) (.cse468 (+ ~A~0.offset 4))) (let ((.cse467 (select .cse470 .cse468))) (and (= c_~mina~0 .cse467) (<= (+ .cse467 c_~minb~0 1) .cse1) (= (* 2 .cse467) .cse1) (<= (+ .cse467 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse468 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse467 (select .cse469 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse469 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse470 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse475 (+ ~A~0.offset 4)) (.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse471 (select .cse476 .cse475))) (and (exists ((~B~0.offset Int)) (let ((.cse473 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse472 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse471 (select .cse472 .cse473)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse472 ~B~0.offset) .cse474))))) (not (= .cse475 ~B~0.offset)) (not (= ~A~0.offset .cse473))))) (= c_~mina~0 .cse471) (= (* 2 .cse471) .cse1) (= (+ .cse471 c_~minb~0) .cse1) (<= .cse471 .cse474) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse471)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse477 (select .cse479 ~A~0.offset)) (.cse478 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse477)) (= c_~mina~0 .cse477) (<= (+ .cse477 1) .cse478) (= (* 2 .cse478) .cse1) (= (+ .cse478 c_~minb~0) .cse1) (<= (+ .cse477 .cse1) (+ c_~minc~0 .cse478)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse481 (select .cse482 ~A~0.offset)) (.cse480 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse480 .cse481)) (= c_~mina~0 .cse480) (= (+ .cse480 c_~minb~0) .cse1) (<= .cse480 .cse481) (<= (+ .cse481 .cse1) (+ c_~minc~0 .cse480)) (= (+ .cse480 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse486)) (= c_~mina~0 .cse487) (= (* 2 .cse487) .cse1) (= (+ .cse487 c_~minb~0) .cse1) (<= .cse487 .cse486) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse491 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse491 ~A~0.offset)) (.cse490 (select .cse491 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse489) (= c_~minc~0 (+ .cse490 .cse489)) (<= (+ .cse489 1) .cse490) (= (+ .cse490 c_~minb~0) .cse1) (<= (+ .cse489 .cse1) (+ c_~minc~0 .cse490)) (= (+ .cse490 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse493 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse492 (select .cse493 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse492 c_~minb~0)) (<= (+ .cse492 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse493 ~A~0.offset) c_~minb~0)) (= (+ .cse492 .cse50) .cse1)))))) .cse361 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 (+ ~A~0.offset 4))) (.cse495 (select .cse498 ~A~0.offset))) (let ((.cse494 (+ .cse496 .cse495))) (and (= .cse494 .cse1) (= c_~mina~0 .cse495) (= c_~minc~0 .cse494) (<= (+ .cse495 1) .cse496) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse497 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse496 (select .cse497 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse497 ~B~0.offset) .cse495))))) (= (+ .cse496 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse501 ~A~0.offset)) (.cse500 (select .cse501 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse499)) (= c_~mina~0 .cse499) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse499 1) .cse500) (= (+ .cse500 c_~minb~0) .cse1) (<= (+ .cse499 .cse1) (+ c_~minc~0 .cse500)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse502 (select .cse505 ~A~0.offset)) (.cse503 (select .cse505 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse502) (= c_~minc~0 (+ .cse503 .cse502)) (<= (+ .cse502 1) .cse503) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse504 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse503 (select .cse504 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse504 ~B~0.offset) .cse502))))) (= (* 2 .cse503) .cse1) (= (+ .cse503 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse507 (select .cse510 (+ ~A~0.offset 4))) (.cse509 (select .cse510 ~A~0.offset))) (let ((.cse506 (+ .cse507 .cse509))) (and (= .cse506 .cse1) (= c_~minc~0 .cse506) (= c_~mina~0 .cse507) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse508 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse507 (select .cse508 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse508 ~B~0.offset) .cse509))))) (= (+ .cse507 c_~minb~0) .cse1) (<= .cse507 .cse509) (<= (+ .cse509 .cse1) (+ c_~minc~0 .cse507))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse513 ~A~0.offset)) (.cse512 (select .cse513 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse511) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse511 1) .cse512) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512)) (= c_~minc~0 (* 2 .cse511)) (= (+ .cse512 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (+ ~A~0.offset 4)) (.cse518 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse514 (select .cse518 ~A~0.offset)) (.cse515 (select .cse518 .cse517))) (and (= c_~mina~0 .cse514) (<= (+ .cse514 1) .cse515) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse516 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse515 (select .cse516 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse516 ~B~0.offset) .cse514))))) (not (= .cse517 ~B~0.offset)))) (= (+ .cse515 c_~minb~0) .cse1) (<= (+ .cse514 .cse1) (+ c_~minc~0 .cse515))))))))))) is different from true [2024-11-19 01:55:28,281 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse109 (+ c_~C~0.offset 8)) (.cse521 (select |c_#memory_int#1| c_~C~0.base))) (let ((.cse105 (+ c_~C~0.offset 4)) (.cse7 (select .cse521 c_~C~0.offset)) (.cse50 (select .cse521 .cse109)) (.cse520 (+ c_~mina~0 c_~minb~0))) (let ((.cse10 (= c_~minc~0 .cse520)) (.cse14 (+ c_~minc~0 1)) (.cse119 (+ .cse50 c_~minb~0)) (.cse125 (+ .cse7 c_~minb~0)) (.cse138 (* 2 c_~minb~0)) (.cse1 (select .cse521 .cse105))) (let ((.cse107 (= .cse50 c_~minb~0)) (.cse6 (= .cse138 .cse1)) (.cse47 (+ .cse7 .cse1)) (.cse9 (= .cse520 .cse1)) (.cse8 (<= .cse125 c_~minc~0)) (.cse101 (= .cse7 c_~minb~0)) (.cse11 (+ c_~minb~0 .cse1)) (.cse339 (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse519 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse518 (select .cse519 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse518) (<= (+ .cse518 c_~minb~0 1) .cse1) (<= (+ .cse518 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse519 ~A~0.offset) c_~minb~0)) (= (+ .cse518 .cse50) .cse1)))))))) (.cse113 (= c_~minc~0 .cse138)) (.cse48 (+ c_~minc~0 .cse50)) (.cse108 (= (* 2 .cse50) .cse1)) (.cse46 (= c_~mina~0 .cse50)) (.cse49 (= .cse119 .cse1)) (.cse358 (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse517 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse516 (select .cse517 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse516 c_~minb~0)) (<= (+ .cse516 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse517 ~A~0.offset) c_~minb~0)) (= (+ .cse516 .cse50) .cse1)))))))) (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse2 (select .cse5 (+ ~A~0.offset 4))) (.cse4 (select .cse5 ~A~0.offset))) (let ((.cse0 (+ .cse2 .cse4))) (and (= .cse0 .cse1) (= c_~minc~0 .cse0) (= c_~mina~0 .cse2) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse2 (select .cse3 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse3 ~B~0.offset) .cse4))))) (= (+ .cse2 c_~minb~0) .cse1) (<= .cse2 .cse4) (<= (+ .cse4 .cse1) (+ c_~minc~0 .cse2))))))) (and .cse6 (= c_~minc~0 (* .cse7 2)) .cse8 .cse9) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base)) (.cse13 (+ ~A~0.offset 4))) (let ((.cse12 (select .cse16 .cse13)) (.cse15 (select |c_#memory_int#1| ~B~0.base))) (and (= .cse11 (+ c_~minc~0 .cse12)) (not (= .cse13 ~B~0.offset)) (<= .cse14 (+ .cse12 c_~minb~0)) (= (+ .cse12 (select .cse15 (+ ~B~0.offset 4))) .cse1) (<= (+ .cse12 c_~minb~0 1) .cse1) (= (select .cse15 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse16 ~A~0.offset) c_~minb~0))))))) (and .cse10 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse17 (select .cse19 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse17 (select .cse18 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse18 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse14 (+ .cse17 c_~minb~0)) (<= (+ .cse17 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse19 ~A~0.offset) c_~minb~0)) (= .cse17 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse23 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse20 (select .cse23 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse20 c_~minb~0)) (<= (+ .cse20 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse22 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse20 (select .cse21 .cse22)) .cse1) (= (select .cse21 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse22))))) (= c_~minc~0 (+ (select .cse23 ~A~0.offset) c_~minb~0)) (= .cse20 c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse25 (+ ~A~0.offset 4)) (.cse29 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse24 (select .cse29 ~A~0.offset)) (.cse26 (select .cse29 .cse25))) (and (= c_~mina~0 .cse24) (exists ((~B~0.offset Int)) (let ((.cse28 (+ ~B~0.offset 4))) (and (not (= .cse25 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse27 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse26 (select .cse27 .cse28)) .cse1) (= c_~minc~0 (+ (select .cse27 ~B~0.offset) .cse24))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse28))))) (<= (+ .cse24 1) .cse26) (= (* 2 .cse26) .cse1) (= (+ .cse26 c_~minb~0) .cse1) (<= (+ .cse24 .cse1) (+ c_~minc~0 .cse26)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse30 (select .cse33 ~A~0.offset)) (.cse31 (select .cse33 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse30) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse31 (select .cse32 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse32 ~B~0.offset) .cse30))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse31 .cse30)) (<= (+ .cse30 1) .cse31) (= (+ .cse31 c_~minb~0) .cse1) (<= (+ .cse30 .cse1) (+ c_~minc~0 .cse31)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse38 (select |c_#memory_int#1| ~A~0.base)) (.cse36 (+ ~A~0.offset 4))) (let ((.cse34 (select .cse38 .cse36)) (.cse35 (select .cse38 ~A~0.offset))) (and (= (+ .cse34 .cse35) .cse1) (= c_~mina~0 .cse34) (= (* 2 .cse34) .cse1) (= (+ .cse34 c_~minb~0) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse37 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse36 ~B~0.offset)) (= (+ .cse34 (select .cse37 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse37 ~B~0.offset) .cse35))))) (= c_~minc~0 (* 2 .cse35)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse39 (+ ~A~0.offset 4)) (.cse44 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse43 (select .cse44 ~A~0.offset)) (.cse40 (select .cse44 .cse39))) (and (exists ((~B~0.offset Int)) (let ((.cse42 (+ ~B~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse41 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse40 (select .cse41 .cse42)) .cse1) (= c_~minc~0 (+ (select .cse41 ~B~0.offset) .cse43))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse42))))) (= c_~mina~0 .cse40) (= (+ .cse40 c_~minb~0) .cse1) (<= .cse40 .cse43) (<= (+ .cse43 .cse1) (+ c_~minc~0 .cse40)))))) (let ((.cse45 (+ .cse7 .cse50))) (and (or (and (<= .cse45 c_~minc~0) .cse46) (and (= c_~minc~0 (+ .cse7 c_~mina~0)) (<= .cse14 .cse45))) (= .cse47 .cse48) (<= .cse1 .cse45) .cse49)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (+ ~A~0.offset 4)) (.cse55 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse53 (select .cse55 ~A~0.offset)) (.cse51 (select .cse55 .cse54))) (and (= c_~mina~0 .cse51) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse51 (select .cse52 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse52 ~B~0.offset) .cse53))))) (not (= .cse54 ~B~0.offset)))) (= (+ .cse51 c_~minb~0) .cse1) (<= .cse51 .cse53) (<= (+ .cse53 .cse1) (+ c_~minc~0 .cse51)))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse58 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse56 (select .cse58 ~A~0.offset)) (.cse57 (select .cse58 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse56)) (= c_~mina~0 .cse57) (= (+ .cse57 c_~minb~0) .cse1) (<= .cse57 .cse56) (<= (+ .cse56 .cse1) (+ c_~minc~0 .cse57)))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse59 (select .cse61 ~A~0.offset)) (.cse60 (select .cse61 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse59)) (= c_~mina~0 .cse59) (<= (+ .cse59 1) .cse60) (= (* 2 .cse60) .cse1) (= (+ .cse60 c_~minb~0) .cse1) (<= (+ .cse59 .cse1) (+ c_~minc~0 .cse60)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse66 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse62 (select .cse66 (+ ~A~0.offset 4))) (.cse65 (select .cse66 ~A~0.offset))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse64 (+ ~B~0.offset 4)) (.cse63 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse62 (select .cse63 .cse64)) .cse1) (not (= ~A~0.offset .cse64)) (= c_~minc~0 (+ (select .cse63 ~B~0.offset) .cse65))))) (= c_~minc~0 (+ .cse62 .cse65)) (= c_~mina~0 .cse62) (= (* 2 .cse62) .cse1) (= (+ .cse62 c_~minb~0) .cse1) (= c_~minc~0 (* 2 .cse65)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse71 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse70 (select .cse71 ~A~0.offset)) (.cse67 (select .cse71 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse68 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse67 (select .cse68 .cse69)) .cse1) (= c_~minc~0 (+ (select .cse68 ~B~0.offset) .cse70))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse69))))) (= c_~minc~0 (+ .cse67 .cse70)) (= c_~mina~0 .cse67) (= (+ .cse67 c_~minb~0) .cse1) (<= .cse67 .cse70) (<= (+ .cse70 .cse1) (+ c_~minc~0 .cse67)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse75 (select |c_#memory_int#1| ~A~0.base)) (.cse73 (+ ~A~0.offset 4))) (let ((.cse72 (select .cse75 .cse73))) (and (= .cse11 (+ c_~minc~0 .cse72)) (= c_~mina~0 .cse72) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse73 ~B~0.offset)) (= (+ .cse72 (select .cse74 (+ ~B~0.offset 4))) .cse1) (= (select .cse74 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse72 c_~minb~0 1) .cse1) (= (* 2 .cse72) .cse1) (= c_~minc~0 (+ (select .cse75 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse77 (select .cse78 ~A~0.offset)) (.cse76 (select .cse78 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse76 .cse77)) (= c_~mina~0 .cse76) (= (+ .cse76 c_~minb~0) .cse1) (<= (+ .cse77 .cse1) (+ c_~minc~0 .cse76)) (= c_~minc~0 (* 2 .cse77)) (= (+ .cse76 .cse50) .cse1))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse81 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse79 (select .cse81 ~A~0.offset)) (.cse80 (select .cse81 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse79)) (= c_~mina~0 .cse79) (<= (+ .cse79 1) .cse80) (= (+ .cse80 c_~minb~0) .cse1) (<= (+ .cse79 .cse1) (+ c_~minc~0 .cse80)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~A~0.base)) (.cse83 (+ ~A~0.offset 4))) (let ((.cse82 (select .cse87 .cse83)) (.cse86 (select .cse87 ~A~0.offset))) (and (= c_~mina~0 .cse82) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse85 (+ ~B~0.offset 4)) (.cse84 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse83 ~B~0.offset)) (= (+ .cse82 (select .cse84 .cse85)) .cse1) (not (= ~A~0.offset .cse85)) (= c_~minc~0 (+ (select .cse84 ~B~0.offset) .cse86))))) (= (* 2 .cse82) .cse1) (= (+ .cse82 c_~minb~0) .cse1) (<= (+ .cse86 .cse1) (+ c_~minc~0 .cse82)) (= c_~minc~0 (* 2 .cse86)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse88 (select .cse90 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse88)) (= c_~mina~0 .cse88) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse88 (select .cse89 (+ ~B~0.offset 4))) .cse1) (= (select .cse89 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse88 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse90 ~A~0.offset) c_~minb~0)) (= .cse88 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse95 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse91 (select .cse95 (+ ~A~0.offset 4))) (.cse94 (select .cse95 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse93 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse92 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse91 (select .cse92 .cse93)) .cse1) (= c_~minc~0 (+ (select .cse92 ~B~0.offset) .cse94))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse93))))) (= c_~minc~0 (+ .cse91 .cse94)) (= c_~mina~0 .cse91) (= (* 2 .cse91) .cse1) (= (+ .cse91 c_~minb~0) .cse1) (<= .cse91 .cse94))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse96 (select .cse98 ~A~0.offset)) (.cse97 (select .cse98 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse96) (not (= ~A~0.offset c_~C~0.offset)) (<= (+ .cse96 1) .cse97) (= (+ .cse97 c_~minb~0) .cse1) (<= (+ .cse96 .cse1) (+ c_~minc~0 .cse97)) (= c_~minc~0 (* 2 .cse96)) (= (+ .cse97 .cse50) .cse1))))) (and (<= (+ .cse50 c_~minb~0 1) .cse1) (let ((.cse102 (= .cse11 .cse48))) (let ((.cse99 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse118 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse118 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse100 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse117 (+ ~B~0.offset 4))) .cse1) (= (select .cse117 ~B~0.offset) c_~minb~0)))) (not (= .cse109 ~B~0.offset)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (.cse103 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse116 (+ ~B~0.offset 4))) .cse1) (not (= .cse109 ~B~0.offset)) (= (select .cse116 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105))))))) (.cse111 (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse115 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse115 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse115 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105))))) (.cse112 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse114 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse114 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse114 ~B~0.offset) c_~minb~0)))))) (or .cse99 .cse100 (and .cse101 .cse102) .cse103 (and (or .cse99 (and .cse102 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse104 (+ ~B~0.offset 4))) .cse1) (= (select .cse104 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset .cse105)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse106 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse106 (+ ~B~0.offset 4))) .cse1) (= (select .cse106 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) .cse107) (and .cse108 (or (exists ((~B~0.offset Int)) (and (not (= .cse109 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse50 (select .cse110 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (= (select .cse110 ~B~0.offset) c_~minb~0)))))) .cse100 .cse103 .cse111 .cse112)) .cse111 (and .cse108 .cse113) .cse112))) (or (and (<= .cse119 c_~minc~0) .cse46) (and (<= .cse14 .cse119) .cse10))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse124 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse120 (select .cse124 (+ ~A~0.offset 4))) (.cse123 (select .cse124 ~A~0.offset))) (and (exists ((~B~0.offset Int)) (let ((.cse122 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse120 (select .cse121 .cse122)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse121 ~B~0.offset) .cse123))))) (not (= ~A~0.offset .cse122))))) (= c_~minc~0 (+ .cse120 .cse123)) (= c_~mina~0 .cse120) (= (* 2 .cse120) .cse1) (= (+ .cse120 c_~minb~0) .cse1) (<= .cse120 .cse123))))) (and (= c_~minc~0 .cse125) (let ((.cse139 (div (* (- 1) .cse1) 2))) (let ((.cse129 (+ c_~minb~0 1)) (.cse141 (+ .cse139 .cse1))) (let ((.cse126 (<= (+ .cse138 1) .cse1)) (.cse127 (<= .cse14 .cse138)) (.cse132 (<= .cse129 .cse141)) (.cse133 (= (mod .cse1 2) 0))) (or (and .cse126 .cse10 .cse127 .cse49) (exists ((~B~0.offset Int)) (let ((.cse128 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse128)) (exists ((~B~0.base Int)) (let ((.cse131 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse130 (select .cse131 .cse128))) (and (<= .cse129 .cse130) (<= .cse11 (+ c_~minc~0 .cse130)) (= (+ c_~mina~0 .cse130) .cse1) (= (select .cse131 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (and .cse101 .cse132 .cse10 .cse133) (and .cse126 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse134 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse134 ~B~0.offset) c_~minb~0) (= (+ (select .cse134 (+ ~B~0.offset 4)) c_~minb~0) .cse1)))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (let ((.cse135 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse135)) (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse136 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse136 ~B~0.offset) c_~minb~0) (= (+ (select .cse136 .cse135) c_~minb~0) .cse1))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse137 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse137 ~B~0.offset) c_~minb~0) (= (+ (select .cse137 (+ ~B~0.offset 4)) c_~minb~0) .cse1) (not (= ~B~0.offset c_~C~0.offset))))) (= c_~minc~0 .cse1))) (or (and (<= .cse138 c_~minc~0) (= c_~mina~0 c_~minb~0)) (and .cse10 .cse127))) (and .cse132 (or (and (<= c_~minb~0 (+ c_~minc~0 .cse139)) (= (+ .cse139 c_~mina~0) 0)) (and .cse10 (<= (+ c_~minc~0 .cse139 1) c_~minb~0))) (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse140 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse140 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse140 ~B~0.offset) c_~minb~0)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse142 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse142 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse142 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse143 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse143 (+ ~B~0.offset 4)) .cse141) (not (= c_~C~0.base ~B~0.base)) (= (select .cse143 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse144 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse144 (+ ~B~0.offset 4)) .cse141) (= (select .cse144 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))) (= c_~minc~0 (+ .cse139 c_~minb~0 .cse1))) (exists ((~B~0.offset Int)) (let ((.cse145 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse145)) (exists ((~B~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse146 .cse145) .cse141) (= (select .cse146 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse133) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse147 (select .cse148 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse147) (<= .cse11 (+ c_~minc~0 .cse147)) (= (+ c_~mina~0 .cse147) .cse1) (= (select .cse148 ~B~0.offset) c_~minb~0))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse150 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse149 (select .cse150 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse149) (<= .cse11 (+ c_~minc~0 .cse149)) (= (+ c_~mina~0 .cse149) .cse1) (= (select .cse150 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)))))))) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse152 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse151 (select .cse152 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse151 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse151) (= (select .cse152 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse153 (select .cse154 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse153 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse153) (= (select .cse154 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse155 (select .cse156 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse155) (<= .cse11 (+ c_~minc~0 .cse155)) (= (+ c_~mina~0 .cse155) .cse1) (= (select .cse156 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse158 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse157 (select .cse158 (+ ~B~0.offset 4)))) (and (<= .cse129 .cse157) (= c_~minc~0 (+ .cse157 c_~minb~0)) (<= .cse11 (+ c_~minc~0 .cse157)) (= (+ c_~mina~0 .cse157) .cse1) (= (select .cse158 ~B~0.offset) c_~minb~0))))) (not (= ~B~0.offset .cse105)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse160 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse159 (select .cse160 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse159 1) .cse11) (not (= c_~C~0.base ~B~0.base)) (<= .cse129 .cse159) (= (select .cse160 ~B~0.offset) c_~minb~0))))) .cse10) (and .cse10 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse162 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse161 (select .cse162 (+ ~B~0.offset 4)))) (and (<= (+ c_~minc~0 .cse161 1) .cse11) (<= .cse129 .cse161) (= c_~minc~0 (+ .cse161 c_~minb~0)) (= (select .cse162 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse165 (select |c_#memory_int#1| ~B~0.base)) (.cse164 (+ ~B~0.offset 4))) (let ((.cse163 (select .cse165 .cse164))) (and (<= (+ c_~minc~0 .cse163 1) .cse11) (<= .cse129 .cse163) (not (= c_~C~0.offset .cse164)) (= (select .cse165 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) .cse10)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~A~0.base)) (.cse166 (+ ~A~0.offset 4))) (let ((.cse167 (select .cse170 .cse166)) (.cse168 (select |c_#memory_int#1| ~B~0.base)) (.cse169 (+ ~B~0.offset 4))) (and (not (= .cse166 ~B~0.offset)) (<= .cse14 (+ .cse167 c_~minb~0)) (= (+ .cse167 (select .cse168 .cse169)) .cse1) (<= (+ .cse167 c_~minb~0 1) .cse1) (= (select .cse168 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse170 ~A~0.offset) c_~minb~0)) (not (= ~A~0.offset .cse169))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (+ ~A~0.offset 4)) (.cse175 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse171 (select .cse175 ~A~0.offset)) (.cse172 (select .cse175 .cse174))) (and (= c_~mina~0 .cse171) (<= (+ .cse171 1) .cse172) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse173 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse172 (select .cse173 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse173 ~B~0.offset) .cse171))))) (not (= .cse174 ~B~0.offset)))) (= (* 2 .cse172) .cse1) (= (+ .cse172 c_~minb~0) .cse1) (<= (+ .cse171 .cse1) (+ c_~minc~0 .cse172)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse178 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse177 (select .cse178 ~A~0.offset)) (.cse176 (select .cse178 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse176) (= (+ .cse176 c_~minb~0) .cse1) (<= .cse176 .cse177) (<= (+ .cse177 .cse1) (+ c_~minc~0 .cse176)) (= (+ .cse176 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse180 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse179 (select .cse180 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse179) (<= (+ .cse179 c_~minb~0 1) .cse1) (<= (+ .cse179 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse180 ~A~0.offset) c_~minb~0)) (= (+ .cse179 .cse50) .cse1))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse183 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse181 (select .cse183 ~A~0.offset)) (.cse182 (select .cse183 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse181)) (= c_~mina~0 .cse182) (= (+ .cse182 c_~minb~0) .cse1) (<= .cse182 .cse181) (<= (+ .cse181 .cse1) (+ c_~minc~0 .cse182)))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse184 (select .cse187 ~A~0.offset)) (.cse185 (select .cse187 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse184) (= c_~minc~0 (+ .cse185 .cse184)) (<= (+ .cse184 1) .cse185) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse186 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse185 (select .cse186 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse186 ~B~0.offset) .cse184))))) (= (+ .cse185 c_~minb~0) .cse1) (<= (+ .cse184 .cse1) (+ c_~minc~0 .cse185)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse191 (+ ~A~0.offset 4)) (.cse192 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse190 (select .cse192 ~A~0.offset)) (.cse188 (select .cse192 .cse191))) (and (= c_~mina~0 .cse188) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse188 (select .cse189 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse189 ~B~0.offset) .cse190))))) (not (= .cse191 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse188 c_~minb~0) .cse1) (<= .cse188 .cse190) (<= (+ .cse190 .cse1) (+ c_~minc~0 .cse188)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse195 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse194 (select .cse195 ~A~0.offset)) (.cse193 (select .cse195 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse193) (= (+ .cse193 c_~minb~0) .cse1) (<= .cse193 .cse194) (<= (+ .cse194 .cse1) (+ c_~minc~0 .cse193)) (= (+ .cse193 .cse50) .cse1))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse197 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse198 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse196 (select .cse198 (+ ~A~0.offset 4)))) (and (= (+ .cse196 (select .cse197 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse196) (<= (+ .cse196 c_~minb~0 1) .cse1) (<= (+ .cse196 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse198 ~A~0.offset) c_~minb~0)))))) (= (select .cse197 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse202 (+ ~A~0.offset 4)) (.cse203 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse199 (select .cse203 ~A~0.offset)) (.cse200 (select .cse203 .cse202))) (and (= c_~mina~0 .cse199) (<= (+ .cse199 1) .cse200) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse201 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse200 (select .cse201 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse201 ~B~0.offset) .cse199))))) (not (= .cse202 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse200 c_~minb~0) .cse1) (<= (+ .cse199 .cse1) (+ c_~minc~0 .cse200)))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse206 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse204 (select .cse206 (+ ~A~0.offset 4))) (.cse205 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse204 c_~minb~0)) (= (+ .cse204 (select .cse205 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse204 c_~minb~0 1) .cse1) (= (select .cse205 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse206 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse209 (+ ~A~0.offset 4)) (.cse211 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse208 (select .cse211 ~A~0.offset)) (.cse207 (select .cse211 .cse209))) (and (= (+ .cse207 .cse208) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse210 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse209 ~B~0.offset)) (= (+ .cse207 (select .cse210 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse210 ~B~0.offset) .cse208))))) (= c_~mina~0 .cse207) (= (+ .cse207 c_~minb~0) .cse1) (<= .cse207 .cse208) (<= (+ .cse208 .cse1) (+ c_~minc~0 .cse207)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse213 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse212 (select .cse213 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse212 c_~minb~0)) (<= (+ .cse212 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse213 ~A~0.offset) c_~minb~0)) (= (+ .cse212 .cse50) .cse1) (= .cse212 c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse214 (select .cse217 ~A~0.offset)) (.cse215 (select .cse217 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse214) (<= (+ .cse214 1) .cse215) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse216 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse215 (select .cse216 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse216 ~B~0.offset) .cse214))))) (= (+ .cse215 c_~minb~0) .cse1) (<= (+ .cse214 .cse1) (+ c_~minc~0 .cse215)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse221 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse218 (select .cse221 (+ ~A~0.offset 4))) (.cse219 (select .cse221 ~A~0.offset))) (and (= c_~minc~0 (+ .cse218 .cse219)) (= c_~mina~0 .cse218) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse220 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse218 (select .cse220 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse220 ~B~0.offset) .cse219))))) (= (* 2 .cse218) .cse1) (= (+ .cse218 c_~minb~0) .cse1) (<= .cse218 .cse219))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse225 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse222 (select .cse225 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse222) (<= (+ .cse222 c_~minb~0 1) .cse1) (exists ((~B~0.offset Int)) (let ((.cse224 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse222 (select .cse223 .cse224)) .cse1) (= (select .cse223 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse224))))) (<= (+ .cse222 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse225 ~A~0.offset) c_~minb~0)) (= .cse222 c_~minb~0))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse226 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse227 (+ ~A~0.offset 4))) (and (not (= .cse227 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse229 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse228 (select .cse229 .cse227))) (and (= .cse11 (+ c_~minc~0 .cse228)) (= (+ .cse228 (select .cse226 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse228) (<= (+ .cse228 c_~minb~0 1) .cse1) (<= (+ .cse228 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse229 ~A~0.offset) c_~minb~0)))))) (not (= ~B~0.offset ~A~0.offset)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse234 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse230 (select .cse234 ~A~0.offset)) (.cse231 (select .cse234 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse230) (exists ((~B~0.offset Int)) (let ((.cse233 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse232 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse231 (select .cse232 .cse233)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse232 ~B~0.offset) .cse230))))) (not (= ~A~0.offset .cse233))))) (= c_~minc~0 (+ .cse231 .cse230)) (<= (+ .cse230 1) .cse231) (= (* 2 .cse231) .cse1) (= (+ .cse231 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse239 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse235 (select .cse239 ~A~0.offset)) (.cse236 (select .cse239 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse235) (exists ((~B~0.offset Int)) (let ((.cse238 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse237 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse236 (select .cse237 .cse238)) .cse1) (= c_~minc~0 (+ (select .cse237 ~B~0.offset) .cse235))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse238))))) (= c_~minc~0 (+ .cse236 .cse235)) (<= (+ .cse235 1) .cse236) (= (* 2 .cse236) .cse1) (= (+ .cse236 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#1| ~A~0.base)) (.cse242 (+ ~A~0.offset 4))) (let ((.cse240 (select .cse244 .cse242)) (.cse241 (select .cse244 ~A~0.offset))) (and (= (+ .cse240 .cse241) .cse1) (= c_~mina~0 .cse240) (= (* 2 .cse240) .cse1) (= (+ .cse240 c_~minb~0) .cse1) (<= (+ .cse241 .cse1) (+ c_~minc~0 .cse240)) (exists ((~B~0.offset Int)) (and (not (= .cse242 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse240 (select .cse243 (+ ~B~0.offset 4))) .cse1) (= c_~minc~0 (+ (select .cse243 ~B~0.offset) .cse241))))) (not (= ~B~0.offset ~A~0.offset)))))))) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse248 (select |c_#memory_int#1| ~A~0.base)) (.cse245 (+ ~A~0.offset 4))) (let ((.cse246 (select .cse248 .cse245)) (.cse247 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse245 ~B~0.offset)) (<= .cse14 (+ .cse246 c_~minb~0)) (= (+ .cse246 (select .cse247 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse246 c_~minb~0 1) .cse1) (= (select .cse247 ~B~0.offset) c_~minb~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse248 ~A~0.offset) c_~minb~0))))))) (and (let ((.cse249 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse268 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse268 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse268 ~B~0.offset) .cse7)))))) (.cse258 (= .cse47 (+ c_~minc~0 c_~minb~0))) (.cse263 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse267 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse267 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse267 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (.cse264 (exists ((~B~0.offset Int)) (let ((.cse265 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse265)) (exists ((~B~0.base Int)) (let ((.cse266 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse266 .cse265) c_~minb~0) (= c_~minc~0 (+ (select .cse266 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (or .cse249 (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse250 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse250 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse250 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))))) (and (let ((.cse254 (exists ((~B~0.offset Int)) (let ((.cse256 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse256)) (exists ((~B~0.base Int)) (let ((.cse257 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse257 .cse256) c_~minb~0) (= c_~minc~0 (+ (select .cse257 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset))))))) (or (and .cse101 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse251 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse251 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse251 ~B~0.offset) .cse7)) (not (= ~B~0.offset c_~C~0.offset)))))) (and .cse6 (or .cse249 (exists ((~B~0.offset Int)) (let ((.cse252 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse252)) (exists ((~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse253 .cse252) c_~minb~0) (= c_~minc~0 (+ (select .cse253 ~B~0.offset) .cse7)))))))) .cse254)) .cse249 .cse254 (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse255 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse255 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse255 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)))))) .cse258) (and .cse258 .cse107) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse259 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse259 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse259 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse6 (or (exists ((~B~0.offset Int)) (let ((.cse260 (+ ~B~0.offset 4))) (and (not (= c_~C~0.offset .cse260)) (exists ((~B~0.base Int)) (let ((.cse261 (select |c_#memory_int#1| ~B~0.base))) (and (not (= c_~C~0.base ~B~0.base)) (= (select .cse261 .cse260) c_~minb~0) (= c_~minc~0 (+ (select .cse261 ~B~0.offset) .cse7))))) (not (= ~B~0.offset .cse105))))) (and .cse101 (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse262 (+ ~B~0.offset 4)) c_~minb~0) (= c_~minc~0 (+ (select .cse262 ~B~0.offset) .cse7))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) .cse263)) .cse263 .cse264)) .cse263 .cse264)) (or (and (= .cse7 c_~mina~0) (<= (+ .cse7 c_~minb~0 1) .cse1)) (and (<= .cse1 .cse125) .cse9)) .cse8) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (and (exists ((~A~0.offset Int)) (let ((.cse272 (select |c_#memory_int#1| ~A~0.base)) (.cse269 (+ ~A~0.offset 4))) (let ((.cse270 (select .cse272 .cse269))) (and (not (= .cse269 ~B~0.offset)) (= (+ .cse270 (select .cse271 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse270) (<= (+ .cse270 c_~minb~0 1) .cse1) (<= (+ .cse270 c_~minb~0) c_~minc~0) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse272 ~A~0.offset) c_~minb~0)))))) (= (select .cse271 ~B~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse276 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse274 (select .cse276 ~A~0.offset)) (.cse273 (select .cse276 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse273 .cse274)) (= c_~mina~0 .cse273) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse275 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse273 (select .cse275 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse275 ~B~0.offset) .cse274))))) (= (+ .cse273 c_~minb~0) .cse1) (<= .cse273 .cse274) (<= (+ .cse274 .cse1) (+ c_~minc~0 .cse273)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse278 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse277 (select .cse278 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse277) (<= (+ .cse277 c_~minb~0 1) .cse1) (<= (+ .cse277 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse278 ~A~0.offset) c_~minb~0)) (= (+ .cse277 .cse50) .cse1) (= .cse277 c_~minb~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse279 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse283 (+ ~A~0.offset 4)) (.cse281 (+ ~B~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse282 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse280 (select .cse282 .cse283))) (and (= (+ .cse280 (select .cse279 .cse281)) .cse1) (= c_~mina~0 .cse280) (<= (+ .cse280 c_~minb~0 1) .cse1) (<= (+ .cse280 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse282 ~A~0.offset) c_~minb~0)))))) (not (= .cse283 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse281)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse284 (select .cse286 ~A~0.offset)) (.cse285 (select .cse286 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse284) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse284 1) .cse285) (= (+ .cse285 c_~minb~0) .cse1) (<= (+ .cse284 .cse1) (+ c_~minc~0 .cse285)) (= (+ .cse285 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse291 (+ ~A~0.offset 4)) (.cse292 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse287 (select .cse292 ~A~0.offset)) (.cse288 (select .cse292 .cse291))) (and (= c_~mina~0 .cse287) (exists ((~B~0.offset Int)) (let ((.cse290 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse289 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse288 (select .cse289 .cse290)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse289 ~B~0.offset) .cse287))))) (not (= .cse291 ~B~0.offset)) (not (= ~A~0.offset .cse290))))) (<= (+ .cse287 1) .cse288) (= (* 2 .cse288) .cse1) (= (+ .cse288 c_~minb~0) .cse1) (<= (+ .cse287 .cse1) (+ c_~minc~0 .cse288)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse294 (+ ~A~0.offset 4)) (.cse298 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse293 (select .cse298 ~A~0.offset)) (.cse295 (select .cse298 .cse294))) (and (= c_~mina~0 .cse293) (exists ((~B~0.offset Int)) (let ((.cse297 (+ ~B~0.offset 4))) (and (not (= .cse294 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse296 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse295 (select .cse296 .cse297)) .cse1) (= c_~minc~0 (+ (select .cse296 ~B~0.offset) .cse293))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse297))))) (<= (+ .cse293 1) .cse295) (= (+ .cse295 c_~minb~0) .cse1) (<= (+ .cse293 .cse1) (+ c_~minc~0 .cse295)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse303 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse299 (select .cse303 ~A~0.offset)) (.cse300 (select .cse303 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse299) (exists ((~B~0.offset Int)) (let ((.cse302 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse301 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse300 (select .cse301 .cse302)) .cse1) (= c_~minc~0 (+ (select .cse301 ~B~0.offset) .cse299))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse302))))) (= c_~minc~0 (+ .cse300 .cse299)) (<= (+ .cse299 1) .cse300) (= (+ .cse300 c_~minb~0) .cse1) (<= (+ .cse299 .cse1) (+ c_~minc~0 .cse300)))))) (and .cse101 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse305 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse304 (select .cse305 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse304) (<= (+ .cse304 c_~minb~0 1) .cse1) (<= (+ .cse304 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse305 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse307 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse306 (select .cse307 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse306)) (= c_~mina~0 .cse306) (<= (+ .cse306 c_~minb~0 1) .cse1) (= (* 2 .cse306) .cse1) (= c_~minc~0 (+ (select .cse307 ~A~0.offset) c_~minb~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse308 (select .cse309 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse308 c_~minb~0)) (<= (+ .cse308 c_~minb~0 1) .cse1) (= (* 2 .cse308) .cse1) (= c_~minc~0 (+ (select .cse309 ~A~0.offset) c_~minb~0)))))) .cse10) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse311 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse310 (select .cse311 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse310)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse310 c_~minb~0)) (<= (+ .cse310 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse311 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse313 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse312 (select .cse313 (+ ~A~0.offset 4)))) (and (= .cse11 (+ c_~minc~0 .cse312)) (= c_~mina~0 .cse312) (<= (+ .cse312 c_~minb~0 1) .cse1) (<= (+ .cse312 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse313 ~A~0.offset) c_~minb~0)))))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse315 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse314 (select .cse315 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse314 c_~minb~0)) (<= (+ .cse314 c_~minb~0 1) .cse1) (= (* 2 .cse314) .cse1) (= c_~minc~0 (+ (select .cse315 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse316 (select .cse317 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse316) (<= (+ .cse316 c_~minb~0 1) .cse1) (<= (+ .cse316 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse317 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse318 (select .cse319 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse318) (<= (+ .cse318 c_~minb~0 1) .cse1) (= (* 2 .cse318) .cse1) (<= (+ .cse318 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse319 ~A~0.offset) c_~minb~0)))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse320 (select .cse321 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse320 c_~minb~0)) (<= (+ .cse320 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse321 ~A~0.offset) c_~minb~0))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse323 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse322 (select .cse323 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse14 (+ .cse322 c_~minb~0)) (<= (+ .cse322 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse323 ~A~0.offset) c_~minb~0))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse324 (select .cse325 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse324 c_~minb~0)) (<= (+ .cse324 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse325 ~A~0.offset) c_~minb~0)))))) .cse10) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse327 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse326 (select .cse327 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse326) (<= (+ .cse326 c_~minb~0 1) .cse1) (= (* 2 .cse326) .cse1) (<= (+ .cse326 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse327 ~A~0.offset) c_~minb~0)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse329 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse328 (select .cse329 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse328) (<= (+ .cse328 c_~minb~0 1) .cse1) (<= (+ .cse328 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse329 ~A~0.offset) c_~minb~0)))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse330 (select .cse332 ~A~0.offset)) (.cse331 (select .cse332 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse330) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse330 1) .cse331) (= (+ .cse331 c_~minb~0) .cse1) (<= (+ .cse330 .cse1) (+ c_~minc~0 .cse331)) (= (+ .cse331 .cse50) .cse1))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse333 (select .cse335 ~A~0.offset)) (.cse334 (select .cse335 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse333) (<= (+ .cse333 1) .cse334) (= (+ .cse334 c_~minb~0) .cse1) (<= (+ .cse333 .cse1) (+ c_~minc~0 .cse334)) (= (+ .cse334 .cse50) .cse1))))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse338 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse337 (select .cse338 ~A~0.offset)) (.cse336 (select .cse338 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse336) (= (+ .cse336 c_~minb~0) .cse1) (<= .cse336 .cse337) (<= (+ .cse337 .cse1) (+ c_~minc~0 .cse336)) (= c_~minc~0 (* 2 .cse337)) (= (+ .cse336 .cse50) .cse1))))) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse342 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse340 (select .cse342 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse341 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse340 (select .cse341 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse341 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse340) (<= (+ .cse340 c_~minb~0 1) .cse1) (<= (+ .cse340 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse342 ~A~0.offset) c_~minb~0)) (= .cse340 c_~minb~0))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse346 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse345 (select .cse346 ~A~0.offset)) (.cse343 (select .cse346 (+ ~A~0.offset 4)))) (and (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse343 (select .cse344 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse344 ~B~0.offset) .cse345))))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~minc~0 (+ .cse343 .cse345)) (= c_~mina~0 .cse343) (= (+ .cse343 c_~minb~0) .cse1) (<= .cse343 .cse345) (<= (+ .cse345 .cse1) (+ c_~minc~0 .cse343)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse350 (+ ~A~0.offset 4)) (.cse351 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse349 (select .cse351 ~A~0.offset)) (.cse347 (select .cse351 .cse350))) (and (= c_~mina~0 .cse347) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse348 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse347 (select .cse348 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse348 ~B~0.offset) .cse349))))) (not (= .cse350 ~B~0.offset)))) (= (* 2 .cse347) .cse1) (= (+ .cse347 c_~minb~0) .cse1) (<= .cse347 .cse349) (<= (+ .cse349 .cse1) (+ c_~minc~0 .cse347)))))) (and (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse353 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse352 (select .cse353 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse352) (<= (+ .cse352 c_~minb~0 1) .cse1) (<= (+ .cse352 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse353 ~A~0.offset) c_~minb~0)) (= (+ .cse352 .cse50) .cse1))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse355 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse354 (select .cse355 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (<= .cse14 (+ .cse354 c_~minb~0)) (<= (+ .cse354 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse355 ~A~0.offset) c_~minb~0)) (= (+ .cse354 .cse50) .cse1))))) .cse10) .cse339 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse357 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse356 (select .cse357 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse356) (<= (+ .cse356 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse357 ~A~0.offset) c_~minb~0)) (= (+ .cse356 .cse50) .cse1) (= .cse356 c_~minb~0))))) .cse358) .cse113) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse363 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse360 (select .cse363 (+ ~A~0.offset 4))) (.cse362 (select .cse363 ~A~0.offset))) (let ((.cse359 (+ .cse360 .cse362))) (and (= .cse359 .cse1) (= c_~minc~0 .cse359) (= c_~mina~0 .cse360) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse360 (select .cse361 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse361 ~B~0.offset) .cse362))))) (= (+ .cse360 c_~minb~0) .cse1) (<= .cse360 .cse362) (<= (+ .cse362 .cse1) (+ c_~minc~0 .cse360))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse365 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse364 (select .cse365 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse364) (<= (+ .cse364 c_~minb~0 1) .cse1) (<= (+ .cse364 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse365 ~A~0.offset) c_~minb~0)) (= (+ .cse364 .cse50) .cse1))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse368 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse366 (select .cse368 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse366) (<= (+ .cse366 c_~minb~0 1) .cse1) (= (* 2 .cse366) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse367 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse366 (select .cse367 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse367 ~B~0.offset) c_~minb~0)))) (<= (+ .cse366 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse368 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse369 (select .cse371 ~A~0.offset)) (.cse370 (select .cse371 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse369)) (= c_~mina~0 .cse369) (<= (+ .cse369 1) .cse370) (= (+ .cse370 c_~minb~0) .cse1) (<= (+ .cse369 .cse1) (+ c_~minc~0 .cse370)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse375 (+ ~A~0.offset 4)) (.cse376 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse373 (select .cse376 ~A~0.offset)) (.cse372 (select .cse376 .cse375))) (and (= (+ .cse372 .cse373) .cse1) (= c_~mina~0 .cse372) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse374 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse372 (select .cse374 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse374 ~B~0.offset) .cse373))))) (not (= .cse375 ~B~0.offset)))) (= (* 2 .cse372) .cse1) (= (+ .cse372 c_~minb~0) .cse1) (<= (+ .cse373 .cse1) (+ c_~minc~0 .cse372)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse378 (select |c_#memory_int#1| ~A~0.base)) (.cse379 (+ ~A~0.offset 4))) (let ((.cse377 (select .cse378 .cse379))) (and (= c_~mina~0 .cse377) (<= (+ .cse377 c_~minb~0 1) .cse1) (= (* 2 .cse377) .cse1) (<= (+ .cse377 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse378 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse381 (+ ~B~0.offset 4))) (and (not (= .cse379 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse380 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse377 (select .cse380 .cse381)) .cse1) (= (select .cse380 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse381))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse385 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse384 (select .cse385 ~A~0.offset)) (.cse382 (select .cse385 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse382) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse382 (select .cse383 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse383 ~B~0.offset) .cse384))))) (= (+ .cse382 c_~minb~0) .cse1) (<= .cse382 .cse384) (<= (+ .cse384 .cse1) (+ c_~minc~0 .cse382)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse389 (select |c_#memory_int#1| ~A~0.base)) (.cse386 (+ ~A~0.offset 4))) (let ((.cse387 (select .cse389 .cse386))) (and (exists ((~B~0.offset Int)) (and (not (= .cse386 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse387 (select .cse388 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse388 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~mina~0 .cse387) (<= (+ .cse387 c_~minb~0 1) .cse1) (= (* 2 .cse387) .cse1) (<= (+ .cse387 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse389 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse392 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse391 (select .cse392 ~A~0.offset)) (.cse390 (select .cse392 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~mina~0 .cse390) (= (+ .cse390 c_~minb~0) .cse1) (<= .cse390 .cse391) (<= (+ .cse391 .cse1) (+ c_~minc~0 .cse390)) (= c_~minc~0 (* 2 .cse391)) (= (+ .cse390 .cse50) .cse1))))) (and (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~A~0.base)) (.cse394 (+ ~A~0.offset 4))) (let ((.cse393 (select .cse396 .cse394))) (and (<= .cse14 (+ .cse393 c_~minb~0)) (exists ((~B~0.offset Int)) (and (not (= .cse394 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse395 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse393 (select .cse395 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse395 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse393 c_~minb~0 1) .cse1) (= (* 2 .cse393) .cse1) (= c_~minc~0 (+ (select .cse396 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse399 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse397 (select .cse399 (+ ~A~0.offset 4)))) (and (<= .cse14 (+ .cse397 c_~minb~0)) (<= (+ .cse397 c_~minb~0 1) .cse1) (= (* 2 .cse397) .cse1) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse398 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse397 (select .cse398 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse398 ~B~0.offset) c_~minb~0)))) (= c_~minc~0 (+ (select .cse399 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse401 (select |c_#memory_int#1| ~A~0.base)) (.cse402 (+ ~A~0.offset 4))) (let ((.cse400 (select .cse401 .cse402))) (and (<= .cse14 (+ .cse400 c_~minb~0)) (<= (+ .cse400 c_~minb~0 1) .cse1) (= (* 2 .cse400) .cse1) (= c_~minc~0 (+ (select .cse401 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse404 (+ ~B~0.offset 4))) (and (not (= .cse402 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse400 (select .cse403 .cse404)) .cse1) (= (select .cse403 ~B~0.offset) c_~minb~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse404))))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse408 (select |c_#memory_int#1| ~A~0.base)) (.cse406 (+ ~A~0.offset 4))) (let ((.cse405 (select .cse408 .cse406))) (and (<= .cse14 (+ .cse405 c_~minb~0)) (<= (+ .cse405 c_~minb~0 1) .cse1) (= (* 2 .cse405) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse406 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse407 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse405 (select .cse407 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse407 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse408 ~A~0.offset) c_~minb~0)))))) (and .cse113 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse412 (select |c_#memory_int#1| ~A~0.base)) (.cse410 (+ ~A~0.offset 4))) (let ((.cse409 (select .cse412 .cse410))) (and (<= .cse14 (+ .cse409 c_~minb~0)) (= (* 2 .cse409) .cse1) (exists ((~B~0.offset Int)) (and (not (= .cse410 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse411 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse409 (select .cse411 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse411 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse412 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse414 (select |c_#memory_int#1| ~A~0.base)) (.cse415 (+ ~A~0.offset 4))) (let ((.cse413 (select .cse414 .cse415))) (and (<= .cse14 (+ .cse413 c_~minb~0)) (= (* 2 .cse413) .cse1) (= c_~minc~0 (+ (select .cse414 ~A~0.offset) c_~minb~0)) (exists ((~B~0.offset Int)) (let ((.cse417 (+ ~B~0.offset 4))) (and (not (= .cse415 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse416 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse413 (select .cse416 .cse417)) .cse1) (= (select .cse416 ~B~0.offset) c_~minb~0)))) (not (= ~A~0.offset .cse417)))))))))))) .cse10) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse418 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse419 (select .cse418 ~B~0.offset))) (let ((.cse420 (+ .cse419 .cse50))) (and (= (+ .cse50 (select .cse418 (+ ~B~0.offset 4))) .cse1) (= (+ .cse419 .cse1) .cse48) (<= .cse1 .cse420) (<= .cse420 c_~minc~0) (not (= ~B~0.offset .cse105))))))) .cse46) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse422 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse423 (select .cse422 ~B~0.offset))) (let ((.cse421 (+ .cse423 .cse50))) (and (<= .cse14 .cse421) (= (+ .cse50 (select .cse422 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse421) (= c_~minc~0 (+ .cse423 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse426 (select .cse425 ~B~0.offset))) (let ((.cse424 (+ .cse426 .cse50))) (and (<= .cse14 .cse424) (= (+ .cse50 (select .cse425 (+ ~B~0.offset 4))) .cse1) (= (+ .cse426 .cse1) .cse48) (<= .cse1 .cse424) (= c_~minc~0 (+ .cse426 c_~mina~0))))))) (not (= ~B~0.offset .cse105)))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse427 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse428 (+ (select .cse427 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse427 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse428) (<= .cse428 c_~minc~0) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse429 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse430 (+ (select .cse429 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse429 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse430) (<= .cse430 c_~minc~0) (not (= ~B~0.offset .cse105))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse432 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse433 (select .cse432 ~B~0.offset))) (let ((.cse431 (+ .cse433 .cse50))) (and (<= .cse14 .cse431) (= (+ .cse50 (select .cse432 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse431) (= c_~minc~0 (+ .cse433 c_~mina~0))))))))) (and .cse46 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse434 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse435 (+ (select .cse434 ~B~0.offset) .cse50))) (and (= (+ .cse50 (select .cse434 (+ ~B~0.offset 4))) .cse1) (not (= c_~C~0.base ~B~0.base)) (<= .cse1 .cse435) (<= .cse435 c_~minc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse438 (select .cse437 ~B~0.offset))) (let ((.cse436 (+ .cse438 .cse50))) (and (<= .cse14 .cse436) (= (+ .cse50 (select .cse437 (+ ~B~0.offset 4))) .cse1) (<= .cse1 .cse436) (= c_~minc~0 (+ .cse438 c_~mina~0))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse105)))) (and .cse108 (= (mod c_~minc~0 2) 0) .cse46 (<= (+ (div (* c_~minc~0 (- 1)) 2) .cse1) .cse50))) .cse49) (and .cse10 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse441 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse439 (select .cse441 (+ ~A~0.offset 4))) (.cse440 (select |c_#memory_int#1| ~B~0.base))) (and (<= .cse14 (+ .cse439 c_~minb~0)) (= (+ .cse439 (select .cse440 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= (+ .cse439 c_~minb~0 1) .cse1) (= (select .cse440 ~B~0.offset) c_~minb~0) (= c_~minc~0 (+ (select .cse441 ~A~0.offset) c_~minb~0))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse444 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse442 (select .cse444 ~A~0.offset)) (.cse443 (select .cse444 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse442)) (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse443) (= (+ .cse443 c_~minb~0) .cse1) (<= .cse443 .cse442) (<= (+ .cse442 .cse1) (+ c_~minc~0 .cse443)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse447 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse446 (select .cse447 ~A~0.offset)) (.cse445 (select .cse447 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~mina~0 .cse445) (= (+ .cse445 c_~minb~0) .cse1) (<= .cse445 .cse446) (<= (+ .cse446 .cse1) (+ c_~minc~0 .cse445)) (= (+ .cse445 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse450 (+ ~A~0.offset 4)) (.cse452 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse449 (select .cse452 ~A~0.offset)) (.cse448 (select .cse452 .cse450))) (and (= (+ .cse448 .cse449) .cse1) (= c_~mina~0 .cse449) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse451 (select |c_#memory_int#1| ~B~0.base))) (and (not (= .cse450 ~B~0.offset)) (= (+ .cse448 (select .cse451 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse451 ~B~0.offset) .cse449))))) (<= (+ .cse449 1) .cse448) (= (+ .cse448 c_~minb~0) .cse1) (<= (+ .cse449 .cse1) (+ c_~minc~0 .cse448)))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse453 (select .cse454 (+ ~A~0.offset 4)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse453 c_~minb~0)) (<= (+ .cse453 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse454 ~A~0.offset) c_~minb~0)) (= (+ .cse453 .cse50) .cse1)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse455 (+ ~A~0.offset 4)) (.cse460 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse459 (select .cse460 ~A~0.offset)) (.cse456 (select .cse460 .cse455))) (and (exists ((~B~0.offset Int)) (let ((.cse458 (+ ~B~0.offset 4))) (and (not (= .cse455 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse457 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse456 (select .cse457 .cse458)) .cse1) (= c_~minc~0 (+ (select .cse457 ~B~0.offset) .cse459))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse458))))) (= c_~mina~0 .cse456) (= (* 2 .cse456) .cse1) (= (+ .cse456 c_~minb~0) .cse1) (<= .cse456 .cse459) (<= (+ .cse459 .cse1) (+ c_~minc~0 .cse456)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse461 (select |c_#memory_int#1| ~B~0.base))) (and (= (select .cse461 ~B~0.offset) c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse463 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse462 (select .cse463 (+ ~A~0.offset 4)))) (and (= (+ .cse462 (select .cse461 (+ ~B~0.offset 4))) .cse1) (= c_~mina~0 .cse462) (<= (+ .cse462 c_~minb~0 1) .cse1) (<= (+ .cse462 c_~minb~0) c_~minc~0) (= c_~minc~0 (+ (select .cse463 ~A~0.offset) c_~minb~0))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse467 (select |c_#memory_int#1| ~A~0.base)) (.cse465 (+ ~A~0.offset 4))) (let ((.cse464 (select .cse467 .cse465))) (and (= c_~mina~0 .cse464) (<= (+ .cse464 c_~minb~0 1) .cse1) (= (* 2 .cse464) .cse1) (<= (+ .cse464 c_~minb~0) c_~minc~0) (exists ((~B~0.offset Int)) (and (not (= .cse465 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse466 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse464 (select .cse466 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (select .cse466 ~B~0.offset) c_~minb~0)))))) (= c_~minc~0 (+ (select .cse467 ~A~0.offset) c_~minb~0)))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (+ ~A~0.offset 4)) (.cse473 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse471 (select .cse473 ~A~0.offset)) (.cse468 (select .cse473 .cse472))) (and (exists ((~B~0.offset Int)) (let ((.cse470 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse468 (select .cse469 .cse470)) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse469 ~B~0.offset) .cse471))))) (not (= .cse472 ~B~0.offset)) (not (= ~A~0.offset .cse470))))) (= c_~mina~0 .cse468) (= (* 2 .cse468) .cse1) (= (+ .cse468 c_~minb~0) .cse1) (<= .cse468 .cse471) (<= (+ .cse471 .cse1) (+ c_~minc~0 .cse468)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse476 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse474 (select .cse476 ~A~0.offset)) (.cse475 (select .cse476 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse474)) (= c_~mina~0 .cse474) (<= (+ .cse474 1) .cse475) (= (* 2 .cse475) .cse1) (= (+ .cse475 c_~minb~0) .cse1) (<= (+ .cse474 .cse1) (+ c_~minc~0 .cse475)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse479 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse478 (select .cse479 ~A~0.offset)) (.cse477 (select .cse479 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse477 .cse478)) (= c_~mina~0 .cse477) (= (+ .cse477 c_~minb~0) .cse1) (<= .cse477 .cse478) (<= (+ .cse478 .cse1) (+ c_~minc~0 .cse477)) (= (+ .cse477 .cse50) .cse1))))))) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse482 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse480 (select .cse482 ~A~0.offset)) (.cse481 (select .cse482 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse480)) (= c_~mina~0 .cse481) (= (* 2 .cse481) .cse1) (= (+ .cse481 c_~minb~0) .cse1) (<= .cse481 .cse480) (<= (+ .cse480 .cse1) (+ c_~minc~0 .cse481)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse483 (select .cse485 ~A~0.offset)) (.cse484 (select .cse485 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse483)) (= c_~mina~0 .cse484) (= (* 2 .cse484) .cse1) (= (+ .cse484 c_~minb~0) .cse1) (<= .cse484 .cse483) (<= (+ .cse483 .cse1) (+ c_~minc~0 .cse484)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse105)) (exists ((~A~0.base Int)) (let ((.cse488 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse486 (select .cse488 ~A~0.offset)) (.cse487 (select .cse488 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse486) (= c_~minc~0 (+ .cse487 .cse486)) (<= (+ .cse486 1) .cse487) (= (+ .cse487 c_~minb~0) .cse1) (<= (+ .cse486 .cse1) (+ c_~minc~0 .cse487)) (= (+ .cse487 .cse50) .cse1))))))) (and .cse10 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse490 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse489 (select .cse490 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse105)) (<= .cse14 (+ .cse489 c_~minb~0)) (<= (+ .cse489 c_~minb~0 1) .cse1) (= c_~minc~0 (+ (select .cse490 ~A~0.offset) c_~minb~0)) (= (+ .cse489 .cse50) .cse1)))))) .cse358 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse495 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse493 (select .cse495 (+ ~A~0.offset 4))) (.cse492 (select .cse495 ~A~0.offset))) (let ((.cse491 (+ .cse493 .cse492))) (and (= .cse491 .cse1) (= c_~mina~0 .cse492) (= c_~minc~0 .cse491) (<= (+ .cse492 1) .cse493) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse494 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse493 (select .cse494 (+ ~B~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= c_~minc~0 (+ (select .cse494 ~B~0.offset) .cse492))))) (= (+ .cse493 c_~minb~0) .cse1)))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse498 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse496 (select .cse498 ~A~0.offset)) (.cse497 (select .cse498 (+ ~A~0.offset 4)))) (and (= c_~minc~0 (+ .cse7 .cse496)) (= c_~mina~0 .cse496) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse496 1) .cse497) (= (+ .cse497 c_~minb~0) .cse1) (<= (+ .cse496 .cse1) (+ c_~minc~0 .cse497)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse502 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse499 (select .cse502 ~A~0.offset)) (.cse500 (select .cse502 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse499) (= c_~minc~0 (+ .cse500 .cse499)) (<= (+ .cse499 1) .cse500) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse501 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse500 (select .cse501 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse501 ~B~0.offset) .cse499))))) (= (* 2 .cse500) .cse1) (= (+ .cse500 c_~minb~0) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse507 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse504 (select .cse507 (+ ~A~0.offset 4))) (.cse506 (select .cse507 ~A~0.offset))) (let ((.cse503 (+ .cse504 .cse506))) (and (= .cse503 .cse1) (= c_~minc~0 .cse503) (= c_~mina~0 .cse504) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse505 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse504 (select .cse505 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse505 ~B~0.offset) .cse506))))) (= (+ .cse504 c_~minb~0) .cse1) (<= .cse504 .cse506) (<= (+ .cse506 .cse1) (+ c_~minc~0 .cse504))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse508 (select .cse510 ~A~0.offset)) (.cse509 (select .cse510 (+ ~A~0.offset 4)))) (and (= c_~mina~0 .cse508) (not (= ~A~0.base c_~C~0.base)) (<= (+ .cse508 1) .cse509) (= (+ .cse509 c_~minb~0) .cse1) (<= (+ .cse508 .cse1) (+ c_~minc~0 .cse509)) (= c_~minc~0 (* 2 .cse508)) (= (+ .cse509 .cse50) .cse1))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse514 (+ ~A~0.offset 4)) (.cse515 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse511 (select .cse515 ~A~0.offset)) (.cse512 (select .cse515 .cse514))) (and (= c_~mina~0 .cse511) (<= (+ .cse511 1) .cse512) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse513 (select |c_#memory_int#1| ~B~0.base))) (and (= (+ .cse512 (select .cse513 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= c_~minc~0 (+ (select .cse513 ~B~0.offset) .cse511))))) (not (= .cse514 ~B~0.offset)))) (= (+ .cse512 c_~minb~0) .cse1) (<= (+ .cse511 .cse1) (+ c_~minc~0 .cse512))))))))))) is different from true