./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 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 16:48:46,550 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 16:48:46,590 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 16:48:46,594 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 16:48:46,594 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 16:48:46,612 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 16:48:46,612 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 16:48:46,612 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 16:48:46,613 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 16:48:46,613 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 16:48:46,613 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 16:48:46,613 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 16:48:46,613 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 16:48:46,613 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 16:48:46,613 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 16:48:46,614 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 16:48:46,614 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 16:48:46,615 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:48:46,615 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:48:46,615 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 16:48:46,615 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 16:48:46,616 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 16:48:46,616 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 16:48:46,616 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 16:48:46,616 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 16:48:46,616 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 16:48:46,616 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 16:48:46,616 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 [2025-01-09 16:48:46,807 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 16:48:46,813 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 16:48:46,815 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 16:48:46,816 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 16:48:46,816 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 16:48:46,817 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2025-01-09 16:48:47,935 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d42628206/87821ea38a404699be0f69bd6da11572/FLAG4a675c601 [2025-01-09 16:48:48,168 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 16:48:48,169 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2025-01-09 16:48:48,179 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d42628206/87821ea38a404699be0f69bd6da11572/FLAG4a675c601 [2025-01-09 16:48:48,189 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/d42628206/87821ea38a404699be0f69bd6da11572 [2025-01-09 16:48:48,192 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 16:48:48,193 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 16:48:48,194 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 16:48:48,194 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 16:48:48,198 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 16:48:48,198 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,199 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6071136a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48, skipping insertion in model container [2025-01-09 16:48:48,199 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,211 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 16:48:48,343 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c[2862,2875] [2025-01-09 16:48:48,354 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:48:48,366 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 16:48:48,388 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c[2862,2875] [2025-01-09 16:48:48,391 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 16:48:48,404 INFO L204 MainTranslator]: Completed translation [2025-01-09 16:48:48,405 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48 WrapperNode [2025-01-09 16:48:48,406 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 16:48:48,407 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 16:48:48,407 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 16:48:48,407 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 16:48:48,412 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,416 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,437 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 210 [2025-01-09 16:48:48,439 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 16:48:48,440 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 16:48:48,440 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 16:48:48,440 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 16:48:48,447 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,447 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,454 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,471 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2025-01-09 16:48:48,472 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,472 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,479 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,480 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,482 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,484 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,485 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,487 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 16:48:48,488 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 16:48:48,488 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 16:48:48,488 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 16:48:48,489 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (1/1) ... [2025-01-09 16:48:48,493 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 16:48:48,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:48,523 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 16:48:48,525 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 16:48:48,540 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2025-01-09 16:48:48,541 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2025-01-09 16:48:48,541 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2025-01-09 16:48:48,541 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2025-01-09 16:48:48,541 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-01-09 16:48:48,542 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 16:48:48,542 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 16:48:48,542 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-01-09 16:48:48,542 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-01-09 16:48:48,543 WARN L203 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-01-09 16:48:48,628 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 16:48:48,630 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 16:48:48,948 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-01-09 16:48:48,949 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 16:48:49,210 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 16:48:49,211 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-01-09 16:48:49,212 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:48:49 BoogieIcfgContainer [2025-01-09 16:48:49,212 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 16:48:49,213 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 16:48:49,213 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 16:48:49,216 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 16:48:49,216 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 04:48:48" (1/3) ... [2025-01-09 16:48:49,217 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58105e3b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:48:49, skipping insertion in model container [2025-01-09 16:48:49,217 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 04:48:48" (2/3) ... [2025-01-09 16:48:49,218 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58105e3b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 04:48:49, skipping insertion in model container [2025-01-09 16:48:49,218 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 04:48:49" (3/3) ... [2025-01-09 16:48:49,219 INFO L128 eAbstractionObserver]: Analyzing ICFG popl20-three-array-max.wvr.c [2025-01-09 16:48:49,229 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 16:48:49,232 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG popl20-three-array-max.wvr.c that has 4 procedures, 33 locations, 1 initial locations, 6 loop locations, and 1 error locations. [2025-01-09 16:48:49,232 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-01-09 16:48:49,274 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2025-01-09 16:48:49,299 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2025-01-09 16:48:49,327 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2025-01-09 16:48:49,329 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-01-09 16:48:49,332 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 7/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 43 event pairs, 0 based on Foata normal form. 0/28 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2025-01-09 16:48:49,334 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2025-01-09 16:48:49,336 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2025-01-09 16:48:49,347 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 16:48:49,359 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;@5f8959d5, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 16:48:49,359 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2025-01-09 16:48:49,372 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-01-09 16:48:49,373 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2025-01-09 16:48:49,373 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2025-01-09 16:48:49,373 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:49,374 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:49,374 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:49,378 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:49,378 INFO L85 PathProgramCache]: Analyzing trace with hash -727016227, now seen corresponding path program 1 times [2025-01-09 16:48:49,383 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:49,383 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [379061130] [2025-01-09 16:48:49,384 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:49,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:49,452 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 21 statements into 1 equivalence classes. [2025-01-09 16:48:49,505 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 21 of 21 statements. [2025-01-09 16:48:49,510 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:49,510 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:49,845 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 16:48:49,846 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:49,846 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [379061130] [2025-01-09 16:48:49,846 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [379061130] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:49,846 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:49,849 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 16:48:49,851 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1355090044] [2025-01-09 16:48:49,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:49,855 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 16:48:49,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:49,873 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 16:48:49,874 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 16:48:49,876 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:49,878 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 35 transitions, 88 flow. Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:49,878 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:49,878 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:49,879 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:50,014 INFO L124 PetriNetUnfolderBase]: 362/620 cut-off events. [2025-01-09 16:48:50,014 INFO L125 PetriNetUnfolderBase]: For 53/53 co-relation queries the response was YES. [2025-01-09 16:48:50,019 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1171 conditions, 620 events. 362/620 cut-off events. For 53/53 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 2528 event pairs, 230 based on Foata normal form. 0/543 useless extension candidates. Maximal degree in co-relation 993. Up to 492 conditions per place. [2025-01-09 16:48:50,024 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 27 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2025-01-09 16:48:50,024 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 148 flow [2025-01-09 16:48:50,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 16:48:50,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 16:48:50,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2025-01-09 16:48:50,038 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5128205128205128 [2025-01-09 16:48:50,043 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 60 transitions. [2025-01-09 16:48:50,044 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 148 flow [2025-01-09 16:48:50,047 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 136 flow, removed 0 selfloop flow, removed 6 redundant places. [2025-01-09 16:48:50,049 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2025-01-09 16:48:50,050 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=76, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=88, PETRI_PLACES=35, PETRI_TRANSITIONS=36} [2025-01-09 16:48:50,052 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2025-01-09 16:48:50,053 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2025-01-09 16:48:50,053 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:50,053 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:50,053 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:50,053 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-01-09 16:48:50,054 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:50,054 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:50,054 INFO L85 PathProgramCache]: Analyzing trace with hash 1912487508, now seen corresponding path program 1 times [2025-01-09 16:48:50,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:50,054 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [928497828] [2025-01-09 16:48:50,054 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:50,055 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:50,068 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-01-09 16:48:50,092 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-01-09 16:48:50,095 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:50,096 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:50,253 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-01-09 16:48:50,253 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:50,253 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [928497828] [2025-01-09 16:48:50,254 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [928497828] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:50,254 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:50,254 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-09 16:48:50,254 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1333218402] [2025-01-09 16:48:50,254 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:50,255 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-01-09 16:48:50,255 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:50,255 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-09 16:48:50,257 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-01-09 16:48:50,263 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:50,264 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 36 transitions, 88 flow. Second operand has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:50,264 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:50,264 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:50,264 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:50,384 INFO L124 PetriNetUnfolderBase]: 362/622 cut-off events. [2025-01-09 16:48:50,385 INFO L125 PetriNetUnfolderBase]: For 13/13 co-relation queries the response was YES. [2025-01-09 16:48:50,387 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1141 conditions, 622 events. 362/622 cut-off events. For 13/13 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 2531 event pairs, 230 based on Foata normal form. 0/545 useless extension candidates. Maximal degree in co-relation 1130. Up to 491 conditions per place. [2025-01-09 16:48:50,390 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 25 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2025-01-09 16:48:50,390 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 154 flow [2025-01-09 16:48:50,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-09 16:48:50,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2025-01-09 16:48:50,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2025-01-09 16:48:50,393 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.46794871794871795 [2025-01-09 16:48:50,393 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 73 transitions. [2025-01-09 16:48:50,393 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 154 flow [2025-01-09 16:48:50,393 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 150 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-01-09 16:48:50,395 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2025-01-09 16:48:50,395 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=84, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=30, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=112, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2025-01-09 16:48:50,396 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2025-01-09 16:48:50,396 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2025-01-09 16:48:50,396 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:50,396 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:50,397 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:50,397 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 16:48:50,397 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:50,397 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:50,398 INFO L85 PathProgramCache]: Analyzing trace with hash 1193834370, now seen corresponding path program 1 times [2025-01-09 16:48:50,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:50,398 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1410211984] [2025-01-09 16:48:50,398 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:50,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:50,408 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 24 statements into 1 equivalence classes. [2025-01-09 16:48:50,419 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 24 of 24 statements. [2025-01-09 16:48:50,420 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:50,420 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:50,495 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2025-01-09 16:48:50,495 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:50,495 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1410211984] [2025-01-09 16:48:50,495 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1410211984] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:50,495 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:50,496 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-09 16:48:50,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [320963775] [2025-01-09 16:48:50,496 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:50,496 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 16:48:50,496 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:50,496 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 16:48:50,496 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 16:48:50,497 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:50,497 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:50,497 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:50,497 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:50,497 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:50,615 INFO L124 PetriNetUnfolderBase]: 525/955 cut-off events. [2025-01-09 16:48:50,615 INFO L125 PetriNetUnfolderBase]: For 23/23 co-relation queries the response was YES. [2025-01-09 16:48:50,617 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1677 conditions, 955 events. 525/955 cut-off events. For 23/23 co-relation queries the response was YES. Maximal size of possible extension queue 44. Compared 4330 event pairs, 172 based on Foata normal form. 1/836 useless extension candidates. Maximal degree in co-relation 1657. Up to 361 conditions per place. [2025-01-09 16:48:50,620 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 40 selfloop transitions, 2 changer transitions 2/51 dead transitions. [2025-01-09 16:48:50,620 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 51 transitions, 229 flow [2025-01-09 16:48:50,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 16:48:50,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 16:48:50,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2025-01-09 16:48:50,622 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6153846153846154 [2025-01-09 16:48:50,622 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 72 transitions. [2025-01-09 16:48:50,622 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 51 transitions, 229 flow [2025-01-09 16:48:50,622 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 51 transitions, 228 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-01-09 16:48:50,623 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2025-01-09 16:48:50,623 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=111, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=123, PETRI_PLACES=40, PETRI_TRANSITIONS=39} [2025-01-09 16:48:50,624 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2025-01-09 16:48:50,624 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2025-01-09 16:48:50,624 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:50,624 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:50,624 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:50,624 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-01-09 16:48:50,625 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:50,625 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:50,625 INFO L85 PathProgramCache]: Analyzing trace with hash -377353499, now seen corresponding path program 1 times [2025-01-09 16:48:50,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:50,625 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [76046924] [2025-01-09 16:48:50,625 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:50,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:50,636 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-01-09 16:48:50,647 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-01-09 16:48:50,647 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:50,647 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:50,763 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-01-09 16:48:50,763 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:50,763 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [76046924] [2025-01-09 16:48:50,763 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [76046924] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:50,763 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [169043470] [2025-01-09 16:48:50,763 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:50,763 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:50,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:50,765 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:50,767 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-01-09 16:48:50,821 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-01-09 16:48:50,850 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-01-09 16:48:50,851 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:50,851 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:50,853 INFO L256 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-09 16:48:50,856 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:50,921 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-01-09 16:48:50,921 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 16:48:50,975 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-01-09 16:48:50,976 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [169043470] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-09 16:48:50,976 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-09 16:48:50,976 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2025-01-09 16:48:50,976 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1795078716] [2025-01-09 16:48:50,976 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-09 16:48:50,976 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2025-01-09 16:48:50,977 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:50,977 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-01-09 16:48:50,977 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=0, NotChecked=0, Total=132 [2025-01-09 16:48:50,996 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:50,997 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 39 transitions, 123 flow. Second operand has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:50,997 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:50,997 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:50,997 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:51,326 INFO L124 PetriNetUnfolderBase]: 901/1464 cut-off events. [2025-01-09 16:48:51,326 INFO L125 PetriNetUnfolderBase]: For 101/101 co-relation queries the response was YES. [2025-01-09 16:48:51,330 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2874 conditions, 1464 events. 901/1464 cut-off events. For 101/101 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 6165 event pairs, 398 based on Foata normal form. 0/1234 useless extension candidates. Maximal degree in co-relation 2092. Up to 681 conditions per place. [2025-01-09 16:48:51,334 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 36 selfloop transitions, 10 changer transitions 41/93 dead transitions. [2025-01-09 16:48:51,334 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 49 places, 93 transitions, 455 flow [2025-01-09 16:48:51,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-09 16:48:51,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2025-01-09 16:48:51,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 177 transitions. [2025-01-09 16:48:51,340 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.45384615384615384 [2025-01-09 16:48:51,340 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 10 states and 177 transitions. [2025-01-09 16:48:51,340 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 49 places, 93 transitions, 455 flow [2025-01-09 16:48:51,341 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 48 places, 93 transitions, 453 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-01-09 16:48:51,341 INFO L231 Difference]: Finished difference. Result has 53 places, 42 transitions, 179 flow [2025-01-09 16:48:51,342 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=121, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=10, PETRI_FLOW=179, PETRI_PLACES=53, PETRI_TRANSITIONS=42} [2025-01-09 16:48:51,342 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 15 predicate places. [2025-01-09 16:48:51,342 INFO L471 AbstractCegarLoop]: Abstraction has has 53 places, 42 transitions, 179 flow [2025-01-09 16:48:51,342 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:51,342 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:51,342 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:51,351 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-01-09 16:48:51,549 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:51,549 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:51,550 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:51,550 INFO L85 PathProgramCache]: Analyzing trace with hash 616723040, now seen corresponding path program 2 times [2025-01-09 16:48:51,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:51,551 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1889581810] [2025-01-09 16:48:51,551 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-09 16:48:51,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:51,567 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:51,578 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 27 of 33 statements. [2025-01-09 16:48:51,579 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-09 16:48:51,579 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:51,645 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-01-09 16:48:51,645 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:51,645 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1889581810] [2025-01-09 16:48:51,645 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1889581810] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:51,646 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:51,646 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 16:48:51,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1982131909] [2025-01-09 16:48:51,646 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:51,646 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:48:51,646 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:51,647 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:48:51,647 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:48:51,655 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:51,655 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 42 transitions, 179 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:51,655 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:51,655 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:51,656 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:51,887 INFO L124 PetriNetUnfolderBase]: 1119/1772 cut-off events. [2025-01-09 16:48:51,887 INFO L125 PetriNetUnfolderBase]: For 353/353 co-relation queries the response was YES. [2025-01-09 16:48:51,893 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3773 conditions, 1772 events. 1119/1772 cut-off events. For 353/353 co-relation queries the response was YES. Maximal size of possible extension queue 79. Compared 8504 event pairs, 442 based on Foata normal form. 13/1577 useless extension candidates. Maximal degree in co-relation 3737. Up to 886 conditions per place. [2025-01-09 16:48:51,899 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 64 selfloop transitions, 3 changer transitions 14/87 dead transitions. [2025-01-09 16:48:51,899 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 87 transitions, 465 flow [2025-01-09 16:48:51,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-09 16:48:51,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-01-09 16:48:51,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2025-01-09 16:48:51,900 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6051282051282051 [2025-01-09 16:48:51,900 INFO L175 Difference]: Start difference. First operand has 53 places, 42 transitions, 179 flow. Second operand 5 states and 118 transitions. [2025-01-09 16:48:51,900 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 87 transitions, 465 flow [2025-01-09 16:48:51,908 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 87 transitions, 433 flow, removed 13 selfloop flow, removed 5 redundant places. [2025-01-09 16:48:51,909 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2025-01-09 16:48:51,909 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=177, PETRI_PLACES=50, PETRI_TRANSITIONS=44} [2025-01-09 16:48:51,909 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2025-01-09 16:48:51,909 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2025-01-09 16:48:51,910 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:51,910 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:51,910 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:51,910 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-01-09 16:48:51,910 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:51,910 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:51,910 INFO L85 PathProgramCache]: Analyzing trace with hash -877006102, now seen corresponding path program 3 times [2025-01-09 16:48:51,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:51,910 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [374831074] [2025-01-09 16:48:51,910 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-09 16:48:51,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:51,923 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:51,947 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-01-09 16:48:51,947 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-01-09 16:48:51,947 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:52,017 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-01-09 16:48:52,017 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:52,017 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [374831074] [2025-01-09 16:48:52,017 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [374831074] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:52,017 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:52,017 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 16:48:52,017 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [642068088] [2025-01-09 16:48:52,017 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:52,017 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:48:52,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:52,018 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:48:52,018 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:48:52,025 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:52,025 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 44 transitions, 177 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:52,025 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:52,025 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:52,025 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:52,331 INFO L124 PetriNetUnfolderBase]: 1889/3083 cut-off events. [2025-01-09 16:48:52,331 INFO L125 PetriNetUnfolderBase]: For 1712/1712 co-relation queries the response was YES. [2025-01-09 16:48:52,337 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7346 conditions, 3083 events. 1889/3083 cut-off events. For 1712/1712 co-relation queries the response was YES. Maximal size of possible extension queue 125. Compared 16583 event pairs, 746 based on Foata normal form. 14/2859 useless extension candidates. Maximal degree in co-relation 7313. Up to 1492 conditions per place. [2025-01-09 16:48:52,347 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 68 selfloop transitions, 3 changer transitions 13/90 dead transitions. [2025-01-09 16:48:52,347 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 90 transitions, 512 flow [2025-01-09 16:48:52,348 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-09 16:48:52,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2025-01-09 16:48:52,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2025-01-09 16:48:52,349 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5794871794871795 [2025-01-09 16:48:52,350 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 113 transitions. [2025-01-09 16:48:52,350 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 90 transitions, 512 flow [2025-01-09 16:48:52,359 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 90 transitions, 490 flow, removed 7 selfloop flow, removed 2 redundant places. [2025-01-09 16:48:52,361 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2025-01-09 16:48:52,361 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=171, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=193, PETRI_PLACES=54, PETRI_TRANSITIONS=46} [2025-01-09 16:48:52,362 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2025-01-09 16:48:52,362 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2025-01-09 16:48:52,363 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:52,363 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:52,363 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:52,363 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-01-09 16:48:52,363 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:52,363 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:52,363 INFO L85 PathProgramCache]: Analyzing trace with hash -294173892, now seen corresponding path program 4 times [2025-01-09 16:48:52,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:52,364 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [106761025] [2025-01-09 16:48:52,364 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-09 16:48:52,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:52,379 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:52,381 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 21 of 33 statements. [2025-01-09 16:48:52,382 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-09 16:48:52,382 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:52,407 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2025-01-09 16:48:52,408 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:52,408 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [106761025] [2025-01-09 16:48:52,408 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [106761025] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 16:48:52,409 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 16:48:52,409 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 16:48:52,409 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [812758300] [2025-01-09 16:48:52,409 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:52,409 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 16:48:52,409 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:52,409 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 16:48:52,409 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-09 16:48:52,420 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:52,420 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 46 transitions, 193 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:52,420 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:52,420 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:52,420 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:52,841 INFO L124 PetriNetUnfolderBase]: 2519/4029 cut-off events. [2025-01-09 16:48:52,842 INFO L125 PetriNetUnfolderBase]: For 2753/2753 co-relation queries the response was YES. [2025-01-09 16:48:52,850 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10217 conditions, 4029 events. 2519/4029 cut-off events. For 2753/2753 co-relation queries the response was YES. Maximal size of possible extension queue 171. Compared 22572 event pairs, 888 based on Foata normal form. 46/3725 useless extension candidates. Maximal degree in co-relation 10182. Up to 1714 conditions per place. [2025-01-09 16:48:52,863 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 98 selfloop transitions, 16 changer transitions 0/120 dead transitions. [2025-01-09 16:48:52,863 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 120 transitions, 705 flow [2025-01-09 16:48:52,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-01-09 16:48:52,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2025-01-09 16:48:52,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2025-01-09 16:48:52,864 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5224358974358975 [2025-01-09 16:48:52,864 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 163 transitions. [2025-01-09 16:48:52,864 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 120 transitions, 705 flow [2025-01-09 16:48:52,871 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 120 transitions, 685 flow, removed 3 selfloop flow, removed 2 redundant places. [2025-01-09 16:48:52,872 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2025-01-09 16:48:52,872 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=189, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=301, PETRI_PLACES=61, PETRI_TRANSITIONS=59} [2025-01-09 16:48:52,872 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2025-01-09 16:48:52,872 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2025-01-09 16:48:52,873 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:52,873 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:52,873 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:52,873 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-01-09 16:48:52,873 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:52,873 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:52,874 INFO L85 PathProgramCache]: Analyzing trace with hash -1495924598, now seen corresponding path program 5 times [2025-01-09 16:48:52,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:52,874 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2140680062] [2025-01-09 16:48:52,874 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-09 16:48:52,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:52,883 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:52,891 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-01-09 16:48:52,892 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-09 16:48:52,892 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:52,997 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-09 16:48:52,997 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:52,997 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2140680062] [2025-01-09 16:48:52,997 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2140680062] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:52,997 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1598872671] [2025-01-09 16:48:52,998 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-09 16:48:52,998 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:52,998 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:53,001 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:53,004 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-01-09 16:48:53,076 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 33 statements into 2 equivalence classes. [2025-01-09 16:48:53,110 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 33 of 33 statements. [2025-01-09 16:48:53,110 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-09 16:48:53,110 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:53,111 INFO L256 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-09 16:48:53,112 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:53,184 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-09 16:48:53,186 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 16:48:53,250 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-09 16:48:53,251 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1598872671] provided 1 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:53,251 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-01-09 16:48:53,251 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-01-09 16:48:53,251 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [349983847] [2025-01-09 16:48:53,251 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:53,251 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-01-09 16:48:53,251 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:53,252 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-09 16:48:53,252 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2025-01-09 16:48:53,262 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2025-01-09 16:48:53,262 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 flow. Second operand has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:53,262 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:53,262 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2025-01-09 16:48:53,262 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:53,460 INFO L124 PetriNetUnfolderBase]: 1473/2440 cut-off events. [2025-01-09 16:48:53,460 INFO L125 PetriNetUnfolderBase]: For 4093/4187 co-relation queries the response was YES. [2025-01-09 16:48:53,465 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6917 conditions, 2440 events. 1473/2440 cut-off events. For 4093/4187 co-relation queries the response was YES. Maximal size of possible extension queue 116. Compared 12903 event pairs, 658 based on Foata normal form. 258/2547 useless extension candidates. Maximal degree in co-relation 6880. Up to 1473 conditions per place. [2025-01-09 16:48:53,471 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 52 selfloop transitions, 9 changer transitions 0/68 dead transitions. [2025-01-09 16:48:53,471 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 68 transitions, 427 flow [2025-01-09 16:48:53,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 16:48:53,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 16:48:53,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 105 transitions. [2025-01-09 16:48:53,472 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2025-01-09 16:48:53,472 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 6 states and 105 transitions. [2025-01-09 16:48:53,472 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 68 transitions, 427 flow [2025-01-09 16:48:53,477 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 63 places, 68 transitions, 417 flow, removed 2 selfloop flow, removed 2 redundant places. [2025-01-09 16:48:53,478 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 267 flow [2025-01-09 16:48:53,478 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=249, PETRI_DIFFERENCE_MINUEND_PLACES=58, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=54, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=9, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=45, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=267, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-01-09 16:48:53,478 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-01-09 16:48:53,478 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 267 flow [2025-01-09 16:48:53,479 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:53,479 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:53,479 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:53,484 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-01-09 16:48:53,679 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:53,680 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:53,680 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:53,680 INFO L85 PathProgramCache]: Analyzing trace with hash 687205520, now seen corresponding path program 1 times [2025-01-09 16:48:53,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:53,681 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1844853009] [2025-01-09 16:48:53,681 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:53,681 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:53,698 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-01-09 16:48:53,705 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-01-09 16:48:53,705 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:53,705 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:53,836 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-01-09 16:48:53,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:53,836 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1844853009] [2025-01-09 16:48:53,836 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1844853009] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:53,836 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1464151136] [2025-01-09 16:48:53,836 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:53,836 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:53,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:53,838 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:53,840 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-01-09 16:48:53,911 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-01-09 16:48:53,937 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-01-09 16:48:53,938 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:53,938 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:53,939 INFO L256 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-09 16:48:53,940 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:54,004 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-01-09 16:48:54,004 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-09 16:48:54,063 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-01-09 16:48:54,063 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1464151136] provided 1 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:54,063 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2025-01-09 16:48:54,063 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2025-01-09 16:48:54,064 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [629110082] [2025-01-09 16:48:54,064 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 16:48:54,064 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2025-01-09 16:48:54,064 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 16:48:54,064 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-09 16:48:54,064 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2025-01-09 16:48:54,070 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2025-01-09 16:48:54,071 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 63 places, 54 transitions, 267 flow. Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:54,071 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 16:48:54,071 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2025-01-09 16:48:54,071 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 16:48:54,318 INFO L124 PetriNetUnfolderBase]: 1693/2582 cut-off events. [2025-01-09 16:48:54,318 INFO L125 PetriNetUnfolderBase]: For 3859/3915 co-relation queries the response was YES. [2025-01-09 16:48:54,327 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7692 conditions, 2582 events. 1693/2582 cut-off events. For 3859/3915 co-relation queries the response was YES. Maximal size of possible extension queue 104. Compared 12176 event pairs, 377 based on Foata normal form. 92/2511 useless extension candidates. Maximal degree in co-relation 7652. Up to 1466 conditions per place. [2025-01-09 16:48:54,338 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 63 selfloop transitions, 7 changer transitions 0/76 dead transitions. [2025-01-09 16:48:54,338 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 67 places, 76 transitions, 523 flow [2025-01-09 16:48:54,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 16:48:54,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 16:48:54,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 98 transitions. [2025-01-09 16:48:54,340 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.4188034188034188 [2025-01-09 16:48:54,340 INFO L175 Difference]: Start difference. First operand has 63 places, 54 transitions, 267 flow. Second operand 6 states and 98 transitions. [2025-01-09 16:48:54,340 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 67 places, 76 transitions, 523 flow [2025-01-09 16:48:54,353 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 62 places, 76 transitions, 485 flow, removed 5 selfloop flow, removed 5 redundant places. [2025-01-09 16:48:54,354 INFO L231 Difference]: Finished difference. Result has 63 places, 54 transitions, 262 flow [2025-01-09 16:48:54,354 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=239, PETRI_DIFFERENCE_MINUEND_PLACES=57, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=53, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=262, PETRI_PLACES=63, PETRI_TRANSITIONS=54} [2025-01-09 16:48:54,355 INFO L279 CegarLoopForPetriNet]: 38 programPoint places, 25 predicate places. [2025-01-09 16:48:54,355 INFO L471 AbstractCegarLoop]: Abstraction has has 63 places, 54 transitions, 262 flow [2025-01-09 16:48:54,355 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 16:48:54,355 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 16:48:54,355 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 16:48:54,369 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2025-01-09 16:48:54,556 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:54,556 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2025-01-09 16:48:54,560 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 16:48:54,560 INFO L85 PathProgramCache]: Analyzing trace with hash -615114683, now seen corresponding path program 1 times [2025-01-09 16:48:54,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 16:48:54,560 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [783507454] [2025-01-09 16:48:54,560 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:54,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 16:48:54,577 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-01-09 16:48:54,659 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-01-09 16:48:54,659 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:54,659 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:56,516 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-01-09 16:48:56,516 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 16:48:56,516 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [783507454] [2025-01-09 16:48:56,516 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [783507454] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 16:48:56,517 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1534740254] [2025-01-09 16:48:56,517 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 16:48:56,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 16:48:56,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 16:48:56,519 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 16:48:56,522 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-01-09 16:48:56,580 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-01-09 16:48:56,609 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-01-09 16:48:56,609 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 16:48:56,609 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 16:48:56,611 INFO L256 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 25 conjuncts are in the unsatisfiable core [2025-01-09 16:48:56,613 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 16:48:57,008 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2025-01-09 16:48:57,009 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 [2025-01-09 16:49:10,615 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