./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 3061b6dc Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.dk.eval-assert-order-craig-3061b6d-m [2024-11-19 01:54:36,922 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-19 01:54:36,974 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-11-19 01:54:36,978 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-19 01:54:36,978 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-19 01:54:37,016 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-19 01:54:37,018 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-19 01:54:37,018 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-19 01:54:37,019 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-19 01:54:37,022 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-19 01:54:37,022 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-19 01:54:37,022 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-19 01:54:37,042 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-19 01:54:37,044 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-19 01:54:37,044 INFO L153 SettingsManager]: * Use SBE=true [2024-11-19 01:54:37,044 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-19 01:54:37,044 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-19 01:54:37,045 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-19 01:54:37,045 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-19 01:54:37,045 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-19 01:54:37,045 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-19 01:54:37,046 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-19 01:54:37,046 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-19 01:54:37,046 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-19 01:54:37,047 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-19 01:54:37,047 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-19 01:54:37,047 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-19 01:54:37,047 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-19 01:54:37,048 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-19 01:54:37,048 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-19 01:54:37,048 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-11-19 01:54:37,048 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-19 01:54:37,049 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-19 01:54:37,049 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-19 01:54:37,049 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-19 01:54:37,049 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-19 01:54:37,050 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-19 01:54:37,050 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-19 01:54:37,050 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-19 01:54:37,050 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-19 01:54:37,050 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-19 01:54:37,050 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-19 01:54:37,051 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 [2024-11-19 01:54:37,271 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-19 01:54:37,301 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-19 01:54:37,303 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-19 01:54:37,305 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-19 01:54:37,305 INFO L274 PluginConnector]: CDTParser initialized [2024-11-19 01:54:37,306 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2024-11-19 01:54:38,651 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-19 01:54:38,849 INFO L384 CDTParser]: Found 1 translation units. [2024-11-19 01:54:38,850 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2024-11-19 01:54:38,860 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6511ec1dc/9b4d4f36556e4a938ba04c079758a63c/FLAG2d8657181 [2024-11-19 01:54:39,218 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6511ec1dc/9b4d4f36556e4a938ba04c079758a63c [2024-11-19 01:54:39,220 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-19 01:54:39,221 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-19 01:54:39,223 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-19 01:54:39,224 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-19 01:54:39,228 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-19 01:54:39,228 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,229 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7152c30d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39, skipping insertion in model container [2024-11-19 01:54:39,229 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,250 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-19 01:54:39,426 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c[2862,2875] [2024-11-19 01:54:39,433 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 01:54:39,440 INFO L200 MainTranslator]: Completed pre-run [2024-11-19 01:54:39,470 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c[2862,2875] [2024-11-19 01:54:39,477 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 01:54:39,502 INFO L204 MainTranslator]: Completed translation [2024-11-19 01:54:39,505 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39 WrapperNode [2024-11-19 01:54:39,506 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-19 01:54:39,507 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-19 01:54:39,507 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-19 01:54:39,507 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-19 01:54:39,513 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,522 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,563 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 222 [2024-11-19 01:54:39,566 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-19 01:54:39,567 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-19 01:54:39,567 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-19 01:54:39,567 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-19 01:54:39,583 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,584 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,587 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,622 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2024-11-19 01:54:39,625 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,625 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,638 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,643 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,650 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,651 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,659 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-19 01:54:39,665 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-19 01:54:39,665 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-19 01:54:39,665 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-19 01:54:39,666 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (1/1) ... [2024-11-19 01:54:39,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-19 01:54:39,688 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:39,703 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-11-19 01:54:39,706 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-11-19 01:54:39,749 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-19 01:54:39,749 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-11-19 01:54:39,749 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-11-19 01:54:39,750 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-11-19 01:54:39,750 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-11-19 01:54:39,750 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-11-19 01:54:39,750 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-11-19 01:54:39,750 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-19 01:54:39,750 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-19 01:54:39,750 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-19 01:54:39,750 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-19 01:54:39,751 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-11-19 01:54:39,751 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-11-19 01:54:39,751 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-19 01:54:39,751 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-19 01:54:39,751 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-19 01:54:39,751 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-19 01:54:39,751 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-19 01:54:39,753 WARN L207 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-19 01:54:39,857 INFO L238 CfgBuilder]: Building ICFG [2024-11-19 01:54:39,859 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-19 01:54:40,202 INFO L283 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-19 01:54:40,202 INFO L287 CfgBuilder]: Performing block encoding [2024-11-19 01:54:40,554 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-19 01:54:40,555 INFO L316 CfgBuilder]: Removed 6 assume(true) statements. [2024-11-19 01:54:40,556 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 01:54:40 BoogieIcfgContainer [2024-11-19 01:54:40,556 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-19 01:54:40,558 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-19 01:54:40,558 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-19 01:54:40,561 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-19 01:54:40,561 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 19.11 01:54:39" (1/3) ... [2024-11-19 01:54:40,562 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17004e73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.11 01:54:40, skipping insertion in model container [2024-11-19 01:54:40,562 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 01:54:39" (2/3) ... [2024-11-19 01:54:40,562 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17004e73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.11 01:54:40, skipping insertion in model container [2024-11-19 01:54:40,563 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 01:54:40" (3/3) ... [2024-11-19 01:54:40,565 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-max.wvr.c [2024-11-19 01:54:40,579 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-19 01:54:40,579 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-11-19 01:54:40,579 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-19 01:54:40,627 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-11-19 01:54:40,656 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2024-11-19 01:54:40,688 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2024-11-19 01:54:40,688 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-19 01:54:40,693 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 7/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 43 event pairs, 0 based on Foata normal form. 0/28 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2024-11-19 01:54:40,693 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2024-11-19 01:54:40,696 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2024-11-19 01:54:40,706 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-19 01:54:40,712 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@5cbf5a61, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-19 01:54:40,713 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-11-19 01:54:40,724 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-19 01:54:40,724 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2024-11-19 01:54:40,724 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-19 01:54:40,724 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:40,725 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:40,725 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:40,729 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:40,729 INFO L85 PathProgramCache]: Analyzing trace with hash 618773252, now seen corresponding path program 1 times [2024-11-19 01:54:40,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:40,736 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625957100] [2024-11-19 01:54:40,737 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:40,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:40,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:41,087 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-19 01:54:41,088 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:41,088 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625957100] [2024-11-19 01:54:41,089 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [625957100] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:41,090 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:41,090 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-19 01:54:41,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1199746910] [2024-11-19 01:54:41,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:41,098 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-19 01:54:41,103 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:41,124 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-19 01:54:41,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-19 01:54:41,126 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:41,127 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 35 transitions, 88 flow. Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:41,128 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:41,128 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:41,128 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:41,306 INFO L124 PetriNetUnfolderBase]: 378/600 cut-off events. [2024-11-19 01:54:41,307 INFO L125 PetriNetUnfolderBase]: For 49/49 co-relation queries the response was YES. [2024-11-19 01:54:41,310 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1183 conditions, 600 events. 378/600 cut-off events. For 49/49 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 2170 event pairs, 251 based on Foata normal form. 0/519 useless extension candidates. Maximal degree in co-relation 993. Up to 520 conditions per place. [2024-11-19 01:54:41,314 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 27 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2024-11-19 01:54:41,314 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 148 flow [2024-11-19 01:54:41,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-19 01:54:41,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-19 01:54:41,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2024-11-19 01:54:41,325 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5128205128205128 [2024-11-19 01:54:41,326 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 60 transitions. [2024-11-19 01:54:41,327 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 148 flow [2024-11-19 01:54:41,329 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 136 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-11-19 01:54:41,332 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2024-11-19 01:54:41,337 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=76, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=88, PETRI_PLACES=35, PETRI_TRANSITIONS=36} [2024-11-19 01:54:41,345 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2024-11-19 01:54:41,345 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2024-11-19 01:54:41,345 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:41,345 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:41,346 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:41,346 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-19 01:54:41,346 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:41,346 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:41,346 INFO L85 PathProgramCache]: Analyzing trace with hash -1165415527, now seen corresponding path program 1 times [2024-11-19 01:54:41,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:41,347 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [101737547] [2024-11-19 01:54:41,347 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:41,347 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:41,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:41,479 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-19 01:54:41,479 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:41,480 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [101737547] [2024-11-19 01:54:41,480 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [101737547] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:41,480 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:41,480 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-19 01:54:41,480 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1475404631] [2024-11-19 01:54:41,481 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:41,481 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-19 01:54:41,482 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:41,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-19 01:54:41,483 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-19 01:54:41,491 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:41,491 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 36 transitions, 88 flow. Second operand has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:41,491 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:41,491 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:41,491 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:41,623 INFO L124 PetriNetUnfolderBase]: 378/602 cut-off events. [2024-11-19 01:54:41,624 INFO L125 PetriNetUnfolderBase]: For 9/9 co-relation queries the response was YES. [2024-11-19 01:54:41,626 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1149 conditions, 602 events. 378/602 cut-off events. For 9/9 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 2153 event pairs, 251 based on Foata normal form. 0/521 useless extension candidates. Maximal degree in co-relation 1138. Up to 519 conditions per place. [2024-11-19 01:54:41,630 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 25 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2024-11-19 01:54:41,630 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 154 flow [2024-11-19 01:54:41,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-19 01:54:41,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-11-19 01:54:41,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2024-11-19 01:54:41,632 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.46794871794871795 [2024-11-19 01:54:41,632 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 73 transitions. [2024-11-19 01:54:41,632 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 154 flow [2024-11-19 01:54:41,632 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 150 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:41,633 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2024-11-19 01:54:41,633 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=84, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=30, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=112, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2024-11-19 01:54:41,634 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2024-11-19 01:54:41,634 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2024-11-19 01:54:41,634 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:41,634 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:41,634 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:41,635 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-19 01:54:41,635 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:41,636 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:41,636 INFO L85 PathProgramCache]: Analyzing trace with hash -2009133342, now seen corresponding path program 1 times [2024-11-19 01:54:41,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:41,637 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [816555080] [2024-11-19 01:54:41,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:41,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:41,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:41,738 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-11-19 01:54:41,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:41,739 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [816555080] [2024-11-19 01:54:41,739 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [816555080] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:41,739 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:41,739 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-19 01:54:41,740 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2021201357] [2024-11-19 01:54:41,740 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:41,740 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-19 01:54:41,740 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:41,741 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-19 01:54:41,741 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-19 01:54:41,741 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:41,741 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:41,741 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:41,741 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:41,741 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:41,887 INFO L124 PetriNetUnfolderBase]: 513/895 cut-off events. [2024-11-19 01:54:41,889 INFO L125 PetriNetUnfolderBase]: For 19/19 co-relation queries the response was YES. [2024-11-19 01:54:41,891 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1617 conditions, 895 events. 513/895 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 40. Compared 3746 event pairs, 172 based on Foata normal form. 1/776 useless extension candidates. Maximal degree in co-relation 1597. Up to 361 conditions per place. [2024-11-19 01:54:41,894 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 40 selfloop transitions, 2 changer transitions 2/51 dead transitions. [2024-11-19 01:54:41,895 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 51 transitions, 229 flow [2024-11-19 01:54:41,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-19 01:54:41,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-19 01:54:41,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2024-11-19 01:54:41,897 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6153846153846154 [2024-11-19 01:54:41,897 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 72 transitions. [2024-11-19 01:54:41,898 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 51 transitions, 229 flow [2024-11-19 01:54:41,898 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 51 transitions, 228 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:41,901 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2024-11-19 01:54:41,901 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=111, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=123, PETRI_PLACES=40, PETRI_TRANSITIONS=39} [2024-11-19 01:54:41,902 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2024-11-19 01:54:41,903 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2024-11-19 01:54:41,903 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:41,903 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:41,903 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:41,903 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-19 01:54:41,903 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:41,904 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:41,904 INFO L85 PathProgramCache]: Analyzing trace with hash 2082098651, now seen corresponding path program 1 times [2024-11-19 01:54:41,905 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:41,905 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [875389262] [2024-11-19 01:54:41,905 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:41,905 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:41,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:42,042 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:54:42,042 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:42,042 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [875389262] [2024-11-19 01:54:42,042 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [875389262] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:42,043 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [76237786] [2024-11-19 01:54:42,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:42,043 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:42,043 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:42,045 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:42,046 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-19 01:54:42,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:42,146 INFO L255 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-19 01:54:42,150 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:42,213 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:54:42,214 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:54:42,267 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:54:42,267 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [76237786] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 01:54:42,267 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 01:54:42,267 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-11-19 01:54:42,268 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1120566280] [2024-11-19 01:54:42,268 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 01:54:42,268 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-11-19 01:54:42,268 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:42,269 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-19 01:54:42,269 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2024-11-19 01:54:42,292 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:42,292 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 39 transitions, 123 flow. Second operand has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:42,293 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:42,293 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:42,293 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:42,536 INFO L124 PetriNetUnfolderBase]: 899/1460 cut-off events. [2024-11-19 01:54:42,536 INFO L125 PetriNetUnfolderBase]: For 97/97 co-relation queries the response was YES. [2024-11-19 01:54:42,538 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2862 conditions, 1460 events. 899/1460 cut-off events. For 97/97 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 6211 event pairs, 398 based on Foata normal form. 0/1231 useless extension candidates. Maximal degree in co-relation 2092. Up to 681 conditions per place. [2024-11-19 01:54:42,541 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 36 selfloop transitions, 10 changer transitions 37/89 dead transitions. [2024-11-19 01:54:42,541 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 89 transitions, 430 flow [2024-11-19 01:54:42,541 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-19 01:54:42,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-11-19 01:54:42,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 164 transitions. [2024-11-19 01:54:42,543 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4672364672364672 [2024-11-19 01:54:42,543 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 9 states and 164 transitions. [2024-11-19 01:54:42,543 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 89 transitions, 430 flow [2024-11-19 01:54:42,544 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 89 transitions, 428 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:42,545 INFO L231 Difference]: Finished difference. Result has 51 places, 42 transitions, 173 flow [2024-11-19 01:54:42,545 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=121, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=173, PETRI_PLACES=51, PETRI_TRANSITIONS=42} [2024-11-19 01:54:42,545 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 13 predicate places. [2024-11-19 01:54:42,546 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 42 transitions, 173 flow [2024-11-19 01:54:42,546 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:42,546 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:42,546 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:42,562 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-11-19 01:54:42,747 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:42,748 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:42,748 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:42,748 INFO L85 PathProgramCache]: Analyzing trace with hash 796655525, now seen corresponding path program 2 times [2024-11-19 01:54:42,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:42,749 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1696691736] [2024-11-19 01:54:42,749 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 01:54:42,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:42,789 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:54:42,790 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:42,949 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:42,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:42,949 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1696691736] [2024-11-19 01:54:42,949 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1696691736] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:42,949 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:42,950 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:42,950 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1530032539] [2024-11-19 01:54:42,950 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:42,950 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:42,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:42,951 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:42,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:42,967 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:42,967 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 42 transitions, 173 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:42,967 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:42,967 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:42,967 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:43,195 INFO L124 PetriNetUnfolderBase]: 1119/1785 cut-off events. [2024-11-19 01:54:43,196 INFO L125 PetriNetUnfolderBase]: For 362/362 co-relation queries the response was YES. [2024-11-19 01:54:43,200 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3782 conditions, 1785 events. 1119/1785 cut-off events. For 362/362 co-relation queries the response was YES. Maximal size of possible extension queue 79. Compared 8467 event pairs, 452 based on Foata normal form. 13/1590 useless extension candidates. Maximal degree in co-relation 3747. Up to 886 conditions per place. [2024-11-19 01:54:43,206 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 64 selfloop transitions, 3 changer transitions 14/87 dead transitions. [2024-11-19 01:54:43,206 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 87 transitions, 459 flow [2024-11-19 01:54:43,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:54:43,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:54:43,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2024-11-19 01:54:43,208 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6051282051282051 [2024-11-19 01:54:43,208 INFO L175 Difference]: Start difference. First operand has 51 places, 42 transitions, 173 flow. Second operand 5 states and 118 transitions. [2024-11-19 01:54:43,208 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 87 transitions, 459 flow [2024-11-19 01:54:43,216 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 87 transitions, 433 flow, removed 10 selfloop flow, removed 4 redundant places. [2024-11-19 01:54:43,217 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2024-11-19 01:54:43,217 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=177, PETRI_PLACES=50, PETRI_TRANSITIONS=44} [2024-11-19 01:54:43,218 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2024-11-19 01:54:43,218 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2024-11-19 01:54:43,219 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:43,219 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:43,219 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:43,220 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-11-19 01:54:43,220 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:43,220 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:43,220 INFO L85 PathProgramCache]: Analyzing trace with hash 984709397, now seen corresponding path program 3 times [2024-11-19 01:54:43,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:43,220 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [990711775] [2024-11-19 01:54:43,220 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 01:54:43,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:43,247 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-19 01:54:43,248 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:43,328 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:43,329 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:43,329 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [990711775] [2024-11-19 01:54:43,329 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [990711775] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:43,329 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:43,329 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:43,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1553105833] [2024-11-19 01:54:43,329 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:43,330 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:43,330 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:43,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:43,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:43,336 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:43,336 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 44 transitions, 177 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:43,336 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:43,337 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:43,337 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:43,619 INFO L124 PetriNetUnfolderBase]: 1889/3087 cut-off events. [2024-11-19 01:54:43,619 INFO L125 PetriNetUnfolderBase]: For 1716/1716 co-relation queries the response was YES. [2024-11-19 01:54:43,623 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7350 conditions, 3087 events. 1889/3087 cut-off events. For 1716/1716 co-relation queries the response was YES. Maximal size of possible extension queue 130. Compared 16675 event pairs, 800 based on Foata normal form. 14/2863 useless extension candidates. Maximal degree in co-relation 7317. Up to 1492 conditions per place. [2024-11-19 01:54:43,630 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 68 selfloop transitions, 3 changer transitions 13/90 dead transitions. [2024-11-19 01:54:43,630 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 90 transitions, 512 flow [2024-11-19 01:54:43,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:54:43,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:54:43,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2024-11-19 01:54:43,631 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5794871794871795 [2024-11-19 01:54:43,631 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 113 transitions. [2024-11-19 01:54:43,631 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 90 transitions, 512 flow [2024-11-19 01:54:43,636 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 90 transitions, 490 flow, removed 7 selfloop flow, removed 2 redundant places. [2024-11-19 01:54:43,636 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2024-11-19 01:54:43,637 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=171, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=193, PETRI_PLACES=54, PETRI_TRANSITIONS=46} [2024-11-19 01:54:43,637 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2024-11-19 01:54:43,637 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2024-11-19 01:54:43,638 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:43,638 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:43,638 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:43,638 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2024-11-19 01:54:43,638 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:43,638 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:43,639 INFO L85 PathProgramCache]: Analyzing trace with hash -652521941, now seen corresponding path program 4 times [2024-11-19 01:54:43,639 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:43,639 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564518887] [2024-11-19 01:54:43,639 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 01:54:43,639 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:43,649 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 01:54:43,649 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:43,670 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:43,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:43,670 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564518887] [2024-11-19 01:54:43,671 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1564518887] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:43,671 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:43,671 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:43,671 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1367616536] [2024-11-19 01:54:43,671 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:43,671 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:43,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:43,672 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:43,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:43,678 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:43,678 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 46 transitions, 193 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:43,678 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:43,679 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:43,679 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:44,092 INFO L124 PetriNetUnfolderBase]: 2509/4057 cut-off events. [2024-11-19 01:54:44,092 INFO L125 PetriNetUnfolderBase]: For 2892/2892 co-relation queries the response was YES. [2024-11-19 01:54:44,098 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10245 conditions, 4057 events. 2509/4057 cut-off events. For 2892/2892 co-relation queries the response was YES. Maximal size of possible extension queue 167. Compared 23040 event pairs, 658 based on Foata normal form. 46/3758 useless extension candidates. Maximal degree in co-relation 10210. Up to 1714 conditions per place. [2024-11-19 01:54:44,109 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 98 selfloop transitions, 16 changer transitions 0/120 dead transitions. [2024-11-19 01:54:44,110 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 120 transitions, 705 flow [2024-11-19 01:54:44,110 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-19 01:54:44,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2024-11-19 01:54:44,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2024-11-19 01:54:44,111 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5224358974358975 [2024-11-19 01:54:44,111 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 163 transitions. [2024-11-19 01:54:44,111 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 120 transitions, 705 flow [2024-11-19 01:54:44,120 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 120 transitions, 685 flow, removed 3 selfloop flow, removed 2 redundant places. [2024-11-19 01:54:44,121 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2024-11-19 01:54:44,122 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=189, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=301, PETRI_PLACES=61, PETRI_TRANSITIONS=59} [2024-11-19 01:54:44,122 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2024-11-19 01:54:44,122 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2024-11-19 01:54:44,122 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:44,122 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:44,123 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:44,123 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-11-19 01:54:44,123 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:44,123 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:44,123 INFO L85 PathProgramCache]: Analyzing trace with hash -609846195, now seen corresponding path program 5 times [2024-11-19 01:54:44,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:44,124 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2144794039] [2024-11-19 01:54:44,124 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 01:54:44,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:44,140 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:54:44,140 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:44,205 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-19 01:54:44,205 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:44,205 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2144794039] [2024-11-19 01:54:44,206 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2144794039] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:44,206 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1531561367] [2024-11-19 01:54:44,206 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 01:54:44,206 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:44,206 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:44,208 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:44,210 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-11-19 01:54:44,303 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 01:54:44,303 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:44,305 INFO L255 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-19 01:54:44,306 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:44,334 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:44,334 INFO L307 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-11-19 01:54:44,334 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1531561367] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:44,334 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-11-19 01:54:44,335 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 8 [2024-11-19 01:54:44,335 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [32124460] [2024-11-19 01:54:44,335 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:44,335 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:44,335 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:44,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:44,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2024-11-19 01:54:44,343 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:44,344 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:44,344 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:44,344 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:44,344 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:44,743 INFO L124 PetriNetUnfolderBase]: 3117/5131 cut-off events. [2024-11-19 01:54:44,743 INFO L125 PetriNetUnfolderBase]: For 7056/7168 co-relation queries the response was YES. [2024-11-19 01:54:44,753 INFO L83 FinitePrefix]: Finished finitePrefix Result has 14655 conditions, 5131 events. 3117/5131 cut-off events. For 7056/7168 co-relation queries the response was YES. Maximal size of possible extension queue 242. Compared 30994 event pairs, 316 based on Foata normal form. 140/5026 useless extension candidates. Maximal degree in co-relation 14618. Up to 2725 conditions per place. [2024-11-19 01:54:44,770 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 88 selfloop transitions, 7 changer transitions 15/116 dead transitions. [2024-11-19 01:54:44,770 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 116 transitions, 805 flow [2024-11-19 01:54:44,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-19 01:54:44,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-19 01:54:44,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 108 transitions. [2024-11-19 01:54:44,771 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5538461538461539 [2024-11-19 01:54:44,771 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 5 states and 108 transitions. [2024-11-19 01:54:44,771 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 116 transitions, 805 flow [2024-11-19 01:54:44,835 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 64 places, 116 transitions, 778 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:44,837 INFO L231 Difference]: Finished difference. Result has 67 places, 63 transitions, 345 flow [2024-11-19 01:54:44,837 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=289, PETRI_DIFFERENCE_MINUEND_PLACES=60, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=59, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=52, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=345, PETRI_PLACES=67, PETRI_TRANSITIONS=63} [2024-11-19 01:54:44,837 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 29 predicate places. [2024-11-19 01:54:44,837 INFO L471 AbstractCegarLoop]: Abstraction has has 67 places, 63 transitions, 345 flow [2024-11-19 01:54:44,838 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:44,838 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:44,838 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:44,852 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-11-19 01:54:45,043 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2024-11-19 01:54:45,044 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:45,045 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:45,045 INFO L85 PathProgramCache]: Analyzing trace with hash -1403297029, now seen corresponding path program 6 times [2024-11-19 01:54:45,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:45,045 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2076879058] [2024-11-19 01:54:45,046 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-19 01:54:45,046 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:45,072 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2024-11-19 01:54:45,072 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 01:54:45,156 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-19 01:54:45,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:45,156 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2076879058] [2024-11-19 01:54:45,156 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2076879058] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 01:54:45,156 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 01:54:45,157 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-19 01:54:45,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [315439693] [2024-11-19 01:54:45,157 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:45,157 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-19 01:54:45,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:45,158 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-19 01:54:45,158 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-19 01:54:45,166 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:45,167 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 67 places, 63 transitions, 345 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:45,167 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:45,167 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:45,167 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:45,702 INFO L124 PetriNetUnfolderBase]: 3939/6328 cut-off events. [2024-11-19 01:54:45,702 INFO L125 PetriNetUnfolderBase]: For 11424/11561 co-relation queries the response was YES. [2024-11-19 01:54:45,714 INFO L83 FinitePrefix]: Finished finitePrefix Result has 19804 conditions, 6328 events. 3939/6328 cut-off events. For 11424/11561 co-relation queries the response was YES. Maximal size of possible extension queue 340. Compared 39453 event pairs, 1398 based on Foata normal form. 28/5988 useless extension candidates. Maximal degree in co-relation 19763. Up to 3154 conditions per place. [2024-11-19 01:54:45,825 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 112 selfloop transitions, 9 changer transitions 36/163 dead transitions. [2024-11-19 01:54:45,825 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 163 transitions, 1268 flow [2024-11-19 01:54:45,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 01:54:45,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-19 01:54:45,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 132 transitions. [2024-11-19 01:54:45,830 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5641025641025641 [2024-11-19 01:54:45,830 INFO L175 Difference]: Start difference. First operand has 67 places, 63 transitions, 345 flow. Second operand 6 states and 132 transitions. [2024-11-19 01:54:45,830 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 163 transitions, 1268 flow [2024-11-19 01:54:45,915 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 163 transitions, 1264 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-19 01:54:45,920 INFO L231 Difference]: Finished difference. Result has 74 places, 69 transitions, 427 flow [2024-11-19 01:54:45,921 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=343, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=63, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=57, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=427, PETRI_PLACES=74, PETRI_TRANSITIONS=69} [2024-11-19 01:54:45,921 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 36 predicate places. [2024-11-19 01:54:45,921 INFO L471 AbstractCegarLoop]: Abstraction has has 74 places, 69 transitions, 427 flow [2024-11-19 01:54:45,921 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:45,921 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:45,922 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:45,922 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2024-11-19 01:54:45,922 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:45,922 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:45,922 INFO L85 PathProgramCache]: Analyzing trace with hash -1995638125, now seen corresponding path program 7 times [2024-11-19 01:54:45,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:45,922 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1506570189] [2024-11-19 01:54:45,923 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-19 01:54:45,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:45,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:46,174 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:46,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:46,174 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1506570189] [2024-11-19 01:54:46,174 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1506570189] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:46,175 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [809921221] [2024-11-19 01:54:46,175 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-19 01:54:46,175 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:46,175 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:46,179 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:46,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-11-19 01:54:46,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:46,292 INFO L255 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-19 01:54:46,293 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:46,354 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:46,358 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:54:46,413 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:46,413 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [809921221] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:46,413 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-19 01:54:46,413 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2024-11-19 01:54:46,413 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [430948025] [2024-11-19 01:54:46,414 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:46,414 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-19 01:54:46,414 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:46,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-19 01:54:46,415 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2024-11-19 01:54:46,425 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-19 01:54:46,425 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 69 transitions, 427 flow. Second operand has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:46,425 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:46,425 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-19 01:54:46,425 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:46,885 INFO L124 PetriNetUnfolderBase]: 2196/3700 cut-off events. [2024-11-19 01:54:46,885 INFO L125 PetriNetUnfolderBase]: For 10381/10637 co-relation queries the response was YES. [2024-11-19 01:54:46,893 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12602 conditions, 3700 events. 2196/3700 cut-off events. For 10381/10637 co-relation queries the response was YES. Maximal size of possible extension queue 221. Compared 22614 event pairs, 815 based on Foata normal form. 328/3766 useless extension candidates. Maximal degree in co-relation 12558. Up to 2043 conditions per place. [2024-11-19 01:54:46,902 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 62 selfloop transitions, 12 changer transitions 0/82 dead transitions. [2024-11-19 01:54:46,902 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 82 transitions, 618 flow [2024-11-19 01:54:46,903 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 01:54:46,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-19 01:54:46,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 105 transitions. [2024-11-19 01:54:46,903 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2024-11-19 01:54:46,904 INFO L175 Difference]: Start difference. First operand has 74 places, 69 transitions, 427 flow. Second operand 6 states and 105 transitions. [2024-11-19 01:54:46,904 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 82 transitions, 618 flow [2024-11-19 01:54:46,922 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 74 places, 82 transitions, 590 flow, removed 4 selfloop flow, removed 3 redundant places. [2024-11-19 01:54:46,924 INFO L231 Difference]: Finished difference. Result has 74 places, 64 transitions, 389 flow [2024-11-19 01:54:46,924 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=365, PETRI_DIFFERENCE_MINUEND_PLACES=69, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=64, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=12, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=52, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=389, PETRI_PLACES=74, PETRI_TRANSITIONS=64} [2024-11-19 01:54:46,924 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 36 predicate places. [2024-11-19 01:54:46,924 INFO L471 AbstractCegarLoop]: Abstraction has has 74 places, 64 transitions, 389 flow [2024-11-19 01:54:46,925 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:46,925 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:46,925 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:46,941 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2024-11-19 01:54:47,125 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:47,126 INFO L396 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:47,126 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:47,126 INFO L85 PathProgramCache]: Analyzing trace with hash -40943000, now seen corresponding path program 1 times [2024-11-19 01:54:47,127 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:47,127 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834105549] [2024-11-19 01:54:47,127 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:47,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:47,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:47,262 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:47,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:47,262 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834105549] [2024-11-19 01:54:47,263 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [834105549] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:47,263 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [290261115] [2024-11-19 01:54:47,263 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:47,263 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:47,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:47,266 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:47,270 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-11-19 01:54:47,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:47,360 INFO L255 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-19 01:54:47,362 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:47,423 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:47,424 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 01:54:47,493 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-19 01:54:47,493 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [290261115] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:47,493 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-19 01:54:47,494 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-11-19 01:54:47,494 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [410644545] [2024-11-19 01:54:47,494 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 01:54:47,494 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-19 01:54:47,494 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 01:54:47,495 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-19 01:54:47,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-11-19 01:54:47,509 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-19 01:54:47,509 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 64 transitions, 389 flow. Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:47,510 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-19 01:54:47,510 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-19 01:54:47,510 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-19 01:54:47,844 INFO L124 PetriNetUnfolderBase]: 2439/3782 cut-off events. [2024-11-19 01:54:47,844 INFO L125 PetriNetUnfolderBase]: For 10363/10490 co-relation queries the response was YES. [2024-11-19 01:54:47,852 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12959 conditions, 3782 events. 2439/3782 cut-off events. For 10363/10490 co-relation queries the response was YES. Maximal size of possible extension queue 205. Compared 20897 event pairs, 520 based on Foata normal form. 146/3634 useless extension candidates. Maximal degree in co-relation 12913. Up to 2152 conditions per place. [2024-11-19 01:54:47,860 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 72 selfloop transitions, 8 changer transitions 0/87 dead transitions. [2024-11-19 01:54:47,861 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 87 transitions, 711 flow [2024-11-19 01:54:47,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 01:54:47,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-19 01:54:47,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 98 transitions. [2024-11-19 01:54:47,863 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4188034188034188 [2024-11-19 01:54:47,863 INFO L175 Difference]: Start difference. First operand has 74 places, 64 transitions, 389 flow. Second operand 6 states and 98 transitions. [2024-11-19 01:54:47,863 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 87 transitions, 711 flow [2024-11-19 01:54:47,876 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 87 transitions, 653 flow, removed 9 selfloop flow, removed 6 redundant places. [2024-11-19 01:54:47,877 INFO L231 Difference]: Finished difference. Result has 72 places, 62 transitions, 361 flow [2024-11-19 01:54:47,877 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=335, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=61, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=53, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=361, PETRI_PLACES=72, PETRI_TRANSITIONS=62} [2024-11-19 01:54:47,877 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 34 predicate places. [2024-11-19 01:54:47,878 INFO L471 AbstractCegarLoop]: Abstraction has has 72 places, 62 transitions, 361 flow [2024-11-19 01:54:47,878 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-19 01:54:47,879 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-19 01:54:47,879 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 01:54:47,894 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2024-11-19 01:54:48,079 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:48,080 INFO L396 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-19 01:54:48,080 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 01:54:48,080 INFO L85 PathProgramCache]: Analyzing trace with hash 1743609634, now seen corresponding path program 1 times [2024-11-19 01:54:48,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 01:54:48,081 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [640631414] [2024-11-19 01:54:48,081 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:48,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 01:54:48,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:49,640 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 01:54:49,641 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 01:54:49,641 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [640631414] [2024-11-19 01:54:49,641 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [640631414] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 01:54:49,641 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [586335502] [2024-11-19 01:54:49,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 01:54:49,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 01:54:49,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 01:54:49,643 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 01:54:49,647 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-19 01:54:49,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 01:54:49,761 INFO L255 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 25 conjuncts are in the unsatisfiable core [2024-11-19 01:54:49,767 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 01:54:50,227 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2024-11-19 01:54:50,229 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 135 treesize of output 171 [2024-11-19 01:55:05,003 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse171 (+ c_~C~0.offset 8)) (.cse471 (select |c_#memory_int#1| c_~C~0.base)) (.cse28 (+ c_~C~0.offset 4))) (let ((.cse1 (select .cse471 .cse28)) (.cse17 (select .cse471 c_~C~0.offset)) (.cse112 (select .cse471 .cse171))) (let ((.cse179 (+ c_~maxb~0 .cse112)) (.cse27 (+ .cse17 c_~maxa~0)) (.cse15 (+ .cse17 .cse1)) (.cse265 (* 2 c_~maxc~0)) (.cse231 (+ .cse17 c_~maxb~0)) (.cse263 (+ c_~maxc~0 1)) (.cse389 (* .cse17 2)) (.cse128 (+ .cse112 c_~maxc~0)) (.cse37 (+ .cse1 1)) (.cse456 (+ c_~maxa~0 c_~maxb~0)) (.cse457 (+ c_~maxa~0 .cse112)) (.cse180 (= c_~maxb~0 .cse112)) (.cse175 (* 2 .cse112)) (.cse2 (+ c_~maxb~0 c_~maxc~0))) (let ((.cse9 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse470 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse467 (select .cse470 ~B~0.offset))) (let ((.cse468 (+ .cse467 c_~maxb~0))) (and (<= .cse467 c_~maxb~0) (= .cse468 .cse1) (<= .cse2 (+ .cse467 .cse1)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse469 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse469 (+ ~A~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse467 (select .cse469 ~A~0.offset)) c_~maxc~0)))) (= .cse468 c_~maxc~0) (= c_~maxb~0 (select .cse470 (+ ~B~0.offset 4))))))))) (.cse232 (<= .cse17 c_~maxb~0)) (.cse182 (= .cse175 .cse1)) (.cse320 (or (and (<= (+ c_~maxa~0 .cse112 1) c_~maxc~0) (= .cse456 c_~maxc~0)) (and (<= c_~maxc~0 .cse457) .cse180))) (.cse322 (<= .cse37 .cse457)) (.cse125 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse466 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse465 (select .cse466 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse37 (+ .cse17 .cse465)) (= (+ .cse17 (select .cse466 ~A~0.offset)) c_~maxc~0) (<= (+ .cse17 .cse465 1) c_~maxc~0)))))) (.cse252 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse464 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse463 (select .cse464 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse37 (+ .cse17 .cse463)) (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse17 (select .cse464 ~A~0.offset)) c_~maxc~0) (<= (+ .cse17 .cse463 1) c_~maxc~0)))))) (.cse345 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse462 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse461 (select .cse462 (+ ~A~0.offset 4)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse37 (+ .cse17 .cse461)) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (= (+ .cse17 (select .cse462 ~A~0.offset)) c_~maxc~0) (<= (+ .cse17 .cse461 1) c_~maxc~0)))))) (.cse360 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse460 (select |c_#memory_int#1| ~A~0.base)) (.cse459 (+ ~A~0.offset 4))) (let ((.cse458 (select .cse460 .cse459))) (and (<= .cse37 (+ .cse17 .cse458)) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (not (= .cse459 c_~C~0.offset)) (= (+ .cse17 (select .cse460 ~A~0.offset)) c_~maxc~0) (<= (+ .cse17 .cse458 1) c_~maxc~0)))))) (.cse172 (<= (+ .cse112 1) c_~maxb~0)) (.cse173 (<= .cse128 (+ c_~maxb~0 .cse1))) (.cse26 (<= .cse263 .cse389)) (.cse215 (= .cse231 c_~maxc~0)) (.cse22 (<= (+ .cse389 .cse1 1) .cse265)) (.cse24 (<= .cse265 (+ .cse389 .cse1))) (.cse18 (= .cse1 c_~maxc~0)) (.cse25 (+ c_~maxa~0 c_~maxc~0)) (.cse195 (= c_~maxa~0 .cse112)) (.cse390 (= .cse15 .cse128)) (.cse36 (= .cse389 c_~maxc~0)) (.cse14 (= .cse17 c_~maxb~0)) (.cse30 (= .cse17 c_~maxa~0)) (.cse23 (= .cse27 c_~maxc~0)) (.cse169 (= .cse457 .cse1)) (.cse165 (= .cse179 .cse1)) (.cse178 (+ .cse175 1)) (.cse13 (= .cse456 .cse1)) (.cse46 (= .cse1 (* 2 c_~maxb~0)))) (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse4 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse0 (select .cse4 ~B~0.offset))) (and (= (* .cse0 2) c_~maxc~0) (<= (+ .cse0 .cse1 1) .cse2) (= (+ .cse0 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse3 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse3 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse0 (select .cse3 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse0 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse4 (+ ~B~0.offset 4))))))) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse8 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse5 (select .cse8 ~B~0.offset))) (and (<= .cse5 c_~maxb~0) (<= .cse2 (+ .cse5 .cse1)) (exists ((~A~0.offset Int)) (let ((.cse6 (+ ~A~0.offset 4))) (and (not (= .cse6 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse7 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse7 .cse6)) .cse1) (= (+ .cse5 (select .cse7 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= (+ .cse5 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse8 (+ ~B~0.offset 4))))))) .cse9 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse12 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse10 (select .cse12 ~B~0.offset))) (and (<= .cse10 c_~maxb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse11 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse11 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse10 (select .cse11 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse2 (+ .cse10 .cse1)) (= (+ .cse10 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse12 (+ ~B~0.offset 4)))))))) .cse13) (and .cse14 (or (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse16 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= .cse15 (+ (select .cse16 (+ ~A~0.offset 4)) c_~maxc~0)) (= (+ .cse17 (select .cse16 ~A~0.offset)) c_~maxc~0)))) (not (= ~A~0.offset c_~C~0.offset)))) (and .cse18 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse19 (select |c_#memory_int#1| ~A~0.base))) (and (= .cse15 (+ (select .cse19 (+ ~A~0.offset 4)) c_~maxc~0)) (not (= ~A~0.offset c_~C~0.offset)) (= (+ .cse17 (select .cse19 ~A~0.offset)) c_~maxc~0))))) (exists ((~A~0.offset Int)) (let ((.cse20 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse20 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse21 (select |c_#memory_int#1| ~A~0.base))) (and (= .cse15 (+ (select .cse21 .cse20) c_~maxc~0)) (= (+ .cse17 (select .cse21 ~A~0.offset)) c_~maxc~0)))))))) (or (and .cse22 .cse23) (and .cse24 (= .cse15 .cse25))) .cse26) (and .cse14 (<= c_~maxc~0 .cse27) (or (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse29 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (= (+ .cse17 (select .cse29 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse29 (+ ~A~0.offset 4)))))) .cse30) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse31 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse17 (select .cse31 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse31 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (exists ((~A~0.base Int)) (let ((.cse32 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse17 (select .cse32 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse32 (+ ~A~0.offset 4)))))))) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse33 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ .cse17 (select .cse33 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse33 (+ ~A~0.offset 4)))))) (exists ((~A~0.offset Int)) (let ((.cse34 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (not (= .cse34 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse35 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse17 (select .cse35 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse35 .cse34))))))))) .cse36 (<= .cse37 .cse27)) (and (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse42 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse38 (select .cse42 ~B~0.offset)) (.cse41 (+ ~B~0.offset 4))) (and (= (* .cse38 2) c_~maxc~0) (<= .cse38 c_~maxb~0) (<= .cse2 (+ .cse38 .cse1)) (exists ((~A~0.offset Int)) (let ((.cse39 (+ ~A~0.offset 4))) (and (not (= .cse39 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse40 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse40 .cse39)) .cse1) (= (+ .cse38 (select .cse40 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse41))))) (= c_~maxb~0 (select .cse42 .cse41)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse45 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse43 (select .cse45 ~B~0.offset))) (and (= (* .cse43 2) c_~maxc~0) (<= .cse43 c_~maxb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse44 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse44 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse43 (select .cse44 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse2 (+ .cse43 .cse1)) (= c_~maxb~0 (select .cse45 (+ ~B~0.offset 4))))))) (and .cse46 (or (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse49 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse47 (select .cse49 ~B~0.offset))) (and (= (* .cse47 2) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse48 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse48 (+ ~A~0.offset 4))) .cse1) (= (+ .cse47 (select .cse48 ~A~0.offset)) c_~maxc~0)))) (= (+ .cse47 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse49 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse52 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse50 (select .cse52 ~B~0.offset))) (and (= (* .cse50 2) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse51 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse51 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse50 (select .cse51 ~A~0.offset)) c_~maxc~0)))) (= (+ .cse50 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse52 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse55 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse53 (select .cse55 ~B~0.offset))) (and (= (* .cse53 2) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse54 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse54 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse53 (select .cse54 ~A~0.offset)) c_~maxc~0)))) (<= .cse2 (+ .cse53 .cse1)) (= c_~maxb~0 (select .cse55 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse59 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse56 (select .cse59 ~B~0.offset))) (and (= (* .cse56 2) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse57 (+ ~A~0.offset 4)) (.cse58 (select |c_#memory_int#1| ~A~0.base))) (and (not (= .cse57 ~B~0.offset)) (= (+ c_~maxb~0 (select .cse58 .cse57)) .cse1) (= (+ .cse56 (select .cse58 ~A~0.offset)) c_~maxc~0)))) (= (+ .cse56 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse59 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse63 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse60 (select .cse63 ~B~0.offset)) (.cse62 (+ ~B~0.offset 4))) (and (= (* .cse60 2) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse61 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse61 (+ ~A~0.offset 4))) .cse1) (= (+ .cse60 (select .cse61 ~A~0.offset)) c_~maxc~0) (not (= ~A~0.offset .cse62))))) (= (+ .cse60 c_~maxb~0) .cse1) (= c_~maxb~0 (select .cse63 .cse62)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse67 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse64 (select .cse67 ~B~0.offset)) (.cse66 (+ ~B~0.offset 4))) (and (= (* .cse64 2) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse65 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse65 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse64 (select .cse65 ~A~0.offset)) c_~maxc~0)))) (not (= ~A~0.offset .cse66)))) (<= .cse2 (+ .cse64 .cse1)) (= c_~maxb~0 (select .cse67 .cse66)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse72 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse68 (select .cse72 ~B~0.offset)) (.cse71 (+ ~B~0.offset 4))) (and (= (* .cse68 2) c_~maxc~0) (exists ((~A~0.offset Int)) (let ((.cse69 (+ ~A~0.offset 4))) (and (not (= .cse69 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse70 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse70 .cse69)) .cse1) (= (+ .cse68 (select .cse70 ~A~0.offset)) c_~maxc~0)))) (not (= ~A~0.offset .cse71))))) (<= .cse2 (+ .cse68 .cse1)) (= c_~maxb~0 (select .cse72 .cse71)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse76 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse73 (select .cse76 ~B~0.offset)) (.cse75 (+ ~B~0.offset 4))) (and (= (* .cse73 2) c_~maxc~0) (<= .cse73 c_~maxb~0) (= (+ .cse73 c_~maxb~0) .cse1) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse74 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse74 (+ ~A~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse73 (select .cse74 ~A~0.offset)) c_~maxc~0) (not (= ~A~0.offset .cse75))))) (= c_~maxb~0 (select .cse76 .cse75)))))) .cse9 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse80 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse77 (select .cse80 ~B~0.offset)) (.cse79 (+ ~B~0.offset 4))) (and (= (* .cse77 2) c_~maxc~0) (<= .cse77 c_~maxb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse78 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse78 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse77 (select .cse78 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse79)))) (<= .cse2 (+ .cse77 .cse1)) (= c_~maxb~0 (select .cse80 .cse79)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse84 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse81 (select .cse84 ~B~0.offset))) (and (= (* .cse81 2) c_~maxc~0) (<= .cse2 (+ .cse81 .cse1)) (exists ((~A~0.offset Int)) (let ((.cse82 (+ ~A~0.offset 4))) (and (not (= .cse82 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse83 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse83 .cse82)) .cse1) (= (+ .cse81 (select .cse83 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= (+ .cse81 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse84 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse87 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse85 (select .cse87 ~B~0.offset))) (and (= (* .cse85 2) c_~maxc~0) (<= .cse85 c_~maxb~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse86 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse86 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse85 (select .cse86 ~A~0.offset)) c_~maxc~0)))) (<= .cse2 (+ .cse85 .cse1)) (= c_~maxb~0 (select .cse87 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse90 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse88 (select .cse90 ~B~0.offset))) (and (= (* .cse88 2) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse89 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse89 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse88 (select .cse89 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= .cse2 (+ .cse88 .cse1)) (= (+ .cse88 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse90 (+ ~B~0.offset 4)))))))) .cse13) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse93 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse91 (select .cse93 (+ ~B~0.offset 4))) (.cse92 (select .cse93 ~B~0.offset))) (and (<= (+ .cse91 1) .cse92) (= .cse92 c_~maxb~0) (= (+ .cse92 c_~maxa~0) c_~maxc~0) (<= (+ .cse92 .cse1 1) (+ .cse91 c_~maxc~0)) (= (+ .cse92 .cse17) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse28)))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse95 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse94 (select .cse95 ~B~0.offset))) (and (<= .cse94 c_~maxb~0) (<= (+ .cse94 .cse1 1) .cse2) (= (+ .cse94 c_~maxa~0) c_~maxc~0) (= (+ .cse94 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse95 (+ ~B~0.offset 4))))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse100 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse96 (select .cse100 ~B~0.offset))) (let ((.cse97 (+ .cse96 c_~maxa~0)) (.cse99 (+ ~B~0.offset 4))) (and (= (* .cse96 2) c_~maxc~0) (= .cse96 c_~maxb~0) (<= .cse37 .cse97) (<= c_~maxc~0 .cse97) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse98 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= (+ .cse96 (select .cse98 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse98 (+ ~A~0.offset 4)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse99)))) (= (+ c_~maxa~0 (select .cse100 .cse99)) .cse1)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse104 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse101 (select .cse104 ~B~0.offset))) (and (= (* .cse101 2) c_~maxc~0) (<= (+ .cse101 .cse1 1) .cse2) (= (+ .cse101 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (let ((.cse102 (+ ~A~0.offset 4))) (and (not (= .cse102 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse103 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse103 .cse102)) .cse1) (= (+ .cse101 (select .cse103 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= (+ .cse101 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse104 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse110 (select |c_#memory_int#1| ~B~0.base)) (.cse109 (+ ~B~0.offset 4))) (let ((.cse105 (select .cse110 .cse109)) (.cse106 (select .cse110 ~B~0.offset))) (and (<= (+ .cse105 1) .cse106) (= (* .cse106 2) c_~maxc~0) (= .cse106 c_~maxb~0) (= (+ .cse106 c_~maxa~0) c_~maxc~0) (<= (+ .cse106 .cse1 1) (+ .cse105 c_~maxc~0)) (exists ((~A~0.offset Int)) (let ((.cse107 (+ ~A~0.offset 4))) (and (not (= .cse107 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse108 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse108 .cse107) .cse105) .cse1) (= (+ .cse106 (select .cse108 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse109))))))))) (exists ((~B~0.base Int)) (and (exists ((~B~0.offset Int)) (let ((.cse113 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse111 (select .cse113 ~B~0.offset))) (and (= .cse111 c_~maxb~0) (= (+ .cse112 (select .cse113 (+ ~B~0.offset 4))) .cse1) (<= .cse37 (+ .cse111 .cse112)) (= (+ .cse111 c_~maxa~0) c_~maxc~0) (<= (+ .cse111 .cse112 1) c_~maxc~0))))) (not (= c_~C~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse117 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse114 (select .cse117 ~B~0.offset))) (let ((.cse115 (+ .cse114 c_~maxb~0))) (and (<= (+ .cse114 .cse1 1) .cse2) (= (+ .cse114 c_~maxa~0) c_~maxc~0) (= .cse115 .cse1) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse116 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse116 (+ ~A~0.offset 4))) .cse1) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse114 (select .cse116 ~A~0.offset)) c_~maxc~0)))) (= .cse115 c_~maxc~0) (= c_~maxb~0 (select .cse117 (+ ~B~0.offset 4)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse121 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse118 (select .cse121 ~B~0.offset)) (.cse120 (+ ~B~0.offset 4))) (and (= (* .cse118 2) c_~maxc~0) (= .cse118 c_~maxb~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse119 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse118 (select .cse119 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse119 (+ ~A~0.offset 4))) (not (= ~A~0.offset .cse120))))) (<= .cse37 (+ .cse118 c_~maxa~0)) (= .cse118 c_~maxa~0) (= (+ c_~maxa~0 (select .cse121 .cse120)) .cse1))))) (and .cse14 (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse123 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse124 (select .cse123 (+ ~A~0.offset 4)))) (let ((.cse122 (+ .cse17 .cse124))) (and (<= .cse37 .cse122) (<= c_~maxc~0 .cse122) (= (+ .cse17 (select .cse123 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse124)))))))) (and .cse125 .cse23))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse127 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse126 (select .cse127 ~B~0.offset))) (and (= .cse126 c_~maxb~0) (= (+ .cse112 (select .cse127 (+ ~B~0.offset 4))) .cse1) (<= .cse37 (+ .cse126 .cse112)) (= (+ .cse126 c_~maxa~0) c_~maxc~0) (<= (+ .cse126 .cse112 1) c_~maxc~0) (= (+ .cse126 .cse1) .cse128))))) (not (= ~B~0.offset .cse28)))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse131 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse129 (select .cse131 ~B~0.offset)) (.cse130 (select |c_#memory_int#1| ~A~0.base)) (.cse132 (+ ~B~0.offset 4))) (and (<= .cse129 c_~maxb~0) (= (+ c_~maxb~0 (select .cse130 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= .cse2 (+ .cse129 .cse1)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse129 (select .cse130 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse131 .cse132)) (not (= ~A~0.offset .cse132)))))) .cse13) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse136 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse133 (select .cse136 ~B~0.offset)) (.cse135 (+ ~B~0.offset 4))) (and (= (* .cse133 2) c_~maxc~0) (<= .cse133 c_~maxb~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse134 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse134 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse133 (select .cse134 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse135)))) (<= (+ .cse133 .cse1 1) .cse2) (= (+ .cse133 c_~maxa~0) c_~maxc~0) (= c_~maxb~0 (select .cse136 .cse135)))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse137 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse137 (+ ~A~0.offset 4))) .cse1) (exists ((~B~0.offset Int)) (let ((.cse139 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse138 (select .cse139 ~B~0.offset)) (.cse140 (+ ~B~0.offset 4))) (and (<= .cse138 c_~maxb~0) (<= (+ .cse138 .cse1 1) .cse2) (= (+ .cse138 c_~maxa~0) c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse138 (select .cse137 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse139 .cse140)) (not (= ~A~0.offset .cse140))))))))) (not (= ~A~0.base ~B~0.base)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse144 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse141 (select .cse144 (+ ~B~0.offset 4))) (.cse142 (select .cse144 ~B~0.offset))) (and (<= (+ .cse141 1) .cse142) (= (* .cse142 2) c_~maxc~0) (= .cse142 c_~maxb~0) (= (* 2 .cse141) .cse1) (= (+ .cse142 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse143 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse143 (+ ~A~0.offset 4)) .cse141) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse142 (select .cse143 ~A~0.offset)) c_~maxc~0)))))))) (and (or (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse146 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse145 (select .cse146 ~B~0.offset))) (and (<= .cse145 c_~maxb~0) (<= (+ .cse145 .cse1 1) .cse2) (not (= c_~C~0.base ~B~0.base)) (= (+ .cse145 c_~maxa~0) c_~maxc~0) (= c_~maxb~0 (select .cse146 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse148 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse147 (select .cse148 ~B~0.offset))) (and (<= .cse147 c_~maxb~0) (<= (+ .cse147 .cse1 1) .cse2) (= (+ .cse147 c_~maxa~0) c_~maxc~0) (= c_~maxb~0 (select .cse148 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse28)))) (and .cse13 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse150 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse149 (select .cse150 ~B~0.offset))) (and (<= .cse149 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 (+ .cse149 .cse1)) (= (+ .cse149 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse150 (+ ~B~0.offset 4)))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse152 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse151 (select .cse152 ~B~0.offset))) (and (<= .cse151 c_~maxb~0) (<= (+ .cse151 .cse1 1) .cse2) (= (+ .cse151 c_~maxa~0) c_~maxc~0) (= c_~maxb~0 (select .cse152 (+ ~B~0.offset 4))))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse154 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse153 (select .cse154 ~B~0.offset))) (and (<= .cse153 c_~maxb~0) (<= (+ .cse153 .cse1 1) .cse2) (= (+ .cse153 c_~maxa~0) c_~maxc~0) (= (+ .cse153 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse154 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset .cse28)))) (and .cse13 (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse156 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse155 (select .cse156 ~B~0.offset))) (and (<= .cse155 c_~maxb~0) (<= .cse2 (+ .cse155 .cse1)) (not (= ~B~0.offset c_~C~0.offset)) (= c_~maxb~0 (select .cse156 (+ ~B~0.offset 4))) (not (= ~B~0.offset .cse28))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse158 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse157 (select .cse158 ~B~0.offset))) (and (<= .cse157 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 (+ .cse157 .cse1)) (not (= ~B~0.offset c_~C~0.offset)) (= c_~maxb~0 (select .cse158 (+ ~B~0.offset 4))))))) .cse13) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse160 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse159 (select .cse160 ~B~0.offset))) (and (<= .cse159 c_~maxb~0) (<= .cse2 (+ .cse159 .cse1)) (= (+ .cse159 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse160 (+ ~B~0.offset 4))) (not (= ~B~0.offset .cse28)))))) .cse13) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse162 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse161 (select .cse162 ~B~0.offset))) (and (<= .cse161 c_~maxb~0) (<= (+ .cse161 .cse1 1) .cse2) (= (+ .cse161 c_~maxa~0) c_~maxc~0) (= (+ .cse161 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse162 (+ ~B~0.offset 4))))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse164 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse163 (select .cse164 ~B~0.offset))) (and (<= .cse163 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 (+ .cse163 .cse1)) (= c_~maxb~0 (select .cse164 (+ ~B~0.offset 4))))))) .cse13)) .cse165) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse168 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse166 (select .cse168 ~B~0.offset)) (.cse167 (select |c_#memory_int#1| ~A~0.base))) (and (<= .cse166 c_~maxb~0) (= (+ c_~maxb~0 (select .cse167 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= .cse2 (+ .cse166 .cse1)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse166 (select .cse167 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse168 (+ ~B~0.offset 4))))))) .cse13) (and .cse169 (or (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse170 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse170 ~A~0.offset))) (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (not (= .cse171 ~A~0.offset)) (= (+ (select .cse170 (+ ~A~0.offset 4)) .cse112) .cse1)))) .cse172 .cse173) (and .cse172 .cse173 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse174 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse174 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (= (+ (select .cse174 (+ ~A~0.offset 4)) .cse112) .cse1))))) (and (<= .cse175 .cse1) (or (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (exists ((~A~0.base Int)) (let ((.cse176 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse176 (+ ~A~0.offset 4)) .cse112) .cse1) (= .cse112 (select .cse176 ~A~0.offset))))))) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse177 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ (select .cse177 (+ ~A~0.offset 4)) .cse112) .cse1) (= .cse112 (select .cse177 ~A~0.offset))))) (not (= ~A~0.offset c_~C~0.offset))))) (or (and (<= .cse178 c_~maxc~0) (= .cse179 c_~maxc~0)) (and (<= c_~maxc~0 .cse175) .cse180))) (and (let ((.cse181 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (exists ((~A~0.base Int)) (let ((.cse189 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse188 (+ .cse112 (select .cse189 ~A~0.offset)))) (and (<= .cse188 .cse1) (<= c_~maxc~0 .cse188) (= (+ (select .cse189 (+ ~A~0.offset 4)) .cse112) .cse1))))) (not (= .cse171 ~A~0.offset)))))) (or .cse181 (and .cse182 .cse181) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse185 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse183 (select .cse185 ~A~0.offset))) (let ((.cse184 (+ .cse112 .cse183))) (and (not (= ~A~0.base c_~C~0.base)) (= (* 2 .cse183) c_~maxc~0) (<= .cse184 .cse1) (<= c_~maxc~0 .cse184) (= (+ (select .cse185 (+ ~A~0.offset 4)) .cse112) .cse1)))))) (not (= .cse171 ~A~0.offset)))) (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (exists ((~A~0.base Int)) (let ((.cse187 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse186 (+ .cse112 (select .cse187 ~A~0.offset)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse186 .cse1) (<= c_~maxc~0 .cse186) (= (+ (select .cse187 (+ ~A~0.offset 4)) .cse112) .cse1))))) (not (= .cse171 ~A~0.offset)))) (and .cse182 (<= 0 (+ .cse112 (div (* (- 1) c_~maxc~0) 2))) (= (mod c_~maxc~0 2) 0)))) .cse180) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse191 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse190 (+ .cse112 (select .cse191 ~A~0.offset)))) (and (not (= ~A~0.base c_~C~0.base)) (not (= ~A~0.offset c_~C~0.offset)) (<= .cse190 .cse1) (<= c_~maxc~0 .cse190) (= (+ (select .cse191 (+ ~A~0.offset 4)) .cse112) .cse1))))) .cse180))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse193 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse192 (select .cse193 ~B~0.offset))) (let ((.cse194 (+ .cse192 .cse112))) (and (= .cse192 c_~maxb~0) (= (+ .cse112 (select .cse193 (+ ~B~0.offset 4))) .cse1) (<= .cse37 .cse194) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 .cse194) (not (= ~B~0.offset c_~C~0.offset))))))) .cse195) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse199 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse198 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse196 (select .cse198 ~B~0.offset))) (let ((.cse200 (select |c_#memory_int#1| ~A~0.base)) (.cse197 (* .cse196 2))) (and (= .cse196 c_~maxb~0) (<= (+ .cse197 1) c_~maxc~0) (= (+ .cse196 (select .cse198 .cse199)) .cse1) (= .cse196 (select .cse200 (+ ~A~0.offset 4))) (= (+ .cse196 c_~maxa~0) c_~maxc~0) (= (+ .cse196 (select .cse200 ~A~0.offset)) c_~maxc~0) (<= .cse37 .cse197)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse199))))) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse201 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse201 (+ ~A~0.offset 4))) .cse1) (exists ((~B~0.offset Int)) (let ((.cse203 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse202 (select .cse203 ~B~0.offset))) (and (<= .cse202 c_~maxb~0) (<= (+ .cse202 .cse1 1) .cse2) (= (+ .cse202 c_~maxa~0) c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse202 (select .cse201 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse203 (+ ~B~0.offset 4)))))))))))) (exists ((~A~0.offset Int) (~B~0.offset Int)) (let ((.cse206 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int) (~A~0.base Int)) (let ((.cse205 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse204 (select .cse205 ~B~0.offset))) (let ((.cse207 (select |c_#memory_int#1| ~A~0.base)) (.cse208 (* .cse204 2))) (and (= .cse204 c_~maxb~0) (= (+ .cse204 (select .cse205 .cse206)) .cse1) (= .cse204 (select .cse207 (+ ~A~0.offset 4))) (= .cse204 c_~maxa~0) (= (+ .cse204 (select .cse207 ~A~0.offset)) c_~maxc~0) (<= .cse37 .cse208) (<= c_~maxc~0 .cse208)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse206))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse212 (+ ~B~0.offset 4)) (.cse213 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse210 (select .cse213 ~B~0.offset)) (.cse209 (select .cse213 .cse212))) (and (<= (+ .cse209 1) .cse210) (= (* .cse210 2) c_~maxc~0) (= .cse210 c_~maxb~0) (= (+ .cse210 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse211 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse211 (+ ~A~0.offset 4)) .cse209) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse210 (select .cse211 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse212)))) (<= (+ .cse210 .cse1 1) (+ .cse209 c_~maxc~0)))))) (and (let ((.cse218 (= .cse231 .cse1))) (let ((.cse219 (exists ((~A~0.offset Int)) (let ((.cse229 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= .cse229 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse230 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse230 .cse229)) .cse1) (= (+ .cse17 (select .cse230 ~A~0.offset)) c_~maxc~0)))))))) (.cse214 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse228 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~maxb~0 (select .cse228 (+ ~A~0.offset 4))) .cse1) (= (+ .cse17 (select .cse228 ~A~0.offset)) c_~maxc~0))))) (.cse220 (and .cse218 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse227 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (= (+ c_~maxb~0 (select .cse227 (+ ~A~0.offset 4))) .cse1) (= (+ .cse17 (select .cse227 ~A~0.offset)) c_~maxc~0)))))) (.cse221 (exists ((~A~0.offset Int)) (let ((.cse225 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (not (= .cse225 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse226 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse226 .cse225)) .cse1) (= (+ .cse17 (select .cse226 ~A~0.offset)) c_~maxc~0)))))))) (.cse216 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse224 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~maxb~0 (select .cse224 (+ ~A~0.offset 4))) .cse1) (= (+ .cse17 (select .cse224 ~A~0.offset)) c_~maxc~0))))))) (.cse222 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (exists ((~A~0.base Int)) (let ((.cse223 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ c_~maxb~0 (select .cse223 (+ ~A~0.offset 4))) .cse1) (= (+ .cse17 (select .cse223 ~A~0.offset)) c_~maxc~0)))))))) (or .cse214 (and .cse215 (or .cse216 (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse217 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (= (+ c_~maxb~0 (select .cse217 (+ ~A~0.offset 4))) .cse1) (= (+ .cse17 (select .cse217 ~A~0.offset)) c_~maxc~0)))) .cse218) .cse219)) (and .cse165 .cse215) .cse220 .cse221 .cse216 (and (or (and (or .cse216 .cse219) .cse215) .cse214 .cse220 .cse221 .cse216 .cse222) .cse36) .cse222))) (or (and (<= (+ .cse17 .cse1 1) .cse2) .cse23) (and .cse13 (<= .cse2 .cse15))) .cse232) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse236 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse233 (select .cse236 (+ ~B~0.offset 4))) (.cse234 (select .cse236 ~B~0.offset))) (and (<= (+ .cse233 1) .cse234) (= (* .cse234 2) c_~maxc~0) (= .cse234 c_~maxb~0) (= (+ .cse234 c_~maxa~0) c_~maxc~0) (<= (+ .cse234 .cse1 1) (+ .cse233 c_~maxc~0)) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse235 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse235 (+ ~A~0.offset 4)) .cse233) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse234 (select .cse235 ~A~0.offset)) c_~maxc~0)))))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse238 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse237 (select .cse238 ~B~0.offset))) (and (<= .cse237 c_~maxb~0) (<= .cse2 (+ .cse237 .cse1)) (not (= ~B~0.offset c_~C~0.offset)) (= (+ .cse237 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse238 (+ ~B~0.offset 4))) (not (= ~B~0.offset .cse28)))))) .cse13) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse240 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse239 (select .cse240 ~B~0.offset))) (and (<= .cse239 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 (+ .cse239 .cse1)) (= (+ .cse239 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse240 (+ ~B~0.offset 4))))))) .cse13) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse243 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse241 (select .cse243 ~B~0.offset)) (.cse242 (select |c_#memory_int#1| ~A~0.base))) (and (<= .cse241 c_~maxb~0) (= (+ c_~maxb~0 (select .cse242 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= .cse2 (+ .cse241 .cse1)) (= (+ .cse241 (select .cse242 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse243 (+ ~B~0.offset 4))))))) .cse13) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse245 (+ ~A~0.offset 4)) (.cse244 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse244 .cse245)) .cse1) (exists ((~B~0.offset Int)) (let ((.cse248 (+ ~B~0.offset 4))) (and (not (= .cse245 ~B~0.offset)) (exists ((~B~0.base Int)) (let ((.cse247 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse246 (select .cse247 ~B~0.offset))) (and (<= .cse246 c_~maxb~0) (<= (+ .cse246 .cse1 1) .cse2) (= (+ .cse246 c_~maxa~0) c_~maxc~0) (= (+ .cse246 (select .cse244 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse247 .cse248)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse248)))))))) (and .cse14 (or (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse250 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse251 (select .cse250 (+ ~A~0.offset 4)))) (let ((.cse249 (+ .cse17 .cse251))) (and (<= .cse37 .cse249) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~maxc~0 .cse249) (= (+ .cse17 (select .cse250 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse251)))))))) (and .cse252 .cse23))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse256 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse253 (select .cse256 ~B~0.offset))) (let ((.cse255 (+ .cse253 c_~maxa~0))) (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse254 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= (+ .cse253 (select .cse254 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse254 (+ ~A~0.offset 4)))))) (= (* .cse253 2) c_~maxc~0) (= .cse253 c_~maxb~0) (<= .cse37 .cse255) (<= c_~maxc~0 .cse255) (= (+ c_~maxa~0 (select .cse256 (+ ~B~0.offset 4))) .cse1)))))) (and .cse46 .cse232 .cse13 .cse36) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse258 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse257 (select .cse258 ~B~0.offset))) (let ((.cse259 (+ .cse257 .cse112))) (and (= .cse257 c_~maxb~0) (= (+ .cse112 (select .cse258 (+ ~B~0.offset 4))) .cse1) (<= .cse37 .cse259) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 .cse259) (= (+ .cse257 .cse1) .cse128)))))) .cse195) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse262 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse260 (select .cse262 ~B~0.offset))) (let ((.cse264 (* .cse260 2))) (and (= .cse260 c_~maxb~0) (= (+ .cse260 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse261 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse260 .cse1) (+ (select .cse261 (+ ~A~0.offset 4)) c_~maxc~0)) (not (= ~A~0.base ~B~0.base)) (= (+ .cse260 (select .cse261 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse260 (select .cse262 (+ ~B~0.offset 4))) c_~maxc~0) (<= .cse263 .cse264) (<= (+ .cse264 .cse1 1) .cse265)))))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse267 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse266 (select .cse267 ~B~0.offset))) (let ((.cse268 (+ .cse266 .cse112))) (and (= .cse266 c_~maxb~0) (= (+ .cse112 (select .cse267 (+ ~B~0.offset 4))) .cse1) (<= .cse37 .cse268) (<= c_~maxc~0 .cse268) (= (+ .cse266 .cse1) .cse128) (not (= ~B~0.offset .cse28))))))) .cse195) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse271 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse269 (select .cse271 ~B~0.offset))) (let ((.cse270 (+ .cse269 c_~maxa~0))) (and (= .cse269 c_~maxb~0) (<= .cse37 .cse270) (<= c_~maxc~0 .cse270) (= (+ c_~maxa~0 (select .cse271 (+ ~B~0.offset 4))) .cse1) (= (+ .cse269 .cse17) c_~maxc~0)))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse28)))) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse273 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse272 (select .cse273 ~B~0.offset))) (let ((.cse274 (+ .cse272 .cse112))) (and (= .cse272 c_~maxb~0) (= (+ .cse112 (select .cse273 (+ ~B~0.offset 4))) .cse1) (<= .cse37 .cse274) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 .cse274)))))) .cse195) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse276 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse275 (select .cse276 ~B~0.offset))) (let ((.cse277 (+ .cse275 .cse112))) (and (= .cse275 c_~maxb~0) (= (+ .cse112 (select .cse276 (+ ~B~0.offset 4))) .cse1) (<= .cse37 .cse277) (<= c_~maxc~0 .cse277) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse28))))))) .cse195) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse280 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse278 (select .cse280 ~B~0.offset))) (and (= (* .cse278 2) c_~maxc~0) (<= .cse278 c_~maxb~0) (<= (+ .cse278 .cse1 1) .cse2) (= (+ .cse278 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse279 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse279 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse278 (select .cse279 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= c_~maxb~0 (select .cse280 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse283 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse281 (select .cse283 ~B~0.offset))) (let ((.cse282 (+ .cse281 c_~maxa~0))) (and (= .cse281 c_~maxb~0) (<= .cse37 .cse282) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 .cse282) (= (+ c_~maxa~0 (select .cse283 (+ ~B~0.offset 4))) .cse1) (= (+ .cse281 .cse17) c_~maxc~0)))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse286 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse284 (select .cse286 ~B~0.offset))) (and (= .cse284 c_~maxb~0) (= (+ .cse284 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse288 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse285 (select .cse288 (+ ~A~0.offset 4))) (.cse287 (+ ~B~0.offset 4))) (and (= (+ .cse285 (select .cse286 .cse287)) .cse1) (not (= ~A~0.base ~B~0.base)) (<= .cse37 (+ .cse284 .cse285)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse284 (select .cse288 ~A~0.offset)) c_~maxc~0) (<= (+ .cse284 .cse285 1) c_~maxc~0) (not (= ~A~0.offset .cse287)))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse293 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse292 (select .cse293 ~B~0.offset))) (let ((.cse290 (+ .cse292 .cse1)) (.cse294 (* .cse292 2))) (and (exists ((~A~0.offset Int)) (let ((.cse289 (+ ~A~0.offset 4))) (and (not (= .cse289 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse291 (select |c_#memory_int#1| ~A~0.base))) (and (= .cse290 (+ (select .cse291 .cse289) c_~maxc~0)) (= (+ .cse292 (select .cse291 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= .cse292 c_~maxb~0) (= .cse290 .cse25) (= (+ .cse292 (select .cse293 (+ ~B~0.offset 4))) c_~maxc~0) (<= .cse263 .cse294) (<= .cse265 (+ .cse294 .cse1))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse297 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse295 (select .cse297 ~B~0.offset))) (and (= .cse295 c_~maxb~0) (= (+ .cse295 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse298 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse296 (select .cse298 (+ ~A~0.offset 4)))) (and (= (+ .cse296 (select .cse297 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= .cse37 (+ .cse295 .cse296)) (= (+ .cse295 (select .cse298 ~A~0.offset)) c_~maxc~0) (<= (+ .cse295 .cse296 1) c_~maxc~0))))))))) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse302 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse299 (+ ~A~0.offset 4)) (.cse300 (select .cse302 ~B~0.offset)) (.cse301 (select |c_#memory_int#1| ~A~0.base)) (.cse303 (+ ~B~0.offset 4))) (and (not (= .cse299 ~B~0.offset)) (<= .cse300 c_~maxb~0) (= (+ c_~maxb~0 (select .cse301 .cse299)) .cse1) (<= .cse2 (+ .cse300 .cse1)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse300 (select .cse301 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse302 .cse303)) (not (= ~A~0.offset .cse303)))))) .cse13) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse309 (select |c_#memory_int#1| ~B~0.base)) (.cse308 (+ ~B~0.offset 4))) (let ((.cse304 (select .cse309 .cse308)) (.cse305 (select .cse309 ~B~0.offset))) (and (<= (+ .cse304 1) .cse305) (= (* .cse305 2) c_~maxc~0) (= .cse305 c_~maxb~0) (= (* 2 .cse304) .cse1) (= (+ .cse305 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (let ((.cse306 (+ ~A~0.offset 4))) (and (not (= .cse306 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse307 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse307 .cse306) .cse304) .cse1) (= (+ .cse305 (select .cse307 ~A~0.offset)) c_~maxc~0)))) (not (= ~A~0.offset .cse308))))))))) (exists ((~B~0.base Int)) (and (not (= c_~C~0.base ~B~0.base)) (exists ((~B~0.offset Int)) (let ((.cse311 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse310 (select .cse311 ~B~0.offset))) (and (= .cse310 c_~maxb~0) (= (+ .cse112 (select .cse311 (+ ~B~0.offset 4))) .cse1) (<= .cse37 (+ .cse310 .cse112)) (= (+ .cse310 c_~maxa~0) c_~maxc~0) (<= (+ .cse310 .cse112 1) c_~maxc~0) (= (+ .cse310 .cse1) .cse128))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse314 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse312 (select .cse314 ~B~0.offset))) (and (<= .cse312 c_~maxb~0) (<= (+ .cse312 .cse1 1) .cse2) (= (+ .cse312 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse313 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse313 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse312 (select .cse313 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse312 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse314 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse319 (select |c_#memory_int#1| ~B~0.base)) (.cse318 (+ ~B~0.offset 4))) (let ((.cse315 (select .cse319 .cse318)) (.cse316 (select .cse319 ~B~0.offset))) (and (<= (+ .cse315 1) .cse316) (= (* .cse316 2) c_~maxc~0) (= .cse316 c_~maxb~0) (= (* 2 .cse315) .cse1) (= (+ .cse316 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse317 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse317 (+ ~A~0.offset 4)) .cse315) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse316 (select .cse317 ~A~0.offset)) c_~maxc~0)))) (not (= ~A~0.offset .cse318)))))))) (and .cse320 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse321 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ (select .cse321 (+ ~A~0.offset 4)) .cse112) .cse1) (= c_~maxa~0 (select .cse321 ~A~0.offset))))) .cse322) (and (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse325 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse323 (select .cse325 ~B~0.offset)) (.cse324 (select |c_#memory_int#1| ~A~0.base)) (.cse326 (+ ~B~0.offset 4))) (and (<= .cse323 c_~maxb~0) (= (+ c_~maxb~0 (select .cse324 (+ ~A~0.offset 4))) .cse1) (= (+ .cse323 c_~maxb~0) .cse1) (<= .cse2 (+ .cse323 .cse1)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse323 (select .cse324 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse325 .cse326)) (not (= ~A~0.offset .cse326)))))) .cse13) (exists ((~B~0.base Int) (~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse327 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse327 (+ ~A~0.offset 4))) .cse1) (exists ((~B~0.offset Int)) (let ((.cse329 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse328 (select .cse329 ~B~0.offset))) (and (<= .cse328 c_~maxb~0) (<= (+ .cse328 .cse1 1) .cse2) (= (+ .cse328 c_~maxa~0) c_~maxc~0) (= (+ .cse328 (select .cse327 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse329 (+ ~B~0.offset 4)))))))))))) (and (let ((.cse330 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (exists ((~A~0.base Int)) (let ((.cse333 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse333 (+ ~A~0.offset 4)) .cse112) .cse1) (= c_~maxa~0 (select .cse333 ~A~0.offset)))))))) (.cse331 (exists ((~A~0.offset Int)) (and (not (= ~A~0.offset c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse332 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ (select .cse332 (+ ~A~0.offset 4)) .cse112) .cse1) (= c_~maxa~0 (select .cse332 ~A~0.offset))))))))) (or .cse330 (and .cse182 (= (* 2 c_~maxa~0) c_~maxc~0)) (and .cse182 (or .cse330 .cse331)) .cse331)) .cse320 .cse322) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse336 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse334 (select .cse336 ~B~0.offset))) (and (= (* .cse334 2) c_~maxc~0) (<= .cse334 c_~maxb~0) (<= (+ .cse334 .cse1 1) .cse2) (= (+ .cse334 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse335 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse335 (+ ~A~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse334 (select .cse335 ~A~0.offset)) c_~maxc~0)))) (= c_~maxb~0 (select .cse336 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse340 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse338 (select .cse340 ~B~0.offset)) (.cse337 (select .cse340 (+ ~B~0.offset 4)))) (and (<= (+ .cse337 1) .cse338) (= (* .cse338 2) c_~maxc~0) (= .cse338 c_~maxb~0) (= (+ .cse338 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse339 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ (select .cse339 (+ ~A~0.offset 4)) .cse337) .cse1) (not (= ~A~0.base ~B~0.base)) (= (+ .cse338 (select .cse339 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (<= (+ .cse338 .cse1 1) (+ .cse337 c_~maxc~0)))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse343 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse341 (select .cse343 ~B~0.offset))) (let ((.cse342 (+ .cse341 c_~maxa~0))) (and (= (* .cse341 2) c_~maxc~0) (= .cse341 c_~maxb~0) (<= .cse37 .cse342) (<= c_~maxc~0 .cse342) (= (+ c_~maxa~0 (select .cse343 (+ ~B~0.offset 4))) .cse1) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse344 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base ~B~0.base)) (= (+ .cse341 (select .cse344 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse344 (+ ~A~0.offset 4)))))) (not (= ~B~0.offset ~A~0.offset))))))))) (and .cse14 (or (and .cse23 .cse345) (exists ((~A~0.base Int)) (and (not (= ~A~0.base c_~C~0.base)) (exists ((~A~0.offset Int)) (let ((.cse347 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse348 (select .cse347 (+ ~A~0.offset 4)))) (let ((.cse346 (+ .cse17 .cse348))) (and (<= .cse37 .cse346) (not (= ~A~0.offset c_~C~0.offset)) (<= c_~maxc~0 .cse346) (not (= ~A~0.offset .cse28)) (= (+ .cse17 (select .cse347 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse348)))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse352 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse350 (select .cse352 ~B~0.offset))) (let ((.cse353 (* .cse350 2))) (and (exists ((~A~0.offset Int)) (let ((.cse349 (+ ~A~0.offset 4))) (and (not (= .cse349 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse351 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse350 .cse1) (+ (select .cse351 .cse349) c_~maxc~0)) (= (+ .cse350 (select .cse351 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= .cse350 c_~maxb~0) (= (+ .cse350 c_~maxa~0) c_~maxc~0) (= (+ .cse350 (select .cse352 (+ ~B~0.offset 4))) c_~maxc~0) (<= .cse263 .cse353) (<= (+ .cse353 .cse1 1) .cse265)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse355 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse354 (select .cse355 ~B~0.offset))) (and (= .cse354 c_~maxb~0) (= (+ .cse112 (select .cse355 (+ ~B~0.offset 4))) .cse1) (<= .cse37 (+ .cse354 .cse112)) (= (+ .cse354 c_~maxa~0) c_~maxc~0) (<= (+ .cse354 .cse112 1) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse28)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse358 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse356 (select .cse358 ~B~0.offset))) (and (= .cse356 c_~maxb~0) (= (+ .cse356 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse359 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse357 (select .cse359 (+ ~A~0.offset 4)))) (and (= (+ .cse357 (select .cse358 (+ ~B~0.offset 4))) .cse1) (not (= ~A~0.base ~B~0.base)) (<= .cse37 (+ .cse356 .cse357)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse356 (select .cse359 ~A~0.offset)) c_~maxc~0) (<= (+ .cse356 .cse357 1) c_~maxc~0))))))))) (and .cse14 .cse23 (or .cse360 .cse125 .cse252 .cse345) .cse36) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse361 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse361 (+ ~A~0.offset 4))) .cse1) (exists ((~B~0.offset Int)) (let ((.cse364 (+ ~B~0.offset 4))) (and (exists ((~B~0.base Int)) (let ((.cse363 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse362 (select .cse363 ~B~0.offset))) (and (<= .cse362 c_~maxb~0) (<= (+ .cse362 .cse1 1) .cse2) (= (+ .cse362 c_~maxa~0) c_~maxc~0) (= (+ .cse362 c_~maxb~0) .cse1) (= (+ .cse362 (select .cse361 ~A~0.offset)) c_~maxc~0) (= c_~maxb~0 (select .cse363 .cse364)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse364)))))))) (and .cse14 (or (exists ((~A~0.offset Int)) (let ((.cse365 (+ ~A~0.offset 4))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (not (= .cse365 c_~C~0.offset)) (exists ((~A~0.base Int)) (let ((.cse367 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse368 (select .cse367 .cse365))) (let ((.cse366 (+ .cse17 .cse368))) (and (<= .cse37 .cse366) (<= c_~maxc~0 .cse366) (= (+ .cse17 (select .cse367 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse368))))))))) (and .cse360 .cse23))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse373 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse369 (select .cse373 ~B~0.offset)) (.cse372 (+ ~B~0.offset 4))) (and (= (* .cse369 2) c_~maxc~0) (<= .cse369 c_~maxb~0) (<= (+ .cse369 .cse1 1) .cse2) (= (+ .cse369 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (let ((.cse370 (+ ~A~0.offset 4))) (and (not (= .cse370 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse371 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse371 .cse370)) .cse1) (= (+ .cse369 (select .cse371 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse372))))) (= c_~maxb~0 (select .cse373 .cse372)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse375 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse374 (select .cse375 ~B~0.offset))) (and (<= .cse374 c_~maxb~0) (<= (+ .cse374 .cse1 1) .cse2) (not (= c_~C~0.base ~B~0.base)) (= (+ .cse374 c_~maxa~0) c_~maxc~0) (= (+ .cse374 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse375 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset .cse28)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse379 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse376 (select .cse379 ~B~0.offset))) (let ((.cse377 (+ .cse376 .cse1)) (.cse380 (* .cse376 2))) (and (= .cse376 c_~maxb~0) (= .cse377 .cse25) (exists ((~A~0.offset Int)) (and (exists ((~A~0.base Int)) (let ((.cse378 (select |c_#memory_int#1| ~A~0.base))) (and (= .cse377 (+ (select .cse378 (+ ~A~0.offset 4)) c_~maxc~0)) (not (= ~A~0.base ~B~0.base)) (= (+ .cse376 (select .cse378 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset)))) (= (+ .cse376 (select .cse379 (+ ~B~0.offset 4))) c_~maxc~0) (<= .cse263 .cse380) (<= .cse265 (+ .cse380 .cse1))))))) (and (or (and (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse382 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse381 (+ .cse112 (select .cse382 ~A~0.offset)))) (and (not (= ~A~0.base c_~C~0.base)) (<= .cse381 .cse1) (<= c_~maxc~0 .cse381) (= (+ (select .cse382 (+ ~A~0.offset 4)) .cse112) .cse1))))) .cse180) (and .cse172 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse383 (select |c_#memory_int#1| ~A~0.base))) (and (= c_~maxc~0 (+ c_~maxb~0 (select .cse383 ~A~0.offset))) (not (= ~A~0.base c_~C~0.base)) (= (+ (select .cse383 (+ ~A~0.offset 4)) .cse112) .cse1)))) .cse173)) .cse169) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse386 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse384 (select .cse386 ~B~0.offset))) (let ((.cse385 (+ .cse384 c_~maxa~0))) (and (= .cse384 c_~maxb~0) (<= .cse37 .cse385) (not (= c_~C~0.base ~B~0.base)) (<= c_~maxc~0 .cse385) (= (+ c_~maxa~0 (select .cse386 (+ ~B~0.offset 4))) .cse1) (= (+ .cse384 .cse17) c_~maxc~0)))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse388 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse387 (select .cse388 ~B~0.offset))) (and (<= .cse387 c_~maxb~0) (<= (+ .cse387 .cse1 1) .cse2) (= (+ .cse387 c_~maxa~0) c_~maxc~0) (= (+ .cse387 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse388 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset c_~C~0.offset)) (not (= ~B~0.offset .cse28)))) (and (or (and (<= .cse389 c_~maxc~0) .cse23) (and .cse30 .cse26)) .cse390 (or (and .cse215 .cse22) (and .cse24 (= .cse15 .cse2)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse396 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse391 (select .cse396 ~B~0.offset))) (let ((.cse395 (+ .cse391 c_~maxa~0)) (.cse394 (+ ~B~0.offset 4))) (and (= (* .cse391 2) c_~maxc~0) (= .cse391 c_~maxb~0) (exists ((~A~0.offset Int)) (let ((.cse392 (+ ~A~0.offset 4))) (and (not (= .cse392 ~B~0.offset)) (not (= ~B~0.offset ~A~0.offset)) (exists ((~A~0.base Int)) (let ((.cse393 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ .cse391 (select .cse393 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 (select .cse393 .cse392))))) (not (= ~A~0.offset .cse394))))) (<= .cse37 .cse395) (<= c_~maxc~0 .cse395) (= (+ c_~maxa~0 (select .cse396 .cse394)) .cse1)))))) (and .cse18 (exists ((~A~0.offset Int) (~B~0.offset Int) (~B~0.base Int) (~A~0.base Int)) (let ((.cse400 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse397 (select .cse400 ~B~0.offset))) (let ((.cse398 (+ .cse397 .cse1)) (.cse399 (select |c_#memory_int#1| ~A~0.base))) (and (= .cse397 c_~maxb~0) (= .cse398 .cse25) (= .cse398 (+ (select .cse399 (+ ~A~0.offset 4)) c_~maxc~0)) (= (+ .cse397 (select .cse400 (+ ~B~0.offset 4))) c_~maxc~0) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse397 (select .cse399 ~A~0.offset)) c_~maxc~0) (<= .cse263 (* .cse397 2)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse404 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse401 (select .cse404 ~B~0.offset))) (and (<= .cse401 c_~maxb~0) (<= (+ .cse401 .cse1 1) .cse2) (= (+ .cse401 c_~maxa~0) c_~maxc~0) (exists ((~A~0.offset Int)) (let ((.cse402 (+ ~A~0.offset 4))) (and (not (= .cse402 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse403 (select |c_#memory_int#1| ~A~0.base))) (and (= (+ c_~maxb~0 (select .cse403 .cse402)) .cse1) (= (+ .cse401 (select .cse403 ~A~0.offset)) c_~maxc~0)))) (not (= ~B~0.offset ~A~0.offset))))) (= (+ .cse401 c_~maxb~0) c_~maxc~0) (= c_~maxb~0 (select .cse404 (+ ~B~0.offset 4))))))) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse407 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse405 (select .cse407 (+ ~B~0.offset 4))) (.cse406 (select .cse407 ~B~0.offset))) (and (<= (+ .cse405 1) .cse406) (= .cse406 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (= (+ .cse406 c_~maxa~0) c_~maxc~0) (<= (+ .cse406 .cse1 1) (+ .cse405 c_~maxc~0)) (= (+ .cse406 .cse17) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse410 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse408 (select .cse410 ~B~0.offset))) (and (= .cse408 c_~maxb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse412 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse409 (select .cse412 (+ ~A~0.offset 4)))) (let ((.cse411 (+ .cse408 .cse409))) (and (= (+ .cse409 (select .cse410 (+ ~B~0.offset 4))) .cse1) (<= .cse37 .cse411) (<= c_~maxc~0 .cse411) (= (+ .cse408 (select .cse412 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse409)))))) (not (= ~A~0.base ~B~0.base)))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse415 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse413 (select .cse415 ~B~0.offset))) (and (= .cse413 c_~maxb~0) (exists ((~A~0.base Int)) (and (exists ((~A~0.offset Int)) (let ((.cse418 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse414 (select .cse418 (+ ~A~0.offset 4)))) (let ((.cse417 (+ .cse413 .cse414)) (.cse416 (+ ~B~0.offset 4))) (and (= (+ .cse414 (select .cse415 .cse416)) .cse1) (<= .cse37 .cse417) (<= c_~maxc~0 .cse417) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse413 (select .cse418 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse414) (not (= ~A~0.offset .cse416))))))) (not (= ~A~0.base ~B~0.base)))))))) (let ((.cse419 (+ .cse17 .cse112))) (and .cse14 (<= .cse37 .cse419) (or (and .cse195 (<= c_~maxc~0 .cse419)) (and (<= (+ .cse17 .cse112 1) c_~maxc~0) .cse23)) .cse390)) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse421 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse420 (select .cse421 ~B~0.offset))) (and (= .cse420 c_~maxb~0) (= (+ .cse112 (select .cse421 (+ ~B~0.offset 4))) .cse1) (<= .cse37 (+ .cse420 .cse112)) (not (= c_~C~0.base ~B~0.base)) (= (+ .cse420 c_~maxa~0) c_~maxc~0) (<= (+ .cse420 .cse112 1) c_~maxc~0))))) (not (= ~B~0.offset c_~C~0.offset)))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse425 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse422 (select .cse425 ~B~0.offset))) (and (= .cse422 c_~maxb~0) (exists ((~A~0.offset Int)) (let ((.cse423 (+ ~A~0.offset 4)) (.cse426 (+ ~B~0.offset 4))) (and (not (= .cse423 ~B~0.offset)) (exists ((~A~0.base Int)) (let ((.cse428 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse424 (select .cse428 .cse423))) (let ((.cse427 (+ .cse422 .cse424))) (and (= (+ .cse424 (select .cse425 .cse426)) .cse1) (<= .cse37 .cse427) (<= c_~maxc~0 .cse427) (= (+ .cse422 (select .cse428 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse424)))))) (not (= ~B~0.offset ~A~0.offset)) (not (= ~A~0.offset .cse426))))))))) (and .cse14 (<= (+ (div (* (- 1) .cse1) 2) .cse1 1) .cse17) .cse23 (= (mod .cse1 2) 0) .cse36) (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse430 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse429 (select .cse430 ~B~0.offset))) (and (<= .cse429 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (<= .cse2 (+ .cse429 .cse1)) (= (+ .cse429 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse430 (+ ~B~0.offset 4))) (not (= ~B~0.offset .cse28)))))) .cse13) (and .cse14 (<= .cse37 .cse389) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse431 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset c_~C~0.offset)) (not (= ~A~0.offset .cse28)) (= (+ .cse17 (select .cse431 ~A~0.offset)) c_~maxc~0) (= .cse17 (select .cse431 (+ ~A~0.offset 4)))))) (or (and .cse30 (<= c_~maxc~0 .cse389)) (and (<= (+ .cse389 1) c_~maxc~0) .cse23))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse435 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse432 (select .cse435 ~B~0.offset))) (and (= .cse432 c_~maxb~0) (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse437 (select |c_#memory_int#1| ~A~0.base)) (.cse433 (+ ~A~0.offset 4))) (let ((.cse434 (select .cse437 .cse433)) (.cse436 (+ ~B~0.offset 4))) (and (not (= .cse433 ~B~0.offset)) (= (+ .cse434 (select .cse435 .cse436)) .cse1) (<= .cse37 (+ .cse432 .cse434)) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse432 (select .cse437 ~A~0.offset)) c_~maxc~0) (<= (+ .cse432 .cse434 1) c_~maxc~0) (not (= ~A~0.offset .cse436)))))) (= (+ .cse432 c_~maxa~0) c_~maxc~0))))) (let ((.cse440 (+ .cse175 c_~maxc~0)) (.cse441 (* 2 .cse1))) (and (let ((.cse438 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse443 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.offset .cse28)) (= (+ (select .cse443 (+ ~A~0.offset 4)) .cse112) .cse1) (= (+ (select .cse443 ~A~0.offset) .cse1) .cse128))))) (.cse439 (exists ((~A~0.offset Int) (~A~0.base Int)) (let ((.cse442 (select |c_#memory_int#1| ~A~0.base))) (and (not (= ~A~0.base c_~C~0.base)) (= (+ (select .cse442 (+ ~A~0.offset 4)) .cse112) .cse1) (= (+ (select .cse442 ~A~0.offset) .cse1) .cse128)))))) (or .cse438 .cse439 (and (or .cse438 .cse439) (= .cse440 .cse441)))) (or (and (<= (+ .cse441 1) .cse440) (= (+ c_~maxa~0 .cse1) .cse128)) (and (<= .cse440 .cse441) .cse169)) (or (and (<= .cse1 .cse175) .cse180) (and .cse165 (<= .cse178 .cse1))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse446 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse444 (select .cse446 ~B~0.offset))) (and (= .cse444 c_~maxb~0) (exists ((~A~0.base Int)) (and (not (= ~A~0.base ~B~0.base)) (exists ((~A~0.offset Int)) (let ((.cse448 (select |c_#memory_int#1| ~A~0.base))) (let ((.cse445 (select .cse448 (+ ~A~0.offset 4)))) (let ((.cse447 (+ .cse444 .cse445))) (and (= (+ .cse445 (select .cse446 (+ ~B~0.offset 4))) .cse1) (<= .cse37 .cse447) (<= c_~maxc~0 .cse447) (not (= ~B~0.offset ~A~0.offset)) (= (+ .cse444 (select .cse448 ~A~0.offset)) c_~maxc~0) (= c_~maxa~0 .cse445)))))))))))) (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse451 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse449 (select .cse451 (+ ~B~0.offset 4))) (.cse450 (select .cse451 ~B~0.offset))) (and (<= (+ .cse449 1) .cse450) (= .cse450 c_~maxb~0) (not (= c_~C~0.base ~B~0.base)) (= (+ .cse450 c_~maxa~0) c_~maxc~0) (<= (+ .cse450 .cse1 1) (+ .cse449 c_~maxc~0)) (= (+ .cse450 .cse17) c_~maxc~0))))) (and (or (and (exists ((~B~0.offset Int) (~B~0.base Int)) (let ((.cse453 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse452 (select .cse453 ~B~0.offset))) (and (<= .cse452 c_~maxb~0) (<= .cse2 (+ .cse452 .cse1)) (= (+ .cse452 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse453 (+ ~B~0.offset 4))) (not (= ~B~0.offset .cse28)))))) .cse13) (exists ((~B~0.offset Int)) (and (exists ((~B~0.base Int)) (let ((.cse455 (select |c_#memory_int#1| ~B~0.base))) (let ((.cse454 (select .cse455 ~B~0.offset))) (and (<= .cse454 c_~maxb~0) (<= (+ .cse454 .cse1 1) .cse2) (= (+ .cse454 c_~maxa~0) c_~maxc~0) (= (+ .cse454 .cse17) c_~maxc~0) (= c_~maxb~0 (select .cse455 (+ ~B~0.offset 4))))))) (not (= ~B~0.offset .cse28))))) .cse46)))))) is different from true