./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --validate ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/popl20-three-array-min.wvr.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 80b1b132 Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/popl20-three-array-min.wvr.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --- Real Ultimate output --- This is Ultimate 0.2.4-?-80b1b13-m [2024-01-31 17:19:20,830 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-01-31 17:19:20,892 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-01-31 17:19:20,895 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-01-31 17:19:20,897 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-01-31 17:19:20,923 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-01-31 17:19:20,923 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-01-31 17:19:20,924 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-01-31 17:19:20,925 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-01-31 17:19:20,928 INFO L153 SettingsManager]: * Use memory slicer=true [2024-01-31 17:19:20,929 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-01-31 17:19:20,929 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-01-31 17:19:20,930 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-01-31 17:19:20,931 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-01-31 17:19:20,932 INFO L153 SettingsManager]: * Use SBE=true [2024-01-31 17:19:20,932 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-01-31 17:19:20,932 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-01-31 17:19:20,933 INFO L153 SettingsManager]: * sizeof long=4 [2024-01-31 17:19:20,933 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-01-31 17:19:20,933 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-01-31 17:19:20,933 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-01-31 17:19:20,934 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-01-31 17:19:20,934 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-01-31 17:19:20,934 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-01-31 17:19:20,935 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-01-31 17:19:20,935 INFO L153 SettingsManager]: * sizeof long double=12 [2024-01-31 17:19:20,935 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-01-31 17:19:20,935 INFO L153 SettingsManager]: * Use constant arrays=true [2024-01-31 17:19:20,936 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-01-31 17:19:20,936 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-01-31 17:19:20,936 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-01-31 17:19:20,936 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-01-31 17:19:20,936 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-31 17:19:20,937 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-01-31 17:19:20,937 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-01-31 17:19:20,937 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-01-31 17:19:20,937 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-01-31 17:19:20,937 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-01-31 17:19:20,938 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-01-31 17:19:20,938 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-01-31 17:19:20,938 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-01-31 17:19:20,938 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-01-31 17:19:20,938 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-01-31 17:19:20,939 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false [2024-01-31 17:19:21,170 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-01-31 17:19:21,196 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-01-31 17:19:21,199 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-01-31 17:19:21,200 INFO L270 PluginConnector]: Initializing CDTParser... [2024-01-31 17:19:21,200 INFO L274 PluginConnector]: CDTParser initialized [2024-01-31 17:19:21,201 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2024-01-31 17:19:22,336 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-01-31 17:19:22,546 INFO L384 CDTParser]: Found 1 translation units. [2024-01-31 17:19:22,547 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c [2024-01-31 17:19:22,554 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3ca230015/fe46a912fc42450684264a669f4aeee1/FLAGe89d36d05 [2024-01-31 17:19:22,565 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3ca230015/fe46a912fc42450684264a669f4aeee1 [2024-01-31 17:19:22,567 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-01-31 17:19:22,567 INFO L274 PluginConnector]: Witness Parser initialized [2024-01-31 17:19:22,568 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/popl20-three-array-min.wvr.yml/witness.yml [2024-01-31 17:19:22,729 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-01-31 17:19:22,731 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-01-31 17:19:22,732 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-01-31 17:19:22,732 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-01-31 17:19:22,737 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-01-31 17:19:22,739 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 31.01 05:19:22" (1/2) ... [2024-01-31 17:19:22,740 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3a4fd8f9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.01 05:19:22, skipping insertion in model container [2024-01-31 17:19:22,740 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 31.01 05:19:22" (1/2) ... [2024-01-31 17:19:22,743 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@3f305bb1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.01 05:19:22, skipping insertion in model container [2024-01-31 17:19:22,743 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 31.01 05:19:22" (2/2) ... [2024-01-31 17:19:22,743 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3a4fd8f9 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:22, skipping insertion in model container [2024-01-31 17:19:22,744 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 31.01 05:19:22" (2/2) ... [2024-01-31 17:19:22,744 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-01-31 17:19:22,806 INFO L96 nessWitnessExtractor]: Found the following entries in the witness: [2024-01-31 17:19:22,807 INFO L98 nessWitnessExtractor]: Location invariant after [L75-L75] ((1 <= p) && ((unsigned long )_argptr == 0UL)) && ((((((((1 == i && i == 1) || ((1 <= i && i <= 2147483646) && i != 0)) || (1 <= i && i <= 7)) || (1 <= i && i <= 6)) || (1 <= i && i <= 5)) || (((0 <= i && 1 <= i) && i <= 4) && i <= 65535)) || (((0 <= i && 1 <= i) && i <= 3) && i <= 255)) || (((((0 <= i && 1 <= i) && i <= 2) && i <= 127) && i != 0) && (i == 1 || i == 2))) [2024-01-31 17:19:22,807 INFO L98 nessWitnessExtractor]: Location invariant after [L72-L72] (unsigned long )_argptr == 0UL [2024-01-31 17:19:22,832 INFO L179 MainTranslator]: Built tables and reachable declarations [2024-01-31 17:19:22,986 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-01-31 17:19:23,011 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-31 17:19:23,029 INFO L204 MainTranslator]: Completed pre-run [2024-01-31 17:19:23,046 WARN L424 MainDispatcher]: Unable to annotate int with a witness entry [2024-01-31 17:19:23,046 WARN L424 MainDispatcher]: Unable to annotate _Bool with a witness entry [2024-01-31 17:19:23,056 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-three-array-min.wvr.c[2854,2867] [2024-01-31 17:19:23,064 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-31 17:19:23,078 INFO L208 MainTranslator]: Completed translation [2024-01-31 17:19:23,078 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23 WrapperNode [2024-01-31 17:19:23,079 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-01-31 17:19:23,080 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-01-31 17:19:23,080 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-01-31 17:19:23,080 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-01-31 17:19:23,086 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,095 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,124 INFO L138 Inliner]: procedures = 26, calls = 57, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 240 [2024-01-31 17:19:23,125 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-01-31 17:19:23,125 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-01-31 17:19:23,125 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-01-31 17:19:23,125 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-01-31 17:19:23,137 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,137 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,142 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,194 INFO L175 MemorySlicer]: Split 24 memory accesses to 5 slices as follows [2, 2, 16, 2, 2]. 67 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0]. The 7 writes are split as follows [0, 1, 4, 1, 1]. [2024-01-31 17:19:23,194 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,201 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,210 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,214 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,230 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,232 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,236 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-01-31 17:19:23,244 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-01-31 17:19:23,244 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-01-31 17:19:23,245 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-01-31 17:19:23,246 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (1/1) ... [2024-01-31 17:19:23,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-31 17:19:23,262 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-31 17:19:23,275 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-01-31 17:19:23,298 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-01-31 17:19:23,360 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-01-31 17:19:23,360 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-01-31 17:19:23,360 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-01-31 17:19:23,360 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-01-31 17:19:23,361 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-01-31 17:19:23,361 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-01-31 17:19:23,361 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-01-31 17:19:23,361 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-01-31 17:19:23,361 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-01-31 17:19:23,362 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-01-31 17:19:23,362 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-01-31 17:19:23,363 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-01-31 17:19:23,363 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-01-31 17:19:23,364 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-01-31 17:19:23,364 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-01-31 17:19:23,366 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-01-31 17:19:23,366 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-01-31 17:19:23,367 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-01-31 17:19:23,367 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-01-31 17:19:23,367 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-01-31 17:19:23,367 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-01-31 17:19:23,367 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-01-31 17:19:23,367 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-01-31 17:19:23,367 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-01-31 17:19:23,367 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-01-31 17:19:23,368 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-01-31 17:19:23,368 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-01-31 17:19:23,368 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-01-31 17:19:23,368 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-01-31 17:19:23,370 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-01-31 17:19:23,530 INFO L244 CfgBuilder]: Building ICFG [2024-01-31 17:19:23,532 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-01-31 17:19:23,889 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-01-31 17:19:23,890 INFO L293 CfgBuilder]: Performing block encoding [2024-01-31 17:19:24,236 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-01-31 17:19:24,237 INFO L320 CfgBuilder]: Removed 6 assume(true) statements. [2024-01-31 17:19:24,237 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.01 05:19:24 BoogieIcfgContainer [2024-01-31 17:19:24,238 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-01-31 17:19:24,240 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-01-31 17:19:24,240 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-01-31 17:19:24,243 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-01-31 17:19:24,243 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 31.01 05:19:22" (1/4) ... [2024-01-31 17:19:24,244 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2a35aacf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 31.01 05:19:24, skipping insertion in model container [2024-01-31 17:19:24,244 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 31.01 05:19:22" (2/4) ... [2024-01-31 17:19:24,245 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2a35aacf and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 31.01 05:19:24, skipping insertion in model container [2024-01-31 17:19:24,245 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 31.01 05:19:23" (3/4) ... [2024-01-31 17:19:24,245 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2a35aacf and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 31.01 05:19:24, skipping insertion in model container [2024-01-31 17:19:24,246 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.01 05:19:24" (4/4) ... [2024-01-31 17:19:24,247 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-min.wvr.c [2024-01-31 17:19:24,269 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-01-31 17:19:24,269 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-01-31 17:19:24,269 INFO L518 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-01-31 17:19:24,347 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-01-31 17:19:24,388 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 44 places, 41 transitions, 103 flow [2024-01-31 17:19:24,426 INFO L124 PetriNetUnfolderBase]: 7/38 cut-off events. [2024-01-31 17:19:24,426 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-01-31 17:19:24,430 INFO L83 FinitePrefix]: Finished finitePrefix Result has 51 conditions, 38 events. 7/38 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 44 event pairs, 0 based on Foata normal form. 0/30 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2024-01-31 17:19:24,430 INFO L82 GeneralOperation]: Start removeDead. Operand has 44 places, 41 transitions, 103 flow [2024-01-31 17:19:24,433 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 40 places, 37 transitions, 92 flow [2024-01-31 17:19:24,447 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-01-31 17:19:24,454 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@565ec67b, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-01-31 17:19:24,454 INFO L358 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-01-31 17:19:24,471 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-01-31 17:19:24,471 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2024-01-31 17:19:24,471 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-01-31 17:19:24,472 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-31 17:19:24,473 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-31 17:19:24,473 INFO L420 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-01-31 17:19:24,478 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-31 17:19:24,478 INFO L85 PathProgramCache]: Analyzing trace with hash 2092303507, now seen corresponding path program 1 times [2024-01-31 17:19:24,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-31 17:19:24,489 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1651543801] [2024-01-31 17:19:24,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:24,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-31 17:19:24,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:24,928 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-01-31 17:19:24,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-31 17:19:24,929 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1651543801] [2024-01-31 17:19:24,929 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1651543801] provided 1 perfect and 0 imperfect interpolant sequences [2024-01-31 17:19:24,929 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-01-31 17:19:24,930 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-01-31 17:19:24,931 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1168481470] [2024-01-31 17:19:24,931 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-31 17:19:24,939 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-01-31 17:19:24,943 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-31 17:19:24,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-01-31 17:19:24,967 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-01-31 17:19:24,968 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-31 17:19:24,971 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 37 transitions, 92 flow. Second operand has 3 states, 3 states have (on average 17.333333333333332) internal successors, (52), 3 states have internal predecessors, (52), 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-01-31 17:19:24,971 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-31 17:19:24,971 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-31 17:19:24,972 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-31 17:19:25,171 INFO L124 PetriNetUnfolderBase]: 406/689 cut-off events. [2024-01-31 17:19:25,172 INFO L125 PetriNetUnfolderBase]: For 52/52 co-relation queries the response was YES. [2024-01-31 17:19:25,176 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1305 conditions, 689 events. 406/689 cut-off events. For 52/52 co-relation queries the response was YES. Maximal size of possible extension queue 46. Compared 2827 event pairs, 265 based on Foata normal form. 0/609 useless extension candidates. Maximal degree in co-relation 993. Up to 557 conditions per place. [2024-01-31 17:19:25,182 INFO L140 encePairwiseOnDemand]: 38/41 looper letters, 29 selfloop transitions, 2 changer transitions 0/38 dead transitions. [2024-01-31 17:19:25,182 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 42 places, 38 transitions, 156 flow [2024-01-31 17:19:25,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-01-31 17:19:25,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-01-31 17:19:25,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2024-01-31 17:19:25,194 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5040650406504065 [2024-01-31 17:19:25,196 INFO L175 Difference]: Start difference. First operand has 40 places, 37 transitions, 92 flow. Second operand 3 states and 62 transitions. [2024-01-31 17:19:25,197 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 42 places, 38 transitions, 156 flow [2024-01-31 17:19:25,202 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 36 places, 38 transitions, 144 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-01-31 17:19:25,204 INFO L231 Difference]: Finished difference. Result has 37 places, 38 transitions, 92 flow [2024-01-31 17:19:25,206 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=80, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=37, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=35, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=92, PETRI_PLACES=37, PETRI_TRANSITIONS=38} [2024-01-31 17:19:25,210 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, -3 predicate places. [2024-01-31 17:19:25,210 INFO L495 AbstractCegarLoop]: Abstraction has has 37 places, 38 transitions, 92 flow [2024-01-31 17:19:25,210 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 17.333333333333332) internal successors, (52), 3 states have internal predecessors, (52), 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-01-31 17:19:25,211 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-31 17:19:25,211 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-31 17:19:25,211 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-01-31 17:19:25,212 INFO L420 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-01-31 17:19:25,212 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-31 17:19:25,212 INFO L85 PathProgramCache]: Analyzing trace with hash 2133776376, now seen corresponding path program 1 times [2024-01-31 17:19:25,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-31 17:19:25,213 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1581356009] [2024-01-31 17:19:25,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:25,213 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-31 17:19:25,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:25,448 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-01-31 17:19:25,449 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-31 17:19:25,449 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1581356009] [2024-01-31 17:19:25,450 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1581356009] provided 1 perfect and 0 imperfect interpolant sequences [2024-01-31 17:19:25,450 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-01-31 17:19:25,450 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-01-31 17:19:25,450 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [891624218] [2024-01-31 17:19:25,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-31 17:19:25,452 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-01-31 17:19:25,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-31 17:19:25,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-01-31 17:19:25,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2024-01-31 17:19:25,463 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-31 17:19:25,465 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 37 places, 38 transitions, 92 flow. Second operand has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 states have internal predecessors, (63), 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-01-31 17:19:25,465 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-31 17:19:25,465 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-31 17:19:25,466 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-31 17:19:25,590 INFO L124 PetriNetUnfolderBase]: 406/691 cut-off events. [2024-01-31 17:19:25,591 INFO L125 PetriNetUnfolderBase]: For 13/13 co-relation queries the response was YES. [2024-01-31 17:19:25,594 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1275 conditions, 691 events. 406/691 cut-off events. For 13/13 co-relation queries the response was YES. Maximal size of possible extension queue 46. Compared 2830 event pairs, 265 based on Foata normal form. 0/611 useless extension candidates. Maximal degree in co-relation 1264. Up to 556 conditions per place. [2024-01-31 17:19:25,597 INFO L140 encePairwiseOnDemand]: 34/41 looper letters, 27 selfloop transitions, 6 changer transitions 0/40 dead transitions. [2024-01-31 17:19:25,597 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 40 transitions, 162 flow [2024-01-31 17:19:25,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-01-31 17:19:25,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-01-31 17:19:25,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 75 transitions. [2024-01-31 17:19:25,607 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4573170731707317 [2024-01-31 17:19:25,607 INFO L175 Difference]: Start difference. First operand has 37 places, 38 transitions, 92 flow. Second operand 4 states and 75 transitions. [2024-01-31 17:19:25,608 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 40 transitions, 162 flow [2024-01-31 17:19:25,609 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 40 transitions, 158 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-01-31 17:19:25,611 INFO L231 Difference]: Finished difference. Result has 40 places, 40 transitions, 116 flow [2024-01-31 17:19:25,611 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=88, PETRI_DIFFERENCE_MINUEND_PLACES=36, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=32, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=116, PETRI_PLACES=40, PETRI_TRANSITIONS=40} [2024-01-31 17:19:25,612 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 0 predicate places. [2024-01-31 17:19:25,612 INFO L495 AbstractCegarLoop]: Abstraction has has 40 places, 40 transitions, 116 flow [2024-01-31 17:19:25,612 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 states have internal predecessors, (63), 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-01-31 17:19:25,613 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-31 17:19:25,613 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-31 17:19:25,613 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-01-31 17:19:25,613 INFO L420 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-01-31 17:19:25,614 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-31 17:19:25,614 INFO L85 PathProgramCache]: Analyzing trace with hash 571813758, now seen corresponding path program 1 times [2024-01-31 17:19:25,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-31 17:19:25,615 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [335967126] [2024-01-31 17:19:25,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:25,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-31 17:19:25,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:25,778 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-01-31 17:19:25,779 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-31 17:19:25,779 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [335967126] [2024-01-31 17:19:25,779 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [335967126] provided 1 perfect and 0 imperfect interpolant sequences [2024-01-31 17:19:25,780 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-01-31 17:19:25,780 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-01-31 17:19:25,780 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1598710409] [2024-01-31 17:19:25,780 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-31 17:19:25,781 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-01-31 17:19:25,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-31 17:19:25,782 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-01-31 17:19:25,782 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-01-31 17:19:25,782 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-31 17:19:25,783 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 40 transitions, 116 flow. Second operand has 3 states, 3 states have (on average 18.333333333333332) internal successors, (55), 3 states have internal predecessors, (55), 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-01-31 17:19:25,783 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-31 17:19:25,783 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-31 17:19:25,783 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-31 17:19:25,955 INFO L124 PetriNetUnfolderBase]: 584/1064 cut-off events. [2024-01-31 17:19:25,956 INFO L125 PetriNetUnfolderBase]: For 23/23 co-relation queries the response was YES. [2024-01-31 17:19:25,958 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1870 conditions, 1064 events. 584/1064 cut-off events. For 23/23 co-relation queries the response was YES. Maximal size of possible extension queue 47. Compared 4922 event pairs, 191 based on Foata normal form. 1/937 useless extension candidates. Maximal degree in co-relation 1850. Up to 398 conditions per place. [2024-01-31 17:19:25,962 INFO L140 encePairwiseOnDemand]: 38/41 looper letters, 44 selfloop transitions, 2 changer transitions 2/55 dead transitions. [2024-01-31 17:19:25,962 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 42 places, 55 transitions, 245 flow [2024-01-31 17:19:25,963 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-01-31 17:19:25,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-01-31 17:19:25,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 76 transitions. [2024-01-31 17:19:25,964 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.6178861788617886 [2024-01-31 17:19:25,964 INFO L175 Difference]: Start difference. First operand has 40 places, 40 transitions, 116 flow. Second operand 3 states and 76 transitions. [2024-01-31 17:19:25,964 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 42 places, 55 transitions, 245 flow [2024-01-31 17:19:25,965 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 41 places, 55 transitions, 244 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-01-31 17:19:25,966 INFO L231 Difference]: Finished difference. Result has 42 places, 41 transitions, 127 flow [2024-01-31 17:19:25,966 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=115, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=40, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=38, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=127, PETRI_PLACES=42, PETRI_TRANSITIONS=41} [2024-01-31 17:19:25,967 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 2 predicate places. [2024-01-31 17:19:25,967 INFO L495 AbstractCegarLoop]: Abstraction has has 42 places, 41 transitions, 127 flow [2024-01-31 17:19:25,968 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 18.333333333333332) internal successors, (55), 3 states have internal predecessors, (55), 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-01-31 17:19:25,968 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-31 17:19:25,968 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-31 17:19:25,968 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-01-31 17:19:25,968 INFO L420 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-01-31 17:19:25,969 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-31 17:19:25,969 INFO L85 PathProgramCache]: Analyzing trace with hash -486309193, now seen corresponding path program 1 times [2024-01-31 17:19:25,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-31 17:19:25,969 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [731974819] [2024-01-31 17:19:25,970 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:25,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-31 17:19:25,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:26,129 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-01-31 17:19:26,130 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-31 17:19:26,130 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [731974819] [2024-01-31 17:19:26,130 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [731974819] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-31 17:19:26,130 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [401155955] [2024-01-31 17:19:26,130 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:26,131 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-31 17:19:26,131 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-31 17:19:26,136 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-01-31 17:19:26,144 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-01-31 17:19:26,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:26,296 INFO L262 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 7 conjunts are in the unsatisfiable core [2024-01-31 17:19:26,302 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-31 17:19:26,409 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-01-31 17:19:26,410 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-01-31 17:19:26,494 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-01-31 17:19:26,495 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [401155955] provided 0 perfect and 2 imperfect interpolant sequences [2024-01-31 17:19:26,495 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-01-31 17:19:26,496 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-01-31 17:19:26,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1006675398] [2024-01-31 17:19:26,496 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-01-31 17:19:26,497 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-01-31 17:19:26,497 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-31 17:19:26,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-01-31 17:19:26,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2024-01-31 17:19:26,524 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 41 [2024-01-31 17:19:26,525 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 42 places, 41 transitions, 127 flow. Second operand has 12 states, 12 states have (on average 12.833333333333334) internal successors, (154), 12 states have internal predecessors, (154), 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-01-31 17:19:26,525 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-31 17:19:26,525 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 41 [2024-01-31 17:19:26,525 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-31 17:19:26,843 INFO L124 PetriNetUnfolderBase]: 997/1625 cut-off events. [2024-01-31 17:19:26,844 INFO L125 PetriNetUnfolderBase]: For 111/111 co-relation queries the response was YES. [2024-01-31 17:19:26,847 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3191 conditions, 1625 events. 997/1625 cut-off events. For 111/111 co-relation queries the response was YES. Maximal size of possible extension queue 54. Compared 7022 event pairs, 444 based on Foata normal form. 0/1382 useless extension candidates. Maximal degree in co-relation 2347. Up to 765 conditions per place. [2024-01-31 17:19:26,852 INFO L140 encePairwiseOnDemand]: 31/41 looper letters, 40 selfloop transitions, 10 changer transitions 41/97 dead transitions. [2024-01-31 17:19:26,852 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 50 places, 97 transitions, 462 flow [2024-01-31 17:19:26,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-01-31 17:19:26,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-01-31 17:19:26,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 172 transitions. [2024-01-31 17:19:26,854 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.46612466124661245 [2024-01-31 17:19:26,854 INFO L175 Difference]: Start difference. First operand has 42 places, 41 transitions, 127 flow. Second operand 9 states and 172 transitions. [2024-01-31 17:19:26,854 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 50 places, 97 transitions, 462 flow [2024-01-31 17:19:26,856 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 49 places, 97 transitions, 460 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-01-31 17:19:26,857 INFO L231 Difference]: Finished difference. Result has 53 places, 44 transitions, 177 flow [2024-01-31 17:19:26,857 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=125, PETRI_DIFFERENCE_MINUEND_PLACES=41, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=41, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=31, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=177, PETRI_PLACES=53, PETRI_TRANSITIONS=44} [2024-01-31 17:19:26,858 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 13 predicate places. [2024-01-31 17:19:26,858 INFO L495 AbstractCegarLoop]: Abstraction has has 53 places, 44 transitions, 177 flow [2024-01-31 17:19:26,858 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 12.833333333333334) internal successors, (154), 12 states have internal predecessors, (154), 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-01-31 17:19:26,858 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-31 17:19:26,859 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-31 17:19:26,877 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2024-01-31 17:19:27,073 WARN L477 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-01-31 17:19:27,074 INFO L420 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-01-31 17:19:27,074 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-31 17:19:27,074 INFO L85 PathProgramCache]: Analyzing trace with hash 1632837600, now seen corresponding path program 2 times [2024-01-31 17:19:27,074 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-31 17:19:27,075 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1768318002] [2024-01-31 17:19:27,075 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:27,075 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-31 17:19:27,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:27,298 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-01-31 17:19:27,299 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-31 17:19:27,299 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1768318002] [2024-01-31 17:19:27,300 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1768318002] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-31 17:19:27,300 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1133000580] [2024-01-31 17:19:27,300 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-01-31 17:19:27,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-31 17:19:27,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-31 17:19:27,304 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-01-31 17:19:27,339 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-01-31 17:19:27,461 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-01-31 17:19:27,461 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-01-31 17:19:27,463 INFO L262 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 7 conjunts are in the unsatisfiable core [2024-01-31 17:19:27,465 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-31 17:19:27,515 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-01-31 17:19:27,515 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-01-31 17:19:27,569 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-01-31 17:19:27,569 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1133000580] provided 1 perfect and 1 imperfect interpolant sequences [2024-01-31 17:19:27,569 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-01-31 17:19:27,569 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-01-31 17:19:27,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1001937566] [2024-01-31 17:19:27,570 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-31 17:19:27,570 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-01-31 17:19:27,571 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-31 17:19:27,571 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-01-31 17:19:27,571 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-01-31 17:19:27,579 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 41 [2024-01-31 17:19:27,579 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 44 transitions, 177 flow. Second operand has 6 states, 6 states have (on average 14.666666666666666) internal successors, (88), 6 states have internal predecessors, (88), 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-01-31 17:19:27,580 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-31 17:19:27,580 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 41 [2024-01-31 17:19:27,580 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-31 17:19:27,739 INFO L124 PetriNetUnfolderBase]: 720/1253 cut-off events. [2024-01-31 17:19:27,740 INFO L125 PetriNetUnfolderBase]: For 197/197 co-relation queries the response was YES. [2024-01-31 17:19:27,743 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2556 conditions, 1253 events. 720/1253 cut-off events. For 197/197 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 5896 event pairs, 377 based on Foata normal form. 0/1126 useless extension candidates. Maximal degree in co-relation 2521. Up to 771 conditions per place. [2024-01-31 17:19:27,748 INFO L140 encePairwiseOnDemand]: 36/41 looper letters, 47 selfloop transitions, 5 changer transitions 0/59 dead transitions. [2024-01-31 17:19:27,748 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 54 places, 59 transitions, 321 flow [2024-01-31 17:19:27,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-01-31 17:19:27,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-01-31 17:19:27,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 107 transitions. [2024-01-31 17:19:27,749 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4349593495934959 [2024-01-31 17:19:27,750 INFO L175 Difference]: Start difference. First operand has 53 places, 44 transitions, 177 flow. Second operand 6 states and 107 transitions. [2024-01-31 17:19:27,750 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 54 places, 59 transitions, 321 flow [2024-01-31 17:19:27,753 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 50 places, 59 transitions, 301 flow, removed 7 selfloop flow, removed 4 redundant places. [2024-01-31 17:19:27,754 INFO L231 Difference]: Finished difference. Result has 51 places, 45 transitions, 177 flow [2024-01-31 17:19:27,755 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=159, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=177, PETRI_PLACES=51, PETRI_TRANSITIONS=45} [2024-01-31 17:19:27,755 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 11 predicate places. [2024-01-31 17:19:27,755 INFO L495 AbstractCegarLoop]: Abstraction has has 51 places, 45 transitions, 177 flow [2024-01-31 17:19:27,756 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 14.666666666666666) internal successors, (88), 6 states have internal predecessors, (88), 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-01-31 17:19:27,756 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-31 17:19:27,756 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-31 17:19:27,776 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-01-31 17:19:27,976 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-31 17:19:27,977 INFO L420 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-01-31 17:19:27,977 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-31 17:19:27,977 INFO L85 PathProgramCache]: Analyzing trace with hash 2095114933, now seen corresponding path program 1 times [2024-01-31 17:19:27,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-31 17:19:27,977 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810734401] [2024-01-31 17:19:27,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:27,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-31 17:19:28,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:28,156 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-01-31 17:19:28,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-31 17:19:28,156 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810734401] [2024-01-31 17:19:28,156 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [810734401] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-31 17:19:28,157 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1317257740] [2024-01-31 17:19:28,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:28,157 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-31 17:19:28,157 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-31 17:19:28,158 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-01-31 17:19:28,175 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-01-31 17:19:28,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:28,297 INFO L262 TraceCheckSpWp]: Trace formula consists of 349 conjuncts, 7 conjunts are in the unsatisfiable core [2024-01-31 17:19:28,299 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-31 17:19:28,351 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-01-31 17:19:28,351 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-01-31 17:19:28,411 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2024-01-31 17:19:28,411 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1317257740] provided 1 perfect and 1 imperfect interpolant sequences [2024-01-31 17:19:28,411 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-01-31 17:19:28,411 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-01-31 17:19:28,412 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1595077668] [2024-01-31 17:19:28,412 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-31 17:19:28,412 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-01-31 17:19:28,412 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-31 17:19:28,413 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-01-31 17:19:28,413 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-01-31 17:19:28,419 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 41 [2024-01-31 17:19:28,420 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 45 transitions, 177 flow. Second operand has 6 states, 6 states have (on average 13.833333333333334) internal successors, (83), 6 states have internal predecessors, (83), 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-01-31 17:19:28,420 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-31 17:19:28,420 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 41 [2024-01-31 17:19:28,420 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-31 17:19:28,641 INFO L124 PetriNetUnfolderBase]: 1030/1656 cut-off events. [2024-01-31 17:19:28,641 INFO L125 PetriNetUnfolderBase]: For 697/697 co-relation queries the response was YES. [2024-01-31 17:19:28,645 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3830 conditions, 1656 events. 1030/1656 cut-off events. For 697/697 co-relation queries the response was YES. Maximal size of possible extension queue 68. Compared 7446 event pairs, 357 based on Foata normal form. 0/1401 useless extension candidates. Maximal degree in co-relation 3796. Up to 752 conditions per place. [2024-01-31 17:19:28,651 INFO L140 encePairwiseOnDemand]: 35/41 looper letters, 48 selfloop transitions, 6 changer transitions 0/60 dead transitions. [2024-01-31 17:19:28,651 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 56 places, 60 transitions, 333 flow [2024-01-31 17:19:28,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-01-31 17:19:28,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-01-31 17:19:28,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 101 transitions. [2024-01-31 17:19:28,653 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.4105691056910569 [2024-01-31 17:19:28,653 INFO L175 Difference]: Start difference. First operand has 51 places, 45 transitions, 177 flow. Second operand 6 states and 101 transitions. [2024-01-31 17:19:28,653 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 56 places, 60 transitions, 333 flow [2024-01-31 17:19:28,657 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 53 places, 60 transitions, 319 flow, removed 3 selfloop flow, removed 3 redundant places. [2024-01-31 17:19:28,658 INFO L231 Difference]: Finished difference. Result has 55 places, 46 transitions, 192 flow [2024-01-31 17:19:28,658 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=41, PETRI_DIFFERENCE_MINUEND_FLOW=167, PETRI_DIFFERENCE_MINUEND_PLACES=48, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=45, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=192, PETRI_PLACES=55, PETRI_TRANSITIONS=46} [2024-01-31 17:19:28,661 INFO L281 CegarLoopForPetriNet]: 40 programPoint places, 15 predicate places. [2024-01-31 17:19:28,661 INFO L495 AbstractCegarLoop]: Abstraction has has 55 places, 46 transitions, 192 flow [2024-01-31 17:19:28,662 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.833333333333334) internal successors, (83), 6 states have internal predecessors, (83), 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-01-31 17:19:28,662 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-31 17:19:28,662 INFO L208 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-01-31 17:19:28,680 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-01-31 17:19:28,877 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-31 17:19:28,877 INFO L420 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-01-31 17:19:28,878 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-31 17:19:28,878 INFO L85 PathProgramCache]: Analyzing trace with hash 2000132837, now seen corresponding path program 1 times [2024-01-31 17:19:28,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-31 17:19:28,878 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [61716271] [2024-01-31 17:19:28,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:28,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-31 17:19:28,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:31,243 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-01-31 17:19:31,244 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-31 17:19:31,244 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [61716271] [2024-01-31 17:19:31,244 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [61716271] provided 0 perfect and 1 imperfect interpolant sequences [2024-01-31 17:19:31,244 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1348367906] [2024-01-31 17:19:31,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-31 17:19:31,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-01-31 17:19:31,245 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-31 17:19:31,246 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-01-31 17:19:31,269 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-01-31 17:19:31,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-31 17:19:31,396 INFO L262 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 23 conjunts are in the unsatisfiable core [2024-01-31 17:19:31,399 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-01-31 17:19:31,899 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2024-01-31 17:19:31,900 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-01-31 17:19:50,058 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse554 (select |c_#memory_int#2| c_~C~0.base)) (.cse4 (+ c_~C~0.offset 4))) (let ((.cse2 (select .cse554 .cse4)) (.cse99 (+ c_~C~0.offset 8))) (let ((.cse235 (+ c_~mina~0 c_~minb~0)) (.cse3 (select .cse554 .cse99)) (.cse137 (div (* (- 1) .cse2) 2)) (.cse138 (select .cse554 c_~C~0.offset))) (let ((.cse459 (* 2 c_~mina~0)) (.cse234 (+ c_~mina~0 .cse138)) (.cse448 (+ c_~mina~0 1)) (.cse136 (+ .cse137 .cse2)) (.cse208 (= .cse3 c_~minb~0)) (.cse549 (+ .cse3 c_~mina~0)) (.cse23 (+ .cse2 c_~mina~0)) (.cse206 (+ c_~minc~0 .cse3)) (.cse51 (= c_~minc~0 .cse235)) (.cse50 (+ c_~minc~0 1))) (let ((.cse117 (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse552 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse553 (select .cse552 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse552 ~B~0.offset) c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse50 (+ .cse553 c_~mina~0)) (<= (+ .cse553 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse553)))))))) (.cse135 (= c_~minc~0 (* 2 .cse138))) (.cse91 (= .cse3 c_~mina~0)) (.cse207 (+ .cse2 .cse138)) (.cse90 (= (* .cse3 2) .cse2)) (.cse120 (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse551 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse550 (select .cse551 (+ ~B~0.offset 4)))) (and (= .cse550 c_~minb~0) (= c_~minc~0 (+ (select .cse551 ~B~0.offset) c_~mina~0)) (<= (+ .cse550 c_~mina~0) c_~minc~0) (<= (+ .cse550 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse550))))))))) (.cse85 (<= (+ .cse3 c_~mina~0 1) .cse2)) (.cse95 (= .cse23 .cse206)) (.cse86 (or (and .cse51 (<= .cse50 .cse549)) (and .cse208 (<= .cse549 c_~minc~0)))) (.cse139 (= c_~mina~0 .cse138)) (.cse133 (= (mod .cse2 2) 0)) (.cse134 (= (+ .cse137 c_~minb~0) 0)) (.cse140 (<= .cse448 .cse136)) (.cse204 (= .cse2 .cse549)) (.cse141 (= c_~minc~0 .cse234)) (.cse94 (= c_~minc~0 .cse459))) (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse1 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse0 (select .cse1 (+ ~B~0.offset 4)))) (and (= .cse0 c_~minb~0) (= c_~minc~0 (+ (select .cse1 ~B~0.offset) c_~mina~0)) (<= (+ .cse0 c_~mina~0) c_~minc~0) (= .cse0 c_~mina~0) (<= (+ .cse0 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse0)))))) (not (= ~B~0.offset .cse4)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse5 (select |c_#memory_int#2| ~A~0.base))) (and (= (select .cse5 ~A~0.offset) c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse8 (+ ~A~0.offset 4)) (.cse9 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse7 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse6 (select .cse7 .cse9))) (and (= .cse6 c_~minb~0) (= c_~minc~0 (+ (select .cse7 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse6 (select .cse5 .cse8))) (<= (+ .cse6 c_~mina~0) c_~minc~0) (<= (+ .cse6 c_~mina~0 1) .cse2) (= .cse2 (* .cse6 2)))))) (not (= .cse8 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse9)))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse13 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse12 (select |c_#memory_int#2| ~A~0.base)) (.cse10 (select .cse13 ~B~0.offset)) (.cse11 (select .cse13 (+ ~B~0.offset 4)))) (and (<= (+ .cse10 .cse2) (+ c_~minc~0 .cse11)) (= c_~minc~0 (+ .cse10 (select .cse12 ~A~0.offset))) (= .cse2 (+ .cse11 (select .cse12 (+ ~A~0.offset 4)))) (= .cse10 c_~minb~0) (<= (+ .cse10 1) .cse11) (= (+ .cse10 .cse11) .cse2) (= .cse2 (+ .cse11 c_~mina~0)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse18 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse15 (select .cse18 ~B~0.offset)) (.cse14 (select .cse18 (+ ~B~0.offset 4)))) (let ((.cse16 (+ .cse15 .cse14))) (and (= .cse14 c_~minb~0) (<= (+ .cse15 .cse2) (+ c_~minc~0 .cse14)) (<= .cse14 .cse15) (= c_~minc~0 .cse16) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse17 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse15 (select .cse17 ~A~0.offset))) (= .cse2 (+ .cse14 (select .cse17 (+ ~A~0.offset 4)))) (not (= ~B~0.offset ~A~0.offset))))) (= .cse16 .cse2) (= .cse2 (+ .cse14 c_~mina~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse22 (select |c_#memory_int#2| ~B~0.base)) (.cse21 (+ ~B~0.offset 4))) (let ((.cse19 (select .cse22 .cse21))) (and (= .cse19 c_~minb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse20 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse19 (select .cse20 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (= (select .cse20 ~A~0.offset) c_~mina~0)))) (not (= ~A~0.offset .cse21)))) (= c_~minc~0 (+ (select .cse22 ~B~0.offset) c_~mina~0)) (= .cse23 (+ c_~minc~0 .cse19)) (<= (+ .cse19 c_~mina~0 1) .cse2) (= .cse2 (* .cse19 2)))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse26 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse24 (select .cse26 ~B~0.offset)) (.cse25 (select .cse26 (+ ~B~0.offset 4)))) (and (<= (+ .cse24 .cse2) (+ c_~minc~0 .cse25)) (= .cse24 c_~minb~0) (= c_~minc~0 (+ .cse24 .cse25)) (<= (+ .cse24 1) .cse25) (= .cse2 (+ .cse25 c_~mina~0)) (= .cse2 (+ .cse3 .cse25)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse29 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse28 (select .cse29 ~B~0.offset)) (.cse27 (select .cse29 (+ ~B~0.offset 4)))) (and (= .cse27 c_~minb~0) (<= (+ .cse28 .cse2) (+ c_~minc~0 .cse27)) (<= .cse27 .cse28) (= c_~minc~0 (+ .cse28 .cse27)) (= .cse2 (+ .cse27 c_~mina~0)) (= .cse2 (+ .cse3 .cse27)))))) (not (= ~B~0.offset .cse4)))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse30 (+ ~A~0.offset 4)) (.cse35 (+ ~B~0.offset 4))) (and (not (= .cse30 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse34 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse32 (select .cse34 ~B~0.offset)) (.cse33 (select |c_#memory_int#2| ~A~0.base)) (.cse31 (select .cse34 .cse35))) (and (= .cse31 c_~minb~0) (<= (+ .cse32 .cse2) (+ c_~minc~0 .cse31)) (= c_~minc~0 (+ .cse32 (select .cse33 ~A~0.offset))) (<= .cse31 .cse32) (= .cse2 (+ .cse31 (select .cse33 .cse30))) (= .cse2 (+ .cse31 c_~mina~0)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse35))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse36 (+ ~A~0.offset 4)) (.cse37 (+ ~B~0.offset 4))) (and (not (= .cse36 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse37)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse41 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse40 (select |c_#memory_int#2| ~A~0.base)) (.cse38 (select .cse41 ~B~0.offset)) (.cse39 (select .cse41 .cse37))) (and (= c_~minc~0 (* .cse38 2)) (<= (+ .cse38 .cse2) (+ c_~minc~0 .cse39)) (= c_~minc~0 (+ .cse38 (select .cse40 ~A~0.offset))) (= .cse2 (+ .cse39 (select .cse40 .cse36))) (= .cse38 c_~minb~0) (<= (+ .cse38 1) .cse39) (= .cse2 (+ .cse39 c_~mina~0))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse46 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse42 (select .cse46 ~B~0.offset)) (.cse44 (select .cse46 (+ ~B~0.offset 4)))) (and (exists ((~A~0.offset Int)) (let ((.cse45 (+ ~A~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse43 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse42 (select .cse43 ~A~0.offset))) (= .cse2 (+ .cse44 (select .cse43 .cse45)))))) (not (= .cse45 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse42 .cse2) (+ c_~minc~0 .cse44)) (= .cse42 c_~minb~0) (= c_~minc~0 (+ .cse42 .cse44)) (<= (+ .cse42 1) .cse44) (= .cse2 (+ .cse44 c_~mina~0)))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse47 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse49 (select |c_#memory_int#2| ~A~0.base)) (.cse48 (select .cse47 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse47 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse48 (select .cse49 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (= (select .cse49 ~A~0.offset) c_~mina~0) (<= .cse50 (+ .cse48 c_~mina~0)) (<= (+ .cse48 c_~mina~0 1) .cse2))))) .cse51) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse53 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse52 (select .cse53 (+ ~B~0.offset 4)))) (and (= .cse52 c_~minb~0) (= c_~minc~0 (+ (select .cse53 ~B~0.offset) c_~mina~0)) (<= (+ .cse52 c_~mina~0) c_~minc~0) (exists ((~A~0.offset Int)) (let ((.cse54 (+ ~A~0.offset 4))) (and (not (= .cse54 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse55 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse52 (select .cse55 .cse54))) (not (= ~A~0.base ~B~0.base)) (= (select .cse55 ~A~0.offset) c_~mina~0))))))) (= .cse52 c_~mina~0) (<= (+ .cse52 c_~mina~0 1) .cse2))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse56 (select |c_#memory_int#2| ~A~0.base))) (and (= (select .cse56 ~A~0.offset) c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse59 (select |c_#memory_int#2| ~B~0.base)) (.cse60 (+ ~B~0.offset 4))) (let ((.cse58 (+ ~A~0.offset 4)) (.cse57 (select .cse59 .cse60))) (and (= .cse57 c_~minb~0) (not (= .cse58 ~B~0.offset)) (= c_~minc~0 (+ (select .cse59 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse57 (select .cse56 .cse58))) (<= (+ .cse57 c_~mina~0) c_~minc~0) (<= (+ .cse57 c_~mina~0 1) .cse2) (not (= ~A~0.offset .cse60))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse65 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse62 (select .cse65 ~B~0.offset)) (.cse61 (select .cse65 (+ ~B~0.offset 4)))) (let ((.cse63 (+ .cse62 .cse61))) (and (= .cse61 c_~minb~0) (= c_~minc~0 (* .cse62 2)) (= c_~minc~0 .cse63) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse64 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse62 (select .cse64 ~A~0.offset))) (= .cse2 (+ .cse61 (select .cse64 (+ ~A~0.offset 4))))))) (= .cse63 .cse2) (= .cse2 (+ .cse61 c_~mina~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse69 (+ ~B~0.offset 4)) (.cse70 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse68 (select |c_#memory_int#2| ~A~0.base)) (.cse67 (select .cse70 ~B~0.offset)) (.cse66 (select .cse70 .cse69))) (and (= .cse66 c_~minb~0) (<= (+ .cse67 .cse2) (+ c_~minc~0 .cse66)) (= c_~minc~0 (+ .cse67 (select .cse68 ~A~0.offset))) (<= .cse66 .cse67) (= .cse2 (+ .cse66 (select .cse68 (+ ~A~0.offset 4)))) (= (+ .cse67 .cse66) .cse2) (= .cse2 (+ .cse66 c_~mina~0)) (not (= ~A~0.offset .cse69)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse74 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse73 (select |c_#memory_int#2| ~A~0.base)) (.cse71 (select .cse74 ~B~0.offset)) (.cse72 (select .cse74 (+ ~B~0.offset 4)))) (and (<= (+ .cse71 .cse2) (+ c_~minc~0 .cse72)) (= c_~minc~0 (+ .cse71 (select .cse73 ~A~0.offset))) (= .cse2 (+ .cse72 (select .cse73 (+ ~A~0.offset 4)))) (= .cse71 c_~minb~0) (<= (+ .cse71 1) .cse72) (= .cse2 (+ .cse72 c_~mina~0)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse79 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse76 (select .cse79 ~B~0.offset)) (.cse75 (select .cse79 (+ ~B~0.offset 4)))) (and (= .cse75 c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse78 (+ ~A~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse77 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse76 (select .cse77 ~A~0.offset))) (= .cse2 (+ .cse75 (select .cse77 .cse78)))))) (not (= .cse78 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse76 .cse2) (+ c_~minc~0 .cse75)) (<= .cse75 .cse76) (= c_~minc~0 (+ .cse76 .cse75)) (= .cse2 (+ .cse75 c_~mina~0)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse84 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse82 (select .cse84 ~B~0.offset)) (.cse83 (select |c_#memory_int#2| ~A~0.base)) (.cse81 (+ ~A~0.offset 4)) (.cse80 (select .cse84 (+ ~B~0.offset 4)))) (and (= .cse80 c_~minb~0) (not (= .cse81 ~B~0.offset)) (<= (+ .cse82 .cse2) (+ c_~minc~0 .cse80)) (= c_~minc~0 (+ .cse82 (select .cse83 ~A~0.offset))) (<= .cse80 .cse82) (= .cse2 (+ .cse80 (select .cse83 .cse81))) (= .cse2 (+ .cse80 c_~mina~0)))))) (not (= ~A~0.base ~B~0.base)))) (and .cse85 .cse86 (let ((.cse88 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (not (= .cse99 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse105 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse3 (select .cse105 (+ ~A~0.offset 4)))) (= (select .cse105 ~A~0.offset) c_~mina~0))))))) (.cse89 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse104 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse2 (+ .cse3 (select .cse104 (+ ~A~0.offset 4)))) (= (select .cse104 ~A~0.offset) c_~mina~0)))) (not (= .cse99 ~A~0.offset))))) (.cse93 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse103 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse2 (+ .cse3 (select .cse103 (+ ~A~0.offset 4)))) (= (select .cse103 ~A~0.offset) c_~mina~0))))))) (.cse87 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse102 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse2 (+ .cse3 (select .cse102 (+ ~A~0.offset 4)))) (= (select .cse102 ~A~0.offset) c_~mina~0)))))) (or .cse87 .cse88 .cse89 (and (or .cse88 .cse89) .cse90) (and .cse91 (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (exists ((~A~0.base Int)) (let ((.cse92 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse3 (select .cse92 (+ ~A~0.offset 4)))) (= (select .cse92 ~A~0.offset) c_~mina~0)))))) .cse93)) .cse93 (and .cse90 .cse94) (and .cse95 (let ((.cse97 (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse101 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse2 (+ .cse3 (select .cse101 (+ ~A~0.offset 4)))) (= (select .cse101 ~A~0.offset) c_~mina~0)))) (not (= .cse99 ~A~0.offset))))) (.cse98 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse4)) (not (= .cse99 ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse100 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse3 (select .cse100 (+ ~A~0.offset 4)))) (= (select .cse100 ~A~0.offset) c_~mina~0)))))))) (or .cse87 (and .cse91 (or .cse87 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse96 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.offset .cse4)) (= .cse2 (+ .cse3 (select .cse96 (+ ~A~0.offset 4)))) (= (select .cse96 ~A~0.offset) c_~mina~0)))))) .cse97 .cse98 (and (or .cse97 .cse98) .cse90))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse107 (select |c_#memory_int#2| ~B~0.base)) (.cse110 (+ ~B~0.offset 4))) (let ((.cse106 (+ ~A~0.offset 4)) (.cse109 (select |c_#memory_int#2| ~A~0.base)) (.cse108 (select .cse107 .cse110))) (and (not (= .cse106 ~B~0.offset)) (= c_~minc~0 (+ (select .cse107 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse108 (select .cse109 .cse106))) (not (= ~A~0.base ~B~0.base)) (= (select .cse109 ~A~0.offset) c_~mina~0) (<= .cse50 (+ .cse108 c_~mina~0)) (<= (+ .cse108 c_~mina~0 1) .cse2) (= .cse2 (* .cse108 2)) (not (= ~A~0.offset .cse110)))))) .cse51) (and .cse51 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse112 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse111 (+ ~A~0.offset 4)) (.cse114 (select |c_#memory_int#2| ~A~0.base)) (.cse113 (select .cse112 (+ ~B~0.offset 4)))) (and (not (= .cse111 ~B~0.offset)) (= c_~minc~0 (+ (select .cse112 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse113 (select .cse114 .cse111))) (not (= ~A~0.base ~B~0.base)) (= (select .cse114 ~A~0.offset) c_~mina~0) (<= .cse50 (+ .cse113 c_~mina~0)) (<= (+ .cse113 c_~mina~0 1) .cse2)))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse116 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse115 (select .cse116 (+ ~B~0.offset 4)))) (and (= .cse115 c_~minb~0) (= c_~minc~0 (+ (select .cse116 ~B~0.offset) c_~mina~0)) (= .cse115 c_~mina~0) (<= (+ .cse115 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse115)))))) .cse117 (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse118 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse119 (select .cse118 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse118 ~B~0.offset) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse50 (+ .cse119 c_~mina~0)) (<= (+ .cse119 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse119))))))) .cse120 (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse122 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse121 (select .cse122 (+ ~B~0.offset 4)))) (and (= .cse121 c_~minb~0) (= c_~minc~0 (+ (select .cse122 ~B~0.offset) c_~mina~0)) (<= (+ .cse121 c_~mina~0) c_~minc~0) (<= (+ .cse121 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse121))))))))) .cse94) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse126 (+ ~B~0.offset 4)) (.cse127 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse125 (select |c_#memory_int#2| ~A~0.base)) (.cse124 (select .cse127 ~B~0.offset)) (.cse123 (select .cse127 .cse126))) (and (= .cse123 c_~minb~0) (= c_~minc~0 (* .cse124 2)) (= c_~minc~0 (+ .cse124 (select .cse125 ~A~0.offset))) (= .cse2 (+ .cse123 (select .cse125 (+ ~A~0.offset 4)))) (= (+ .cse124 .cse123) .cse2) (= .cse2 (+ .cse123 c_~mina~0)) (= .cse2 (* .cse123 2)) (not (= ~A~0.offset .cse126)))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse129 (select |c_#memory_int#2| ~B~0.base)) (.cse132 (+ ~B~0.offset 4))) (let ((.cse128 (+ ~A~0.offset 4)) (.cse131 (select |c_#memory_int#2| ~A~0.base)) (.cse130 (select .cse129 .cse132))) (and (not (= .cse128 ~B~0.offset)) (= c_~minc~0 (+ (select .cse129 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse130 (select .cse131 .cse128))) (= (select .cse131 ~A~0.offset) c_~mina~0) (not (= ~B~0.offset ~A~0.offset)) (<= .cse50 (+ .cse130 c_~mina~0)) (<= (+ .cse130 c_~mina~0 1) .cse2) (= .cse2 (* .cse130 2)) (not (= ~A~0.offset .cse132)))))) .cse51) (and .cse133 (or (and .cse134 .cse135 (= .cse136 c_~mina~0) (<= (+ .cse137 .cse2 .cse138) c_~minc~0)) (and .cse139 .cse51 .cse140 .cse141))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse146 (+ ~B~0.offset 4)) (.cse147 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse145 (select |c_#memory_int#2| ~A~0.base)) (.cse143 (+ ~A~0.offset 4)) (.cse142 (select .cse147 ~B~0.offset)) (.cse144 (select .cse147 .cse146))) (and (= c_~minc~0 (* .cse142 2)) (not (= .cse143 ~B~0.offset)) (<= (+ .cse142 .cse2) (+ c_~minc~0 .cse144)) (= c_~minc~0 (+ .cse142 (select .cse145 ~A~0.offset))) (= .cse2 (+ .cse144 (select .cse145 .cse143))) (= .cse142 c_~minb~0) (<= (+ .cse142 1) .cse144) (= .cse2 (+ .cse144 c_~mina~0)) (not (= ~A~0.offset .cse146)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse149 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse148 (select .cse149 (+ ~B~0.offset 4)))) (and (= .cse148 c_~minb~0) (= c_~minc~0 (+ (select .cse149 ~B~0.offset) c_~mina~0)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse150 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse148 (select .cse150 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (= (select .cse150 ~A~0.offset) c_~mina~0)))) (= .cse23 (+ c_~minc~0 .cse148)) (= .cse148 c_~mina~0) (<= (+ .cse148 c_~mina~0 1) .cse2))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse155 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse152 (select .cse155 ~B~0.offset)) (.cse151 (select .cse155 (+ ~B~0.offset 4)))) (let ((.cse153 (+ .cse152 .cse151))) (and (= .cse151 c_~minb~0) (= c_~minc~0 (* .cse152 2)) (= c_~minc~0 .cse153) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse154 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse152 (select .cse154 ~A~0.offset))) (= .cse2 (+ .cse151 (select .cse154 (+ ~A~0.offset 4)))) (not (= ~B~0.offset ~A~0.offset))))) (= .cse153 .cse2) (= .cse2 (+ .cse151 c_~mina~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse160 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse159 (select |c_#memory_int#2| ~A~0.base)) (.cse156 (+ ~A~0.offset 4)) (.cse157 (select .cse160 ~B~0.offset)) (.cse158 (select .cse160 (+ ~B~0.offset 4)))) (and (not (= .cse156 ~B~0.offset)) (<= (+ .cse157 .cse2) (+ c_~minc~0 .cse158)) (= c_~minc~0 (+ .cse157 (select .cse159 ~A~0.offset))) (= .cse2 (+ .cse158 (select .cse159 .cse156))) (= .cse157 c_~minb~0) (<= (+ .cse157 1) .cse158) (= .cse2 (+ .cse158 c_~mina~0)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse165 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse162 (select .cse165 ~B~0.offset)) (.cse161 (select .cse165 (+ ~B~0.offset 4)))) (and (= .cse161 c_~minb~0) (<= (+ .cse162 .cse2) (+ c_~minc~0 .cse161)) (<= .cse161 .cse162) (= c_~minc~0 (+ .cse162 .cse161)) (exists ((~A~0.offset Int)) (let ((.cse163 (+ ~A~0.offset 4))) (and (not (= .cse163 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse164 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse162 (select .cse164 ~A~0.offset))) (= .cse2 (+ .cse161 (select .cse164 .cse163))) (not (= ~A~0.base ~B~0.base)))))))) (= .cse2 (+ .cse161 c_~mina~0)))))) .cse117 (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse168 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse166 (select .cse168 ~B~0.offset)) (.cse167 (select .cse168 (+ ~B~0.offset 4)))) (and (<= (+ .cse166 .cse2) (+ c_~minc~0 .cse167)) (= .cse166 c_~minb~0) (= c_~minc~0 (+ .cse166 .cse138)) (<= (+ .cse166 1) .cse167) (= .cse2 (+ .cse167 c_~mina~0)) (= .cse2 (* .cse167 2)))))) (not (= c_~C~0.base ~B~0.base)))) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse169 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse170 (select .cse169 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse169 ~B~0.offset) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse50 (+ .cse170 c_~mina~0)) (<= (+ .cse170 c_~mina~0 1) .cse2) (not (= ~B~0.offset .cse4)) (= .cse2 (+ .cse3 .cse170))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse172 (select |c_#memory_int#2| ~B~0.base)) (.cse174 (+ ~B~0.offset 4))) (let ((.cse171 (select .cse172 .cse174))) (and (= .cse171 c_~minb~0) (= c_~minc~0 (+ (select .cse172 ~B~0.offset) c_~mina~0)) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse173 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse171 (select .cse173 (+ ~A~0.offset 4)))) (= (select .cse173 ~A~0.offset) c_~mina~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse174)))) (= .cse23 (+ c_~minc~0 .cse171)) (<= (+ .cse171 c_~mina~0 1) .cse2) (= .cse2 (* .cse171 2)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse178 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse175 (select .cse178 (+ ~B~0.offset 4)))) (and (= .cse175 c_~minb~0) (exists ((~A~0.offset Int)) (let ((.cse176 (+ ~A~0.offset 4))) (and (not (= .cse176 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse177 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse175 (select .cse177 .cse176))) (= (select .cse177 ~A~0.offset) c_~mina~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= c_~minc~0 (+ (select .cse178 ~B~0.offset) c_~mina~0)) (<= (+ .cse175 c_~mina~0) c_~minc~0) (= .cse175 c_~mina~0) (<= (+ .cse175 c_~mina~0 1) .cse2))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse181 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse180 (select .cse181 ~B~0.offset)) (.cse179 (select .cse181 (+ ~B~0.offset 4)))) (and (= .cse179 c_~minb~0) (<= (+ .cse180 .cse2) (+ c_~minc~0 .cse179)) (<= .cse179 .cse180) (= c_~minc~0 (+ .cse180 .cse179)) (= .cse2 (+ .cse179 c_~mina~0)) (= .cse2 (+ .cse3 .cse179)))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse182 (+ ~A~0.offset 4)) (.cse187 (+ ~B~0.offset 4))) (and (not (= .cse182 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse186 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse184 (select .cse186 ~B~0.offset)) (.cse185 (select |c_#memory_int#2| ~A~0.base)) (.cse183 (select .cse186 .cse187))) (and (= .cse183 c_~minb~0) (= c_~minc~0 (* .cse184 2)) (<= (+ .cse184 .cse2) (+ c_~minc~0 .cse183)) (= c_~minc~0 (+ .cse184 (select .cse185 ~A~0.offset))) (<= .cse183 .cse184) (= .cse2 (+ .cse183 (select .cse185 .cse182))) (= .cse2 (+ .cse183 c_~mina~0)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse187))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse192 (+ ~B~0.offset 4)) (.cse193 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse190 (select .cse193 ~B~0.offset)) (.cse191 (select |c_#memory_int#2| ~A~0.base)) (.cse189 (+ ~A~0.offset 4)) (.cse188 (select .cse193 .cse192))) (and (= .cse188 c_~minb~0) (not (= .cse189 ~B~0.offset)) (<= (+ .cse190 .cse2) (+ c_~minc~0 .cse188)) (= c_~minc~0 (+ .cse190 (select .cse191 ~A~0.offset))) (<= .cse188 .cse190) (= .cse2 (+ .cse188 (select .cse191 .cse189))) (= .cse2 (+ .cse188 c_~mina~0)) (not (= ~A~0.offset .cse192)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse194 (select |c_#memory_int#2| ~A~0.base))) (and (= (select .cse194 ~A~0.offset) c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse196 (select |c_#memory_int#2| ~B~0.base)) (.cse197 (+ ~B~0.offset 4))) (let ((.cse195 (select .cse196 .cse197))) (and (= .cse195 c_~minb~0) (= c_~minc~0 (+ (select .cse196 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse195 (select .cse194 (+ ~A~0.offset 4)))) (<= (+ .cse195 c_~mina~0) c_~minc~0) (= .cse23 (+ c_~minc~0 .cse195)) (<= (+ .cse195 c_~mina~0 1) .cse2) (not (= ~A~0.offset .cse197))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse199 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse198 (select .cse199 (+ ~B~0.offset 4)))) (and (= .cse198 c_~minb~0) (= c_~minc~0 (+ (select .cse199 ~B~0.offset) c_~mina~0)) (= .cse23 (+ c_~minc~0 .cse198)) (= .cse198 c_~mina~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse200 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse198 (select .cse200 (+ ~A~0.offset 4)))) (= (select .cse200 ~A~0.offset) c_~mina~0) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse198 c_~mina~0 1) .cse2))))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse203 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse202 (select .cse203 ~B~0.offset)) (.cse201 (select .cse203 (+ ~B~0.offset 4)))) (and (= .cse201 c_~minb~0) (<= (+ .cse202 .cse2) (+ c_~minc~0 .cse201)) (<= .cse201 .cse202) (= c_~minc~0 (+ .cse202 .cse138)) (= .cse2 (+ .cse201 c_~mina~0)))))) (not (= ~B~0.offset .cse4)))) (let ((.cse205 (+ .cse3 .cse138))) (and .cse204 (<= .cse205 c_~minc~0) (<= .cse2 .cse205) (= .cse206 .cse207) .cse208)) (and .cse51 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse210 (select |c_#memory_int#2| ~B~0.base)) (.cse213 (+ ~B~0.offset 4))) (let ((.cse209 (+ ~A~0.offset 4)) (.cse212 (select |c_#memory_int#2| ~A~0.base)) (.cse211 (select .cse210 .cse213))) (and (not (= .cse209 ~B~0.offset)) (= c_~minc~0 (+ (select .cse210 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse211 (select .cse212 .cse209))) (not (= ~A~0.base ~B~0.base)) (= (select .cse212 ~A~0.offset) c_~mina~0) (<= .cse50 (+ .cse211 c_~mina~0)) (<= (+ .cse211 c_~mina~0 1) .cse2) (not (= ~A~0.offset .cse213))))))) (and (let ((.cse221 (exists ((~A~0.offset Int)) (let ((.cse232 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset .cse4)) (not (= .cse232 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse233 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ (select .cse233 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse233 .cse232))))))))) (.cse223 (exists ((~A~0.offset Int)) (let ((.cse230 (+ ~A~0.offset 4))) (and (not (= .cse230 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse231 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ (select .cse231 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse231 .cse230))))))))) (.cse218 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse229 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ (select .cse229 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse229 (+ ~A~0.offset 4))))))) (.cse222 (exists ((~A~0.offset Int)) (let ((.cse227 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (not (= .cse227 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ (select .cse228 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse228 .cse227))))))))) (.cse216 (= (+ c_~minc~0 c_~mina~0) .cse207))) (or (and .cse139 (let ((.cse214 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (exists ((~A~0.base Int)) (let ((.cse220 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ (select .cse220 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse220 (+ ~A~0.offset 4))))))))) (.cse215 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse4)) (exists ((~A~0.base Int)) (let ((.cse219 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ (select .cse219 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse219 (+ ~A~0.offset 4)))))))))) (or .cse214 .cse215 (and .cse216 (or (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse217 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= c_~minc~0 (+ (select .cse217 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse217 (+ ~A~0.offset 4)))))) .cse218)) (and .cse135 (or .cse214 .cse215)) .cse218))) (and .cse135 (or .cse221 .cse222)) .cse221 .cse223 (and .cse216 (let ((.cse224 (exists ((~A~0.offset Int)) (let ((.cse225 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse225 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse226 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ (select .cse226 ~A~0.offset) .cse138)) (= c_~mina~0 (select .cse226 .cse225)))))))))) (or .cse224 .cse223 (and .cse135 (or .cse224 .cse223))))) .cse218 .cse222 (and .cse91 .cse216))) (<= .cse234 c_~minc~0) (or (and (<= (+ c_~mina~0 .cse138 1) .cse2) (= .cse138 c_~minb~0)) (and (<= .cse2 .cse234) (= .cse235 .cse2)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse238 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse236 (select .cse238 ~B~0.offset)) (.cse237 (select .cse238 (+ ~B~0.offset 4)))) (and (<= (+ .cse236 .cse2) (+ c_~minc~0 .cse237)) (= .cse236 c_~minb~0) (= c_~minc~0 (+ .cse236 .cse138)) (<= (+ .cse236 1) .cse237) (= .cse2 (+ .cse237 c_~mina~0)) (= .cse2 (* .cse237 2)))))) (not (= ~B~0.offset .cse4)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse242 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse241 (select |c_#memory_int#2| ~A~0.base)) (.cse240 (select .cse242 ~B~0.offset)) (.cse239 (select .cse242 (+ ~B~0.offset 4)))) (and (= .cse239 c_~minb~0) (<= (+ .cse240 .cse2) (+ c_~minc~0 .cse239)) (= c_~minc~0 (+ .cse240 (select .cse241 ~A~0.offset))) (<= .cse239 .cse240) (= .cse2 (+ .cse239 (select .cse241 (+ ~A~0.offset 4)))) (= (+ .cse240 .cse239) .cse2) (= .cse2 (+ .cse239 c_~mina~0)))))))) (and .cse51 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse244 (select |c_#memory_int#2| ~B~0.base)) (.cse247 (+ ~B~0.offset 4))) (let ((.cse243 (+ ~A~0.offset 4)) (.cse246 (select |c_#memory_int#2| ~A~0.base)) (.cse245 (select .cse244 .cse247))) (and (not (= .cse243 ~B~0.offset)) (= c_~minc~0 (+ (select .cse244 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse245 (select .cse246 .cse243))) (= (select .cse246 ~A~0.offset) c_~mina~0) (not (= ~B~0.offset ~A~0.offset)) (<= .cse50 (+ .cse245 c_~mina~0)) (<= (+ .cse245 c_~mina~0 1) .cse2) (not (= ~A~0.offset .cse247))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse250 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse248 (select .cse250 ~B~0.offset)) (.cse249 (select .cse250 (+ ~B~0.offset 4)))) (and (<= (+ .cse248 .cse2) (+ c_~minc~0 .cse249)) (not (= c_~C~0.base ~B~0.base)) (= .cse248 c_~minb~0) (<= (+ .cse248 1) .cse249) (= .cse2 (+ .cse249 c_~mina~0)) (= .cse2 (+ .cse3 .cse249)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse253 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse252 (select .cse253 ~B~0.offset)) (.cse251 (select .cse253 (+ ~B~0.offset 4)))) (and (= .cse251 c_~minb~0) (<= (+ .cse252 .cse2) (+ c_~minc~0 .cse251)) (<= .cse251 .cse252) (not (= c_~C~0.base ~B~0.base)) (= c_~minc~0 (+ .cse252 .cse138)) (= .cse2 (+ .cse251 c_~mina~0)))))) (not (= ~B~0.offset c_~C~0.offset)))) (and .cse204 (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse256 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse254 (select .cse256 ~A~0.offset))) (let ((.cse255 (+ .cse3 .cse254))) (and (= c_~minc~0 (+ .cse254 c_~minb~0)) (<= .cse2 .cse255) (= .cse2 (+ .cse3 (select .cse256 (+ ~A~0.offset 4)))) (<= .cse50 .cse255)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse4)) (exists ((~A~0.base Int)) (let ((.cse259 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse257 (select .cse259 ~A~0.offset))) (let ((.cse258 (+ .cse3 .cse257))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ .cse257 c_~minb~0)) (<= .cse2 .cse258) (= .cse2 (+ .cse3 (select .cse259 (+ ~A~0.offset 4)))) (<= .cse50 .cse258)))))))) (and .cse208 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse261 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse260 (+ .cse3 (select .cse261 ~A~0.offset)))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (<= .cse2 .cse260) (= .cse2 (+ .cse3 (select .cse261 (+ ~A~0.offset 4)))) (<= .cse260 c_~minc~0)))))) (and (= (mod c_~minc~0 2) 0) .cse208 .cse90 (<= (+ .cse3 (div c_~minc~0 2)) c_~minc~0)) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse263 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse264 (select .cse263 ~A~0.offset))) (let ((.cse262 (+ .cse3 .cse264))) (and (not (= ~A~0.offset .cse4)) (<= .cse2 .cse262) (= .cse2 (+ .cse3 (select .cse263 (+ ~A~0.offset 4)))) (<= .cse262 c_~minc~0) (= .cse206 (+ .cse2 .cse264))))))) .cse208) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse267 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse265 (select .cse267 ~A~0.offset))) (let ((.cse266 (+ .cse3 .cse265))) (and (= c_~minc~0 (+ .cse265 c_~minb~0)) (<= .cse2 .cse266) (= .cse2 (+ .cse3 (select .cse267 (+ ~A~0.offset 4)))) (= .cse206 (+ .cse2 .cse265)) (<= .cse50 .cse266)))))) (not (= ~A~0.offset .cse4)))) (and .cse208 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse269 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse268 (+ .cse3 (select .cse269 ~A~0.offset)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse2 .cse268) (= .cse2 (+ .cse3 (select .cse269 (+ ~A~0.offset 4)))) (<= .cse268 c_~minc~0)))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse271 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse270 (+ .cse3 (select .cse271 ~A~0.offset)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse4)) (<= .cse2 .cse270) (= .cse2 (+ .cse3 (select .cse271 (+ ~A~0.offset 4)))) (<= .cse270 c_~minc~0))))) .cse208) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (exists ((~A~0.base Int)) (let ((.cse274 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse272 (select .cse274 ~A~0.offset))) (let ((.cse273 (+ .cse3 .cse272))) (and (= c_~minc~0 (+ .cse272 c_~minb~0)) (<= .cse2 .cse273) (= .cse2 (+ .cse3 (select .cse274 (+ ~A~0.offset 4)))) (<= .cse50 .cse273)))))))))) (exists ((~B~0.offset Int)) (and (not (= ~B~0.offset c_~C~0.offset)) (exists ((~B~0.base Int)) (let ((.cse276 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse275 (select .cse276 (+ ~B~0.offset 4)))) (and (= .cse275 c_~minb~0) (= c_~minc~0 (+ (select .cse276 ~B~0.offset) c_~mina~0)) (<= (+ .cse275 c_~mina~0) c_~minc~0) (<= (+ .cse275 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse275)))))) (not (= ~B~0.offset .cse4)))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse279 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse277 (select .cse279 ~B~0.offset)) (.cse278 (select .cse279 (+ ~B~0.offset 4)))) (and (<= (+ .cse277 .cse2) (+ c_~minc~0 .cse278)) (= .cse277 c_~minb~0) (<= (+ .cse277 1) .cse278) (= .cse2 (+ .cse278 c_~mina~0)) (= .cse2 (+ .cse3 .cse278)))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse283 (select |c_#memory_int#2| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse280 (+ ~A~0.offset 4)) (.cse284 (+ ~B~0.offset 4))) (and (not (= .cse280 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse282 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse281 (select .cse282 .cse284))) (and (= .cse281 c_~minb~0) (= c_~minc~0 (+ (select .cse282 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse281 (select .cse283 .cse280))) (<= (+ .cse281 c_~mina~0) c_~minc~0) (<= (+ .cse281 c_~mina~0 1) .cse2))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse284))))) (= (select .cse283 ~A~0.offset) c_~mina~0)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse289 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse286 (select .cse289 ~B~0.offset)) (.cse285 (select .cse289 (+ ~B~0.offset 4)))) (let ((.cse288 (+ .cse286 .cse285))) (and (= .cse285 c_~minb~0) (<= (+ .cse286 .cse2) (+ c_~minc~0 .cse285)) (<= .cse285 .cse286) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse287 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse286 (select .cse287 ~A~0.offset))) (= .cse2 (+ .cse285 (select .cse287 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base))))) (= c_~minc~0 .cse288) (= .cse288 .cse2) (= .cse2 (+ .cse285 c_~mina~0))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse294 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse291 (select .cse294 ~B~0.offset)) (.cse290 (select .cse294 (+ ~B~0.offset 4)))) (let ((.cse293 (+ .cse291 .cse290))) (and (= .cse290 c_~minb~0) (= c_~minc~0 (* .cse291 2)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse292 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse291 (select .cse292 ~A~0.offset))) (= .cse2 (+ .cse290 (select .cse292 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base))))) (= c_~minc~0 .cse293) (= .cse293 .cse2) (= .cse2 (+ .cse290 c_~mina~0))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse298 (+ ~B~0.offset 4)) (.cse299 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse297 (select |c_#memory_int#2| ~A~0.base)) (.cse295 (select .cse299 ~B~0.offset)) (.cse296 (select .cse299 .cse298))) (and (<= (+ .cse295 .cse2) (+ c_~minc~0 .cse296)) (= c_~minc~0 (+ .cse295 (select .cse297 ~A~0.offset))) (= .cse2 (+ .cse296 (select .cse297 (+ ~A~0.offset 4)))) (= .cse295 c_~minb~0) (<= (+ .cse295 1) .cse296) (= (+ .cse295 .cse296) .cse2) (= .cse2 (+ .cse296 c_~mina~0)) (not (= ~A~0.offset .cse298)))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse303 (select |c_#memory_int#2| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse302 (select |c_#memory_int#2| ~B~0.base)) (.cse304 (+ ~B~0.offset 4))) (let ((.cse301 (+ ~A~0.offset 4)) (.cse300 (select .cse302 .cse304))) (and (= .cse300 c_~minb~0) (not (= .cse301 ~B~0.offset)) (= c_~minc~0 (+ (select .cse302 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse300 (select .cse303 .cse301))) (<= (+ .cse300 c_~mina~0) c_~minc~0) (<= (+ .cse300 c_~mina~0 1) .cse2) (= .cse2 (* .cse300 2)) (not (= ~A~0.offset .cse304)))))) (= (select .cse303 ~A~0.offset) c_~mina~0)))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse307 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse306 (select .cse307 ~B~0.offset)) (.cse305 (select .cse307 (+ ~B~0.offset 4)))) (and (= .cse305 c_~minb~0) (<= (+ .cse306 .cse2) (+ c_~minc~0 .cse305)) (<= .cse305 .cse306) (= c_~minc~0 (+ .cse306 .cse138)) (= .cse2 (+ .cse305 c_~mina~0)) (= .cse2 (* .cse305 2)))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse311 (+ ~B~0.offset 4)) (.cse312 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse309 (select |c_#memory_int#2| ~A~0.base)) (.cse308 (select .cse312 ~B~0.offset)) (.cse310 (select .cse312 .cse311))) (and (= c_~minc~0 (* .cse308 2)) (= c_~minc~0 (+ .cse308 (select .cse309 ~A~0.offset))) (= .cse2 (+ .cse310 (select .cse309 (+ ~A~0.offset 4)))) (= .cse308 c_~minb~0) (<= (+ .cse308 1) .cse310) (= (+ .cse308 .cse310) .cse2) (= .cse2 (+ .cse310 c_~mina~0)) (not (= ~A~0.offset .cse311)))))) (not (= ~A~0.base ~B~0.base)))) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse313 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse314 (select .cse313 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse313 ~B~0.offset) c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse50 (+ .cse314 c_~mina~0)) (<= (+ .cse314 c_~mina~0 1) .cse2) (not (= ~B~0.offset .cse4)) (= .cse2 (+ .cse3 .cse314))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse317 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse316 (select .cse317 ~B~0.offset)) (.cse315 (select .cse317 (+ ~B~0.offset 4)))) (and (= .cse315 c_~minb~0) (= c_~minc~0 (* .cse316 2)) (<= (+ .cse316 .cse2) (+ c_~minc~0 .cse315)) (= c_~minc~0 (+ .cse316 .cse315)) (= .cse2 (+ .cse315 c_~mina~0)) (= .cse2 (+ .cse3 .cse315)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse320 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse318 (select .cse320 ~B~0.offset)) (.cse319 (select .cse320 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (* .cse318 2)) (<= (+ .cse318 .cse2) (+ c_~minc~0 .cse319)) (= .cse318 c_~minb~0) (<= (+ .cse318 1) .cse319) (= .cse2 (+ .cse319 c_~mina~0)) (= .cse2 (+ .cse3 .cse319)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse325 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse324 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse323 (select |c_#memory_int#2| ~A~0.base)) (.cse322 (select .cse324 ~B~0.offset)) (.cse321 (select .cse324 .cse325))) (and (= .cse321 c_~minb~0) (<= (+ .cse322 .cse2) (+ c_~minc~0 .cse321)) (= c_~minc~0 (+ .cse322 (select .cse323 ~A~0.offset))) (<= .cse321 .cse322) (= .cse2 (+ .cse321 (select .cse323 (+ ~A~0.offset 4)))) (= (+ .cse322 .cse321) .cse2) (= .cse2 (+ .cse321 c_~mina~0)))))) (not (= ~A~0.offset .cse325))))) (and .cse51 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse326 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse328 (select |c_#memory_int#2| ~A~0.base)) (.cse327 (select .cse326 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse326 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse327 (select .cse328 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (= (select .cse328 ~A~0.offset) c_~mina~0) (= .cse23 (+ c_~minc~0 .cse327)) (<= .cse50 (+ .cse327 c_~mina~0)) (<= (+ .cse327 c_~mina~0 1) .cse2)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse329 (select |c_#memory_int#2| ~A~0.base))) (and (= (select .cse329 ~A~0.offset) c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse331 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse330 (select .cse331 (+ ~B~0.offset 4)))) (and (= .cse330 c_~minb~0) (= c_~minc~0 (+ (select .cse331 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse330 (select .cse329 (+ ~A~0.offset 4)))) (<= (+ .cse330 c_~mina~0) c_~minc~0) (= .cse23 (+ c_~minc~0 .cse330)) (<= (+ .cse330 c_~mina~0 1) .cse2)))))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse336 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse334 (select |c_#memory_int#2| ~A~0.base)) (.cse332 (select .cse335 ~B~0.offset)) (.cse333 (select .cse335 .cse336))) (and (<= (+ .cse332 .cse2) (+ c_~minc~0 .cse333)) (= c_~minc~0 (+ .cse332 (select .cse334 ~A~0.offset))) (= .cse2 (+ .cse333 (select .cse334 (+ ~A~0.offset 4)))) (= .cse332 c_~minb~0) (<= (+ .cse332 1) .cse333) (= (+ .cse332 .cse333) .cse2) (= .cse2 (+ .cse333 c_~mina~0)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse336))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse338 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse337 (select .cse338 (+ ~B~0.offset 4)))) (and (= .cse337 c_~minb~0) (= c_~minc~0 (+ (select .cse338 ~B~0.offset) c_~mina~0)) (<= (+ .cse337 c_~mina~0) c_~minc~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse337 c_~mina~0 1) .cse2) (= .cse2 (+ .cse3 .cse337)))))) (not (= ~B~0.offset .cse4)))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse339 (select |c_#memory_int#2| ~A~0.base))) (and (= (select .cse339 ~A~0.offset) c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse342 (+ ~B~0.offset 4))) (and (not (= ~B~0.offset ~A~0.offset)) (exists ((~B~0.base Int)) (let ((.cse341 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse340 (select .cse341 .cse342))) (and (= .cse340 c_~minb~0) (= c_~minc~0 (+ (select .cse341 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse340 (select .cse339 (+ ~A~0.offset 4)))) (<= (+ .cse340 c_~mina~0) c_~minc~0) (= .cse23 (+ c_~minc~0 .cse340)) (<= (+ .cse340 c_~mina~0 1) .cse2))))) (not (= ~A~0.offset .cse342)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse345 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse343 (select .cse345 ~B~0.offset)) (.cse344 (select .cse345 (+ ~B~0.offset 4)))) (and (<= (+ .cse343 .cse2) (+ c_~minc~0 .cse344)) (= .cse343 c_~minb~0) (= c_~minc~0 (+ .cse343 .cse344)) (<= (+ .cse343 1) .cse344) (= .cse2 (+ .cse344 c_~mina~0)) (= .cse2 (+ .cse3 .cse344)))))) (not (= ~B~0.offset .cse4)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse348 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse347 (select .cse348 ~B~0.offset)) (.cse346 (select .cse348 (+ ~B~0.offset 4)))) (and (= .cse346 c_~minb~0) (<= (+ .cse347 .cse2) (+ c_~minc~0 .cse346)) (<= .cse346 .cse347) (= c_~minc~0 (+ .cse347 .cse138)) (= .cse2 (+ .cse346 c_~mina~0)))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse349 (select |c_#memory_int#2| ~A~0.base))) (and (= (select .cse349 ~A~0.offset) c_~mina~0) (exists ((~B~0.offset Int)) (let ((.cse351 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse350 (select .cse351 (+ ~B~0.offset 4)))) (and (= .cse350 c_~minb~0) (= c_~minc~0 (+ (select .cse351 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse350 (select .cse349 (+ ~A~0.offset 4)))) (<= (+ .cse350 c_~mina~0) c_~minc~0) (<= (+ .cse350 c_~mina~0 1) .cse2)))))))))) .cse120 (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse352 (select |c_#memory_int#2| ~B~0.base)) (.cse355 (+ ~B~0.offset 4))) (let ((.cse354 (select |c_#memory_int#2| ~A~0.base)) (.cse353 (select .cse352 .cse355))) (and (= c_~minc~0 (+ (select .cse352 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse353 (select .cse354 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base)) (= (select .cse354 ~A~0.offset) c_~mina~0) (= .cse23 (+ c_~minc~0 .cse353)) (<= .cse50 (+ .cse353 c_~mina~0)) (<= (+ .cse353 c_~mina~0 1) .cse2) (not (= ~A~0.offset .cse355)))))) .cse51) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse356 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse357 (select .cse356 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse356 ~B~0.offset) c_~mina~0)) (= .cse357 c_~mina~0) (<= .cse50 (+ .cse357 c_~mina~0)) (<= (+ .cse357 c_~mina~0 1) .cse2) (not (= ~B~0.offset .cse4)) (= .cse2 (+ .cse3 .cse357))))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse362 (+ ~B~0.offset 4)) (.cse363 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse361 (select |c_#memory_int#2| ~A~0.base)) (.cse358 (+ ~A~0.offset 4)) (.cse359 (select .cse363 ~B~0.offset)) (.cse360 (select .cse363 .cse362))) (and (not (= .cse358 ~B~0.offset)) (<= (+ .cse359 .cse2) (+ c_~minc~0 .cse360)) (= c_~minc~0 (+ .cse359 (select .cse361 ~A~0.offset))) (= .cse2 (+ .cse360 (select .cse361 .cse358))) (= .cse359 c_~minb~0) (<= (+ .cse359 1) .cse360) (= .cse2 (+ .cse360 c_~mina~0)) (not (= ~A~0.offset .cse362)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse368 (+ ~B~0.offset 4)) (.cse369 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse365 (select .cse369 ~B~0.offset)) (.cse367 (select |c_#memory_int#2| ~A~0.base)) (.cse366 (+ ~A~0.offset 4)) (.cse364 (select .cse369 .cse368))) (and (= .cse364 c_~minb~0) (= c_~minc~0 (* .cse365 2)) (not (= .cse366 ~B~0.offset)) (<= (+ .cse365 .cse2) (+ c_~minc~0 .cse364)) (= c_~minc~0 (+ .cse365 (select .cse367 ~A~0.offset))) (<= .cse364 .cse365) (= .cse2 (+ .cse364 (select .cse367 .cse366))) (= .cse2 (+ .cse364 c_~mina~0)) (not (= ~A~0.offset .cse368)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse373 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse371 (select .cse373 ~B~0.offset)) (.cse372 (select |c_#memory_int#2| ~A~0.base)) (.cse370 (select .cse373 (+ ~B~0.offset 4)))) (and (= .cse370 c_~minb~0) (<= (+ .cse371 .cse2) (+ c_~minc~0 .cse370)) (= c_~minc~0 (+ .cse371 (select .cse372 ~A~0.offset))) (<= .cse370 .cse371) (= .cse2 (+ .cse370 (select .cse372 (+ ~A~0.offset 4)))) (= .cse2 (+ .cse370 c_~mina~0)))))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse375 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse374 (select .cse375 (+ ~B~0.offset 4)))) (and (= .cse374 c_~minb~0) (= c_~minc~0 (+ (select .cse375 ~B~0.offset) c_~mina~0)) (<= (+ .cse374 c_~mina~0) c_~minc~0) (<= (+ .cse374 c_~mina~0 1) .cse2) (= .cse2 (* .cse374 2)))))) (not (= ~B~0.offset .cse4)))) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse376 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse377 (select .cse376 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse376 ~B~0.offset) c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse50 (+ .cse377 c_~mina~0)) (<= (+ .cse377 c_~mina~0 1) .cse2)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse379 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse378 (select .cse379 (+ ~B~0.offset 4)))) (and (= .cse378 c_~minb~0) (= c_~minc~0 (+ (select .cse379 ~B~0.offset) c_~mina~0)) (= .cse23 (+ c_~minc~0 .cse378)) (<= (+ .cse378 c_~mina~0 1) .cse2) (= .cse2 (* .cse378 2)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse380 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse381 (select .cse380 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse380 ~B~0.offset) c_~mina~0)) (= .cse23 (+ c_~minc~0 .cse381)) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse50 (+ .cse381 c_~mina~0)) (<= (+ .cse381 c_~mina~0 1) .cse2))))) .cse51) (and .cse85 .cse95 .cse86) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse383 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse382 (select .cse383 (+ ~B~0.offset 4)))) (and (= .cse382 c_~minb~0) (= c_~minc~0 (+ (select .cse383 ~B~0.offset) c_~mina~0)) (<= (+ .cse382 c_~mina~0) c_~minc~0) (= .cse23 (+ c_~minc~0 .cse382)) (<= (+ .cse382 c_~mina~0 1) .cse2))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse385 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse384 (select .cse385 (+ ~B~0.offset 4)))) (and (= .cse384 c_~minb~0) (= c_~minc~0 (+ (select .cse385 ~B~0.offset) c_~mina~0)) (<= (+ .cse384 c_~mina~0) c_~minc~0) (<= (+ .cse384 c_~mina~0 1) .cse2))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse387 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse386 (select .cse387 (+ ~B~0.offset 4)))) (and (= .cse386 c_~minb~0) (= c_~minc~0 (+ (select .cse387 ~B~0.offset) c_~mina~0)) (<= (+ .cse386 c_~mina~0) c_~minc~0) (<= (+ .cse386 c_~mina~0 1) .cse2) (= .cse2 (* .cse386 2)))))) (not (= c_~C~0.base ~B~0.base)))) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse389 (select .cse388 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse388 ~B~0.offset) c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse50 (+ .cse389 c_~mina~0)) (<= (+ .cse389 c_~mina~0 1) .cse2) (= .cse2 (* .cse389 2))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse391 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse390 (select .cse391 (+ ~B~0.offset 4)))) (and (= .cse390 c_~minb~0) (= c_~minc~0 (+ (select .cse391 ~B~0.offset) c_~mina~0)) (<= (+ .cse390 c_~mina~0) c_~minc~0) (<= (+ .cse390 c_~mina~0 1) .cse2))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse4)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse392 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse393 (select .cse392 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse392 ~B~0.offset) c_~mina~0)) (not (= ~B~0.offset c_~C~0.offset)) (<= .cse50 (+ .cse393 c_~mina~0)) (<= (+ .cse393 c_~mina~0 1) .cse2) (not (= ~B~0.offset .cse4)))))) .cse51) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse394 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse395 (select .cse394 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse394 ~B~0.offset) c_~mina~0)) (<= .cse50 (+ .cse395 c_~mina~0)) (<= (+ .cse395 c_~mina~0 1) .cse2) (= .cse2 (* .cse395 2)) (not (= ~B~0.offset .cse4)))))) .cse51) (and .cse51 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse396 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse397 (select .cse396 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse396 ~B~0.offset) c_~mina~0)) (not (= c_~C~0.base ~B~0.base)) (<= .cse50 (+ .cse397 c_~mina~0)) (<= (+ .cse397 c_~mina~0 1) .cse2)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse399 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse398 (select .cse399 (+ ~B~0.offset 4)))) (and (= .cse398 c_~minb~0) (= c_~minc~0 (+ (select .cse399 ~B~0.offset) c_~mina~0)) (<= (+ .cse398 c_~mina~0) c_~minc~0) (not (= c_~C~0.base ~B~0.base)) (<= (+ .cse398 c_~mina~0 1) .cse2))))) (not (= ~B~0.offset c_~C~0.offset))))) .cse139) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse402 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse400 (select .cse402 ~B~0.offset)) (.cse401 (select .cse402 (+ ~B~0.offset 4)))) (and (<= (+ .cse400 .cse2) (+ c_~minc~0 .cse401)) (= .cse400 c_~minb~0) (<= (+ .cse400 1) .cse401) (= .cse2 (+ .cse401 c_~mina~0)) (= .cse2 (+ .cse3 .cse401)))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse4)))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse403 (+ ~A~0.offset 4)) (.cse408 (+ ~B~0.offset 4))) (and (not (= .cse403 ~B~0.offset)) (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse407 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse406 (select |c_#memory_int#2| ~A~0.base)) (.cse404 (select .cse407 ~B~0.offset)) (.cse405 (select .cse407 .cse408))) (and (<= (+ .cse404 .cse2) (+ c_~minc~0 .cse405)) (= c_~minc~0 (+ .cse404 (select .cse406 ~A~0.offset))) (= .cse2 (+ .cse405 (select .cse406 .cse403))) (= .cse404 c_~minb~0) (<= (+ .cse404 1) .cse405) (= .cse2 (+ .cse405 c_~mina~0)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse408))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse409 (select |c_#memory_int#2| ~B~0.base)) (.cse412 (+ ~B~0.offset 4))) (let ((.cse411 (select |c_#memory_int#2| ~A~0.base)) (.cse410 (select .cse409 .cse412))) (and (= c_~minc~0 (+ (select .cse409 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse410 (select .cse411 (+ ~A~0.offset 4)))) (= (select .cse411 ~A~0.offset) c_~mina~0) (= .cse23 (+ c_~minc~0 .cse410)) (not (= ~B~0.offset ~A~0.offset)) (<= .cse50 (+ .cse410 c_~mina~0)) (<= (+ .cse410 c_~mina~0 1) .cse2) (not (= ~A~0.offset .cse412)))))) .cse51) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse417 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse413 (select .cse417 ~B~0.offset)) (.cse415 (select .cse417 (+ ~B~0.offset 4)))) (let ((.cse416 (+ .cse413 .cse415))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse414 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse413 (select .cse414 ~A~0.offset))) (= .cse2 (+ .cse415 (select .cse414 (+ ~A~0.offset 4)))) (not (= ~A~0.base ~B~0.base))))) (= .cse413 c_~minb~0) (= c_~minc~0 .cse416) (<= (+ .cse413 1) .cse415) (= .cse416 .cse2) (= .cse2 (+ .cse415 c_~mina~0))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse420 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse419 (select .cse420 ~B~0.offset)) (.cse418 (select .cse420 (+ ~B~0.offset 4)))) (and (= .cse418 c_~minb~0) (<= (+ .cse419 .cse2) (+ c_~minc~0 .cse418)) (<= .cse418 .cse419) (= c_~minc~0 (+ .cse419 .cse138)) (= .cse2 (+ .cse418 c_~mina~0)) (= .cse2 (* .cse418 2)))))) (not (= ~B~0.offset .cse4)))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse424 (select |c_#memory_int#2| ~A~0.base))) (and (exists ((~B~0.offset Int)) (let ((.cse423 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse422 (+ ~A~0.offset 4)) (.cse421 (select .cse423 (+ ~B~0.offset 4)))) (and (= .cse421 c_~minb~0) (not (= .cse422 ~B~0.offset)) (= c_~minc~0 (+ (select .cse423 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse421 (select .cse424 .cse422))) (<= (+ .cse421 c_~mina~0) c_~minc~0) (<= (+ .cse421 c_~mina~0 1) .cse2))))) (= (select .cse424 ~A~0.offset) c_~mina~0)))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse427 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse426 (select .cse427 ~B~0.offset)) (.cse425 (select .cse427 (+ ~B~0.offset 4)))) (and (= .cse425 c_~minb~0) (<= (+ .cse426 .cse2) (+ c_~minc~0 .cse425)) (<= .cse425 .cse426) (not (= c_~C~0.base ~B~0.base)) (= .cse2 (+ .cse425 c_~mina~0)) (= .cse2 (+ .cse3 .cse425)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse432 (+ ~B~0.offset 4)) (.cse433 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse429 (select .cse433 ~B~0.offset)) (.cse431 (select |c_#memory_int#2| ~A~0.base)) (.cse430 (+ ~A~0.offset 4)) (.cse428 (select .cse433 .cse432))) (and (= .cse428 c_~minb~0) (= c_~minc~0 (* .cse429 2)) (not (= .cse430 ~B~0.offset)) (= c_~minc~0 (+ .cse429 (select .cse431 ~A~0.offset))) (<= .cse428 .cse429) (= .cse2 (+ .cse428 (select .cse431 .cse430))) (= .cse2 (+ .cse428 c_~mina~0)) (= .cse2 (* .cse428 2)) (not (= ~A~0.offset .cse432)))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse438 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse437 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse436 (select |c_#memory_int#2| ~A~0.base)) (.cse435 (select .cse437 ~B~0.offset)) (.cse434 (select .cse437 .cse438))) (and (= .cse434 c_~minb~0) (= c_~minc~0 (* .cse435 2)) (= c_~minc~0 (+ .cse435 (select .cse436 ~A~0.offset))) (<= .cse434 .cse435) (= .cse2 (+ .cse434 (select .cse436 (+ ~A~0.offset 4)))) (= (+ .cse435 .cse434) .cse2) (= .cse2 (+ .cse434 c_~mina~0)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse438))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse441 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse440 (select .cse441 ~B~0.offset)) (.cse439 (select .cse441 (+ ~B~0.offset 4)))) (and (= .cse439 c_~minb~0) (<= (+ .cse440 .cse2) (+ c_~minc~0 .cse439)) (<= .cse439 .cse440) (= .cse2 (+ .cse439 c_~mina~0)) (= .cse2 (+ .cse3 .cse439)))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse444 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse443 (select .cse444 ~B~0.offset)) (.cse442 (select .cse444 (+ ~B~0.offset 4)))) (and (= .cse442 c_~minb~0) (<= (+ .cse443 .cse2) (+ c_~minc~0 .cse442)) (<= .cse442 .cse443) (= .cse2 (+ .cse442 c_~mina~0)) (= .cse2 (+ .cse3 .cse442)))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse4)))) (and (let ((.cse449 (+ .cse459 1))) (let ((.cse477 (<= .cse449 .cse2)) (.cse478 (or (and (<= .cse50 .cse459) .cse51) (and (<= .cse459 c_~minc~0) (= c_~mina~0 c_~minb~0))))) (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse447 (select |c_#memory_int#2| ~A~0.base)) (.cse446 (+ ~A~0.offset 4))) (let ((.cse445 (select .cse447 .cse446))) (and (= .cse2 (+ .cse445 c_~minb~0)) (not (= .cse446 c_~C~0.offset)) (= (select .cse447 ~A~0.offset) c_~mina~0) (<= .cse23 (+ c_~minc~0 .cse445)) (<= .cse448 .cse445))))))) (let ((.cse451 (* c_~minc~0 2)) (.cse450 (+ .cse459 .cse2))) (and (<= .cse449 c_~minc~0) (or (and (<= .cse450 .cse451) (= .cse23 (+ c_~minc~0 c_~minb~0))) (and (<= (+ .cse451 1) .cse450) .cse51)) (let ((.cse452 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset .cse4)) (exists ((~A~0.base Int)) (let ((.cse458 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ c_~mina~0 (select .cse458 (+ ~A~0.offset 4)))) (= (select .cse458 ~A~0.offset) c_~mina~0))))))) (.cse455 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (exists ((~A~0.base Int)) (let ((.cse457 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ c_~mina~0 (select .cse457 (+ ~A~0.offset 4)))) (= (select .cse457 ~A~0.offset) c_~mina~0))))))) (.cse453 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse456 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= c_~minc~0 (+ c_~mina~0 (select .cse456 (+ ~A~0.offset 4)))) (= (select .cse456 ~A~0.offset) c_~mina~0)))))) (or .cse452 (and (or .cse453 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse454 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ c_~mina~0 (select .cse454 (+ ~A~0.offset 4)))) (not (= ~A~0.offset c_~C~0.offset)) (= (select .cse454 ~A~0.offset) c_~mina~0))))) (= c_~minc~0 .cse2)) (and (= .cse451 .cse450) (or .cse452 .cse455)) .cse455 .cse453)))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse461 (select |c_#memory_int#2| ~A~0.base)) (.cse460 (+ ~A~0.offset 4))) (let ((.cse462 (select .cse461 .cse460))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (not (= .cse460 c_~C~0.offset)) (= (select .cse461 ~A~0.offset) c_~mina~0) (<= (+ c_~minc~0 .cse462 1) .cse23) (<= .cse448 .cse462))))) .cse51) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse464 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse463 (select .cse464 (+ ~A~0.offset 4)))) (and (= .cse2 (+ .cse463 c_~minb~0)) (= (select .cse464 ~A~0.offset) c_~mina~0) (<= .cse23 (+ c_~minc~0 .cse463)) (<= .cse448 .cse463))))))) (and .cse51 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse466 (select |c_#memory_int#2| ~A~0.base)) (.cse465 (+ ~A~0.offset 4))) (let ((.cse467 (select .cse466 .cse465))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset .cse4)) (not (= .cse465 c_~C~0.offset)) (= (select .cse466 ~A~0.offset) c_~mina~0) (<= (+ c_~minc~0 .cse467 1) .cse23) (<= .cse448 .cse467)))))) (exists ((~A~0.offset Int)) (let ((.cse468 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse4)) (not (= .cse468 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse470 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse469 (select .cse470 .cse468))) (and (= .cse2 (+ .cse469 c_~minb~0)) (= (select .cse470 ~A~0.offset) c_~mina~0) (<= .cse23 (+ c_~minc~0 .cse469)) (<= .cse448 .cse469)))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse472 (select |c_#memory_int#2| ~A~0.base)) (.cse471 (+ ~A~0.offset 4))) (let ((.cse473 (select .cse472 .cse471))) (and (not (= ~A~0.base c_~C~0.base)) (not (= .cse471 c_~C~0.offset)) (= (select .cse472 ~A~0.offset) c_~mina~0) (<= (+ c_~minc~0 .cse473 1) .cse23) (<= .cse448 .cse473))))) .cse51) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse476 (select |c_#memory_int#2| ~A~0.base)) (.cse475 (+ ~A~0.offset 4))) (let ((.cse474 (select .cse476 .cse475))) (and (= .cse2 (+ .cse474 c_~minb~0)) (not (= ~A~0.offset .cse4)) (not (= .cse475 c_~C~0.offset)) (= (select .cse476 ~A~0.offset) c_~mina~0) (<= .cse23 (+ c_~minc~0 .cse474)) (<= .cse448 .cse474))))))) (and .cse477 .cse478 (or (exists ((~A~0.offset Int)) (let ((.cse479 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse479 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse480 (select |c_#memory_int#2| ~A~0.base))) (and (= (+ c_~mina~0 (select .cse480 .cse479)) .cse2) (= (select .cse480 ~A~0.offset) c_~mina~0))))))) (exists ((~A~0.offset Int)) (let ((.cse481 (+ ~A~0.offset 4))) (and (not (= .cse481 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse482 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~mina~0 (select .cse482 .cse481)) .cse2) (= (select .cse482 ~A~0.offset) c_~mina~0))))))))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse483 (select |c_#memory_int#2| ~A~0.base))) (let ((.cse484 (select .cse483 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse483 ~A~0.offset) c_~mina~0) (<= (+ c_~minc~0 .cse484 1) .cse23) (<= .cse448 .cse484))))) .cse51) (and .cse133 (or (and .cse134 (<= c_~mina~0 (+ c_~minc~0 .cse137))) (and .cse51 (<= (+ c_~minc~0 .cse137 1) c_~mina~0))) .cse140 (or (exists ((~A~0.offset Int)) (let ((.cse486 (+ ~A~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse485 (select |c_#memory_int#2| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (select .cse485 ~A~0.offset) c_~mina~0) (= .cse136 (select .cse485 .cse486))))) (not (= ~A~0.offset .cse4)) (not (= .cse486 c_~C~0.offset))))) (exists ((~A~0.offset Int)) (let ((.cse488 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse487 (select |c_#memory_int#2| ~A~0.base))) (and (= (select .cse487 ~A~0.offset) c_~mina~0) (= .cse136 (select .cse487 .cse488))))) (not (= ~A~0.offset .cse4)) (not (= .cse488 c_~C~0.offset))))))) (and .cse204 .cse477 .cse478)))) .cse141) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse491 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse490 (select .cse491 ~B~0.offset)) (.cse489 (select .cse491 (+ ~B~0.offset 4)))) (and (= .cse489 c_~minb~0) (= c_~minc~0 (* .cse490 2)) (<= (+ .cse490 .cse2) (+ c_~minc~0 .cse489)) (<= .cse489 .cse490) (= .cse2 (+ .cse489 c_~mina~0)) (= .cse2 (+ .cse3 .cse489)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse496 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse493 (select .cse496 ~B~0.offset)) (.cse492 (select .cse496 (+ ~B~0.offset 4)))) (and (= .cse492 c_~minb~0) (= c_~minc~0 (* .cse493 2)) (<= (+ .cse493 .cse2) (+ c_~minc~0 .cse492)) (= c_~minc~0 (+ .cse493 .cse492)) (exists ((~A~0.offset Int)) (let ((.cse494 (+ ~A~0.offset 4))) (and (not (= .cse494 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse495 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse493 (select .cse495 ~A~0.offset))) (= .cse2 (+ .cse492 (select .cse495 .cse494))) (not (= ~A~0.base ~B~0.base)))))))) (= .cse2 (+ .cse492 c_~mina~0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse501 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse497 (select .cse501 ~B~0.offset)) (.cse498 (select .cse501 (+ ~B~0.offset 4)))) (and (<= (+ .cse497 .cse2) (+ c_~minc~0 .cse498)) (= .cse497 c_~minb~0) (= c_~minc~0 (+ .cse497 .cse498)) (<= (+ .cse497 1) .cse498) (exists ((~A~0.offset Int)) (let ((.cse499 (+ ~A~0.offset 4))) (and (not (= .cse499 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse500 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse497 (select .cse500 ~A~0.offset))) (= .cse2 (+ .cse498 (select .cse500 .cse499))) (not (= ~A~0.base ~B~0.base)))))))) (= .cse2 (+ .cse498 c_~mina~0)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse505 (+ ~B~0.offset 4)) (.cse506 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse504 (select |c_#memory_int#2| ~A~0.base)) (.cse503 (select .cse506 ~B~0.offset)) (.cse502 (select .cse506 .cse505))) (and (= .cse502 c_~minb~0) (= c_~minc~0 (* .cse503 2)) (= c_~minc~0 (+ .cse503 (select .cse504 ~A~0.offset))) (<= .cse502 .cse503) (= .cse2 (+ .cse502 (select .cse504 (+ ~A~0.offset 4)))) (= (+ .cse503 .cse502) .cse2) (= .cse2 (+ .cse502 c_~mina~0)) (not (= ~A~0.offset .cse505)))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse511 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse508 (select .cse511 ~B~0.offset)) (.cse507 (select .cse511 (+ ~B~0.offset 4)))) (and (= .cse507 c_~minb~0) (= c_~minc~0 (* .cse508 2)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse510 (select |c_#memory_int#2| ~A~0.base)) (.cse509 (+ ~A~0.offset 4))) (and (not (= .cse509 ~B~0.offset)) (= c_~minc~0 (+ .cse508 (select .cse510 ~A~0.offset))) (= .cse2 (+ .cse507 (select .cse510 .cse509)))))) (= c_~minc~0 (+ .cse508 .cse507)) (= .cse2 (+ .cse507 c_~mina~0)) (= .cse2 (* .cse507 2)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse514 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse512 (select .cse514 ~B~0.offset)) (.cse513 (select .cse514 (+ ~B~0.offset 4)))) (and (<= (+ .cse512 .cse2) (+ c_~minc~0 .cse513)) (= .cse512 c_~minb~0) (= c_~minc~0 (+ .cse512 .cse138)) (<= (+ .cse512 1) .cse513) (= .cse2 (+ .cse513 c_~mina~0)))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse4)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse517 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse515 (select .cse517 ~B~0.offset)) (.cse516 (select .cse517 (+ ~B~0.offset 4)))) (and (<= (+ .cse515 .cse2) (+ c_~minc~0 .cse516)) (not (= c_~C~0.base ~B~0.base)) (= .cse515 c_~minb~0) (= c_~minc~0 (+ .cse515 .cse138)) (<= (+ .cse515 1) .cse516) (= .cse2 (+ .cse516 c_~mina~0)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse520 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse518 (select .cse520 ~B~0.offset)) (.cse519 (select .cse520 (+ ~B~0.offset 4)))) (and (<= (+ .cse518 .cse2) (+ c_~minc~0 .cse519)) (= .cse518 c_~minb~0) (= c_~minc~0 (+ .cse518 .cse138)) (<= (+ .cse518 1) .cse519) (= .cse2 (+ .cse519 c_~mina~0)))))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse521 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse523 (select .cse521 (+ ~B~0.offset 4)))) (and (= c_~minc~0 (+ (select .cse521 ~B~0.offset) c_~mina~0)) (exists ((~A~0.offset Int)) (let ((.cse522 (+ ~A~0.offset 4))) (and (not (= .cse522 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse524 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse523 (select .cse524 .cse522))) (not (= ~A~0.base ~B~0.base)) (= (select .cse524 ~A~0.offset) c_~mina~0))))))) (= .cse523 c_~mina~0) (<= .cse50 (+ .cse523 c_~mina~0)) (<= (+ .cse523 c_~mina~0 1) .cse2))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse528 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse526 (select .cse528 (+ ~B~0.offset 4)))) (and (exists ((~A~0.offset Int)) (let ((.cse525 (+ ~A~0.offset 4))) (and (not (= .cse525 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse527 (select |c_#memory_int#2| ~A~0.base))) (and (= .cse2 (+ .cse526 (select .cse527 .cse525))) (= (select .cse527 ~A~0.offset) c_~mina~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= c_~minc~0 (+ (select .cse528 ~B~0.offset) c_~mina~0)) (= .cse526 c_~mina~0) (<= .cse50 (+ .cse526 c_~mina~0)) (<= (+ .cse526 c_~mina~0 1) .cse2)))))) .cse51) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse533 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse532 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse530 (select |c_#memory_int#2| ~A~0.base)) (.cse529 (select .cse532 ~B~0.offset)) (.cse531 (select .cse532 .cse533))) (and (= c_~minc~0 (* .cse529 2)) (= c_~minc~0 (+ .cse529 (select .cse530 ~A~0.offset))) (= .cse2 (+ .cse531 (select .cse530 (+ ~A~0.offset 4)))) (= .cse529 c_~minb~0) (<= (+ .cse529 1) .cse531) (= (+ .cse529 .cse531) .cse2) (= .cse2 (+ .cse531 c_~mina~0)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse533))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse538 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse534 (select .cse538 ~B~0.offset)) (.cse537 (select .cse538 (+ ~B~0.offset 4)))) (let ((.cse535 (+ .cse534 .cse537))) (and (= .cse534 c_~minb~0) (= c_~minc~0 .cse535) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse536 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse534 (select .cse536 ~A~0.offset))) (= .cse2 (+ .cse537 (select .cse536 (+ ~A~0.offset 4)))) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse534 1) .cse537) (= .cse535 .cse2) (= .cse2 (+ .cse537 c_~mina~0))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse540 (select |c_#memory_int#2| ~B~0.base)) (.cse543 (+ ~B~0.offset 4))) (let ((.cse539 (+ ~A~0.offset 4)) (.cse542 (select |c_#memory_int#2| ~A~0.base)) (.cse541 (select .cse540 .cse543))) (and (not (= .cse539 ~B~0.offset)) (= c_~minc~0 (+ (select .cse540 ~B~0.offset) c_~mina~0)) (= .cse2 (+ .cse541 (select .cse542 .cse539))) (= (select .cse542 ~A~0.offset) c_~mina~0) (<= (+ .cse541 c_~mina~0 1) .cse2) (= .cse2 (* .cse541 2)) (not (= ~A~0.offset .cse543)))))) .cse51 .cse94) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse548 (select |c_#memory_int#2| ~B~0.base))) (let ((.cse545 (select .cse548 ~B~0.offset)) (.cse544 (select .cse548 (+ ~B~0.offset 4)))) (and (= .cse544 c_~minb~0) (= c_~minc~0 (* .cse545 2)) (exists ((~A~0.offset Int)) (let ((.cse547 (+ ~A~0.offset 4))) (and (exists ((~A~0.base Int)) (let ((.cse546 (select |c_#memory_int#2| ~A~0.base))) (and (= c_~minc~0 (+ .cse545 (select .cse546 ~A~0.offset))) (= .cse2 (+ .cse544 (select .cse546 .cse547)))))) (not (= .cse547 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset))))) (<= (+ .cse545 .cse2) (+ c_~minc~0 .cse544)) (= c_~minc~0 (+ .cse545 .cse544)) (= .cse2 (+ .cse544 c_~mina~0)))))))))))) is different from true [2024-01-31 17:20:58,622 WARN L293 SmtUtils]: Spent 5.07s on a formula simplification that was a NOOP. DAG size: 779 (called from [L 391] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)