./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 803cd42f Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.dk.eval-assert-order-craig-803cd42-m [2024-11-22 13:53:56,993 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-22 13:53:57,064 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-11-22 13:53:57,070 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-22 13:53:57,071 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-22 13:53:57,100 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-22 13:53:57,102 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-22 13:53:57,102 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-22 13:53:57,103 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-22 13:53:57,104 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-22 13:53:57,104 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-11-22 13:53:57,105 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-11-22 13:53:57,105 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-22 13:53:57,105 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-22 13:53:57,107 INFO L153 SettingsManager]: * Use SBE=true [2024-11-22 13:53:57,107 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-22 13:53:57,107 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-11-22 13:53:57,108 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-22 13:53:57,108 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-22 13:53:57,108 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-22 13:53:57,108 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-22 13:53:57,109 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-11-22 13:53:57,112 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-11-22 13:53:57,112 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-11-22 13:53:57,112 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-22 13:53:57,112 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-22 13:53:57,112 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-22 13:53:57,113 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-22 13:53:57,113 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-22 13:53:57,113 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-22 13:53:57,113 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-11-22 13:53:57,113 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-11-22 13:53:57,114 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-22 13:53:57,114 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-22 13:53:57,114 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-11-22 13:53:57,114 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-11-22 13:53:57,114 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-22 13:53:57,115 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-11-22 13:53:57,115 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-11-22 13:53:57,115 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-11-22 13:53:57,116 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-11-22 13:53:57,117 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-11-22 13:53:57,117 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 670814d0a16da58b0f26835e20c05a244e2f373856f13b9d4ff2a931783edf81 [2024-11-22 13:53:57,330 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-22 13:53:57,348 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-22 13:53:57,351 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-22 13:53:57,352 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-22 13:53:57,352 INFO L274 PluginConnector]: CDTParser initialized [2024-11-22 13:53:57,353 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2024-11-22 13:53:58,673 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-22 13:53:58,808 INFO L384 CDTParser]: Found 1 translation units. [2024-11-22 13:53:58,808 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c [2024-11-22 13:53:58,817 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cfb7b20ca/c86c125791c9423396b9843d603036fb/FLAGb776e0b0e [2024-11-22 13:53:58,831 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cfb7b20ca/c86c125791c9423396b9843d603036fb [2024-11-22 13:53:58,833 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-22 13:53:58,835 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-22 13:53:58,840 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-22 13:53:58,840 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-22 13:53:58,844 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-22 13:53:58,845 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 01:53:58" (1/1) ... [2024-11-22 13:53:58,846 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3db6a026 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:58, skipping insertion in model container [2024-11-22 13:53:58,846 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 01:53:58" (1/1) ... [2024-11-22 13:53:58,864 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-22 13:53:59,110 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c[2862,2875] [2024-11-22 13:53:59,128 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-22 13:53:59,139 INFO L200 MainTranslator]: Completed pre-run [2024-11-22 13:53:59,164 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/popl20-three-array-max.wvr.c[2862,2875] [2024-11-22 13:53:59,169 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-22 13:53:59,182 INFO L204 MainTranslator]: Completed translation [2024-11-22 13:53:59,183 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59 WrapperNode [2024-11-22 13:53:59,184 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-22 13:53:59,184 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-22 13:53:59,187 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-22 13:53:59,187 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-22 13:53:59,202 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,209 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,231 INFO L138 Inliner]: procedures = 25, calls = 42, calls flagged for inlining = 14, calls inlined = 22, statements flattened = 222 [2024-11-22 13:53:59,252 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-22 13:53:59,253 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-22 13:53:59,253 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-22 13:53:59,253 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-22 13:53:59,264 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,264 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,267 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,282 INFO L175 MemorySlicer]: Split 18 memory accesses to 2 slices as follows [2, 16]. 89 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0]. The 4 writes are split as follows [0, 4]. [2024-11-22 13:53:59,283 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,283 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,291 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,295 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,296 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,311 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,313 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-22 13:53:59,315 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-22 13:53:59,315 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-22 13:53:59,315 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-22 13:53:59,315 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (1/1) ... [2024-11-22 13:53:59,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-11-22 13:53:59,333 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:53:59,349 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-11-22 13:53:59,351 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-11-22 13:53:59,383 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-22 13:53:59,383 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-11-22 13:53:59,383 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-11-22 13:53:59,384 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-11-22 13:53:59,384 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-22 13:53:59,384 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-22 13:53:59,384 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-22 13:53:59,385 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-22 13:53:59,386 WARN L207 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2024-11-22 13:53:59,466 INFO L238 CfgBuilder]: Building ICFG [2024-11-22 13:53:59,468 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-22 13:53:59,797 INFO L283 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2024-11-22 13:53:59,798 INFO L287 CfgBuilder]: Performing block encoding [2024-11-22 13:54:00,039 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-22 13:54:00,041 INFO L316 CfgBuilder]: Removed 6 assume(true) statements. [2024-11-22 13:54:00,041 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 01:54:00 BoogieIcfgContainer [2024-11-22 13:54:00,042 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-22 13:54:00,044 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-11-22 13:54:00,045 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-11-22 13:54:00,048 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-11-22 13:54:00,049 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 01:53:58" (1/3) ... [2024-11-22 13:54:00,050 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4fe70105 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 01:54:00, skipping insertion in model container [2024-11-22 13:54:00,050 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 01:53:59" (2/3) ... [2024-11-22 13:54:00,050 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4fe70105 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 01:54:00, skipping insertion in model container [2024-11-22 13:54:00,050 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 01:54:00" (3/3) ... [2024-11-22 13:54:00,051 INFO L112 eAbstractionObserver]: Analyzing ICFG popl20-three-array-max.wvr.c [2024-11-22 13:54:00,065 INFO L214 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-11-22 13:54:00,065 INFO L154 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2024-11-22 13:54:00,065 INFO L489 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-11-22 13:54:00,149 INFO L143 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-11-22 13:54:00,180 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 42 places, 39 transitions, 99 flow [2024-11-22 13:54:00,206 INFO L124 PetriNetUnfolderBase]: 7/36 cut-off events. [2024-11-22 13:54:00,206 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-22 13:54:00,209 INFO L83 FinitePrefix]: Finished finitePrefix Result has 49 conditions, 36 events. 7/36 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 4. Compared 43 event pairs, 0 based on Foata normal form. 0/28 useless extension candidates. Maximal degree in co-relation 26. Up to 2 conditions per place. [2024-11-22 13:54:00,210 INFO L82 GeneralOperation]: Start removeDead. Operand has 42 places, 39 transitions, 99 flow [2024-11-22 13:54:00,212 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 38 places, 35 transitions, 88 flow [2024-11-22 13:54:00,221 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-11-22 13:54:00,227 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;@6e071081, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-11-22 13:54:00,228 INFO L334 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2024-11-22 13:54:00,235 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-11-22 13:54:00,236 INFO L124 PetriNetUnfolderBase]: 7/34 cut-off events. [2024-11-22 13:54:00,236 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-11-22 13:54:00,236 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:00,237 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:00,237 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:00,241 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:00,241 INFO L85 PathProgramCache]: Analyzing trace with hash 618773252, now seen corresponding path program 1 times [2024-11-22 13:54:00,247 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:00,248 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1616957568] [2024-11-22 13:54:00,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:00,248 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:00,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:00,584 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-22 13:54:00,585 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:00,585 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1616957568] [2024-11-22 13:54:00,586 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1616957568] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:00,586 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:54:00,586 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-22 13:54:00,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [206659712] [2024-11-22 13:54:00,588 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:00,594 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-22 13:54:00,598 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:00,615 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-22 13:54:00,615 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-22 13:54:00,616 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-22 13:54:00,618 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 35 transitions, 88 flow. Second operand has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:00,618 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:00,618 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-22 13:54:00,619 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:00,760 INFO L124 PetriNetUnfolderBase]: 378/600 cut-off events. [2024-11-22 13:54:00,760 INFO L125 PetriNetUnfolderBase]: For 49/49 co-relation queries the response was YES. [2024-11-22 13:54:00,763 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1183 conditions, 600 events. 378/600 cut-off events. For 49/49 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 2170 event pairs, 251 based on Foata normal form. 0/519 useless extension candidates. Maximal degree in co-relation 993. Up to 520 conditions per place. [2024-11-22 13:54:00,766 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 27 selfloop transitions, 2 changer transitions 0/36 dead transitions. [2024-11-22 13:54:00,767 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 36 transitions, 148 flow [2024-11-22 13:54:00,768 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-22 13:54:00,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-22 13:54:00,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2024-11-22 13:54:00,776 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5128205128205128 [2024-11-22 13:54:00,777 INFO L175 Difference]: Start difference. First operand has 38 places, 35 transitions, 88 flow. Second operand 3 states and 60 transitions. [2024-11-22 13:54:00,778 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 36 transitions, 148 flow [2024-11-22 13:54:00,780 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 34 places, 36 transitions, 136 flow, removed 0 selfloop flow, removed 6 redundant places. [2024-11-22 13:54:00,782 INFO L231 Difference]: Finished difference. Result has 35 places, 36 transitions, 88 flow [2024-11-22 13:54:00,783 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=76, PETRI_DIFFERENCE_MINUEND_PLACES=32, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=35, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=33, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=88, PETRI_PLACES=35, PETRI_TRANSITIONS=36} [2024-11-22 13:54:00,787 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, -3 predicate places. [2024-11-22 13:54:00,788 INFO L471 AbstractCegarLoop]: Abstraction has has 35 places, 36 transitions, 88 flow [2024-11-22 13:54:00,788 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 16.666666666666668) internal successors, (50), 3 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:00,788 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:00,788 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:00,789 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-11-22 13:54:00,789 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:00,790 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:00,790 INFO L85 PathProgramCache]: Analyzing trace with hash -1165415527, now seen corresponding path program 1 times [2024-11-22 13:54:00,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:00,791 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [921089700] [2024-11-22 13:54:00,791 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:00,791 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:00,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:00,940 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2024-11-22 13:54:00,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:00,941 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [921089700] [2024-11-22 13:54:00,941 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [921089700] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:00,941 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:54:00,941 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-22 13:54:00,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1369202360] [2024-11-22 13:54:00,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:00,943 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2024-11-22 13:54:00,943 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:00,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-22 13:54:00,944 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-22 13:54:00,953 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-22 13:54:00,953 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 35 places, 36 transitions, 88 flow. Second operand has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:00,954 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:00,954 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-22 13:54:00,954 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:01,109 INFO L124 PetriNetUnfolderBase]: 378/602 cut-off events. [2024-11-22 13:54:01,110 INFO L125 PetriNetUnfolderBase]: For 9/9 co-relation queries the response was YES. [2024-11-22 13:54:01,112 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1149 conditions, 602 events. 378/602 cut-off events. For 9/9 co-relation queries the response was YES. Maximal size of possible extension queue 36. Compared 2153 event pairs, 251 based on Foata normal form. 0/521 useless extension candidates. Maximal degree in co-relation 1138. Up to 519 conditions per place. [2024-11-22 13:54:01,115 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 25 selfloop transitions, 6 changer transitions 0/38 dead transitions. [2024-11-22 13:54:01,115 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 38 places, 38 transitions, 154 flow [2024-11-22 13:54:01,116 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-22 13:54:01,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2024-11-22 13:54:01,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2024-11-22 13:54:01,117 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.46794871794871795 [2024-11-22 13:54:01,117 INFO L175 Difference]: Start difference. First operand has 35 places, 36 transitions, 88 flow. Second operand 4 states and 73 transitions. [2024-11-22 13:54:01,117 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 38 places, 38 transitions, 154 flow [2024-11-22 13:54:01,118 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 37 places, 38 transitions, 150 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-11-22 13:54:01,119 INFO L231 Difference]: Finished difference. Result has 38 places, 38 transitions, 112 flow [2024-11-22 13:54:01,119 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=84, PETRI_DIFFERENCE_MINUEND_PLACES=34, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=36, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=30, PETRI_DIFFERENCE_SUBTRAHEND_STATES=4, PETRI_FLOW=112, PETRI_PLACES=38, PETRI_TRANSITIONS=38} [2024-11-22 13:54:01,120 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 0 predicate places. [2024-11-22 13:54:01,121 INFO L471 AbstractCegarLoop]: Abstraction has has 38 places, 38 transitions, 112 flow [2024-11-22 13:54:01,121 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:01,122 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:01,122 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:01,122 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-11-22 13:54:01,122 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:01,123 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:01,124 INFO L85 PathProgramCache]: Analyzing trace with hash -2009133342, now seen corresponding path program 1 times [2024-11-22 13:54:01,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:01,125 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2105487524] [2024-11-22 13:54:01,125 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:01,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:01,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:01,265 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2024-11-22 13:54:01,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:01,265 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2105487524] [2024-11-22 13:54:01,266 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2105487524] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:01,266 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:54:01,266 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-22 13:54:01,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1039523085] [2024-11-22 13:54:01,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:01,267 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-11-22 13:54:01,267 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:01,267 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-22 13:54:01,267 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-22 13:54:01,267 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-22 13:54:01,268 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 38 places, 38 transitions, 112 flow. Second operand has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:01,268 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:01,268 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-22 13:54:01,268 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:01,371 INFO L124 PetriNetUnfolderBase]: 513/895 cut-off events. [2024-11-22 13:54:01,371 INFO L125 PetriNetUnfolderBase]: For 19/19 co-relation queries the response was YES. [2024-11-22 13:54:01,373 INFO L83 FinitePrefix]: Finished finitePrefix Result has 1617 conditions, 895 events. 513/895 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 40. Compared 3746 event pairs, 172 based on Foata normal form. 1/776 useless extension candidates. Maximal degree in co-relation 1597. Up to 361 conditions per place. [2024-11-22 13:54:01,375 INFO L140 encePairwiseOnDemand]: 36/39 looper letters, 40 selfloop transitions, 2 changer transitions 2/51 dead transitions. [2024-11-22 13:54:01,376 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 40 places, 51 transitions, 229 flow [2024-11-22 13:54:01,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-22 13:54:01,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-11-22 13:54:01,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2024-11-22 13:54:01,377 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6153846153846154 [2024-11-22 13:54:01,377 INFO L175 Difference]: Start difference. First operand has 38 places, 38 transitions, 112 flow. Second operand 3 states and 72 transitions. [2024-11-22 13:54:01,377 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 40 places, 51 transitions, 229 flow [2024-11-22 13:54:01,378 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 39 places, 51 transitions, 228 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-22 13:54:01,379 INFO L231 Difference]: Finished difference. Result has 40 places, 39 transitions, 123 flow [2024-11-22 13:54:01,379 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=111, PETRI_DIFFERENCE_MINUEND_PLACES=37, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=38, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=36, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=123, PETRI_PLACES=40, PETRI_TRANSITIONS=39} [2024-11-22 13:54:01,379 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 2 predicate places. [2024-11-22 13:54:01,380 INFO L471 AbstractCegarLoop]: Abstraction has has 40 places, 39 transitions, 123 flow [2024-11-22 13:54:01,380 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 17.666666666666668) internal successors, (53), 3 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:01,380 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:01,380 INFO L204 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:01,380 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2024-11-22 13:54:01,380 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:01,381 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:01,381 INFO L85 PathProgramCache]: Analyzing trace with hash 2082098651, now seen corresponding path program 1 times [2024-11-22 13:54:01,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:01,381 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1931543262] [2024-11-22 13:54:01,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:01,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:01,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:01,533 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-22 13:54:01,533 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:01,533 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1931543262] [2024-11-22 13:54:01,534 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1931543262] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-22 13:54:01,534 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [456259987] [2024-11-22 13:54:01,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:01,534 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:01,534 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:54:01,537 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-22 13:54:01,538 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-22 13:54:01,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:01,641 INFO L255 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-22 13:54:01,646 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-22 13:54:01,736 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-22 13:54:01,737 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-22 13:54:01,824 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-22 13:54:01,825 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [456259987] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-22 13:54:01,826 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-22 13:54:01,826 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 11 [2024-11-22 13:54:01,826 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1950444847] [2024-11-22 13:54:01,826 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-22 13:54:01,827 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2024-11-22 13:54:01,827 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:01,827 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2024-11-22 13:54:01,828 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=88, Unknown=0, NotChecked=0, Total=132 [2024-11-22 13:54:01,859 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-22 13:54:01,859 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 40 places, 39 transitions, 123 flow. Second operand has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:01,860 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:01,860 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-22 13:54:01,860 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:02,127 INFO L124 PetriNetUnfolderBase]: 899/1460 cut-off events. [2024-11-22 13:54:02,127 INFO L125 PetriNetUnfolderBase]: For 97/97 co-relation queries the response was YES. [2024-11-22 13:54:02,130 INFO L83 FinitePrefix]: Finished finitePrefix Result has 2862 conditions, 1460 events. 899/1460 cut-off events. For 97/97 co-relation queries the response was YES. Maximal size of possible extension queue 53. Compared 6211 event pairs, 398 based on Foata normal form. 0/1231 useless extension candidates. Maximal degree in co-relation 2092. Up to 681 conditions per place. [2024-11-22 13:54:02,133 INFO L140 encePairwiseOnDemand]: 29/39 looper letters, 36 selfloop transitions, 10 changer transitions 37/89 dead transitions. [2024-11-22 13:54:02,133 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 89 transitions, 430 flow [2024-11-22 13:54:02,133 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-22 13:54:02,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2024-11-22 13:54:02,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 164 transitions. [2024-11-22 13:54:02,135 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4672364672364672 [2024-11-22 13:54:02,135 INFO L175 Difference]: Start difference. First operand has 40 places, 39 transitions, 123 flow. Second operand 9 states and 164 transitions. [2024-11-22 13:54:02,136 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 89 transitions, 430 flow [2024-11-22 13:54:02,137 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 89 transitions, 428 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-22 13:54:02,138 INFO L231 Difference]: Finished difference. Result has 51 places, 42 transitions, 173 flow [2024-11-22 13:54:02,138 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=121, PETRI_DIFFERENCE_MINUEND_PLACES=39, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=39, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=29, PETRI_DIFFERENCE_SUBTRAHEND_STATES=9, PETRI_FLOW=173, PETRI_PLACES=51, PETRI_TRANSITIONS=42} [2024-11-22 13:54:02,138 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 13 predicate places. [2024-11-22 13:54:02,138 INFO L471 AbstractCegarLoop]: Abstraction has has 51 places, 42 transitions, 173 flow [2024-11-22 13:54:02,139 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 12.0) internal successors, (144), 12 states have internal predecessors, (144), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:02,139 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:02,139 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:02,146 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-11-22 13:54:02,340 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:02,341 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:02,341 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:02,342 INFO L85 PathProgramCache]: Analyzing trace with hash 796655525, now seen corresponding path program 2 times [2024-11-22 13:54:02,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:02,342 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1430004344] [2024-11-22 13:54:02,342 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-22 13:54:02,342 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:02,399 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-22 13:54:02,400 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:54:02,464 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-22 13:54:02,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:02,464 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1430004344] [2024-11-22 13:54:02,465 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1430004344] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:02,465 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:54:02,465 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-22 13:54:02,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [759905696] [2024-11-22 13:54:02,465 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:02,465 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-22 13:54:02,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:02,466 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-22 13:54:02,466 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-22 13:54:02,477 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-22 13:54:02,477 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 51 places, 42 transitions, 173 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:02,477 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:02,478 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-22 13:54:02,478 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:02,693 INFO L124 PetriNetUnfolderBase]: 1119/1785 cut-off events. [2024-11-22 13:54:02,694 INFO L125 PetriNetUnfolderBase]: For 362/362 co-relation queries the response was YES. [2024-11-22 13:54:02,699 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3782 conditions, 1785 events. 1119/1785 cut-off events. For 362/362 co-relation queries the response was YES. Maximal size of possible extension queue 79. Compared 8467 event pairs, 452 based on Foata normal form. 13/1590 useless extension candidates. Maximal degree in co-relation 3747. Up to 886 conditions per place. [2024-11-22 13:54:02,706 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 64 selfloop transitions, 3 changer transitions 14/87 dead transitions. [2024-11-22 13:54:02,706 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 51 places, 87 transitions, 459 flow [2024-11-22 13:54:02,707 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-22 13:54:02,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-22 13:54:02,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2024-11-22 13:54:02,709 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.6051282051282051 [2024-11-22 13:54:02,709 INFO L175 Difference]: Start difference. First operand has 51 places, 42 transitions, 173 flow. Second operand 5 states and 118 transitions. [2024-11-22 13:54:02,709 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 51 places, 87 transitions, 459 flow [2024-11-22 13:54:02,715 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 87 transitions, 433 flow, removed 10 selfloop flow, removed 4 redundant places. [2024-11-22 13:54:02,717 INFO L231 Difference]: Finished difference. Result has 50 places, 44 transitions, 177 flow [2024-11-22 13:54:02,718 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=155, PETRI_DIFFERENCE_MINUEND_PLACES=43, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=177, PETRI_PLACES=50, PETRI_TRANSITIONS=44} [2024-11-22 13:54:02,720 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 12 predicate places. [2024-11-22 13:54:02,720 INFO L471 AbstractCegarLoop]: Abstraction has has 50 places, 44 transitions, 177 flow [2024-11-22 13:54:02,720 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:02,720 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:02,721 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:02,721 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2024-11-22 13:54:02,721 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:02,721 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:02,721 INFO L85 PathProgramCache]: Analyzing trace with hash 984709397, now seen corresponding path program 3 times [2024-11-22 13:54:02,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:02,722 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [506113751] [2024-11-22 13:54:02,722 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-22 13:54:02,722 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:02,746 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-22 13:54:02,748 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:54:02,819 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-22 13:54:02,820 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:02,820 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [506113751] [2024-11-22 13:54:02,820 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [506113751] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:02,820 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:54:02,820 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-22 13:54:02,821 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [673645674] [2024-11-22 13:54:02,821 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:02,821 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-22 13:54:02,821 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:02,822 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-22 13:54:02,822 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-22 13:54:02,841 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-22 13:54:02,842 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 50 places, 44 transitions, 177 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:02,842 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:02,842 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-22 13:54:02,842 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:03,153 INFO L124 PetriNetUnfolderBase]: 1889/3087 cut-off events. [2024-11-22 13:54:03,153 INFO L125 PetriNetUnfolderBase]: For 1716/1716 co-relation queries the response was YES. [2024-11-22 13:54:03,159 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7350 conditions, 3087 events. 1889/3087 cut-off events. For 1716/1716 co-relation queries the response was YES. Maximal size of possible extension queue 130. Compared 16675 event pairs, 800 based on Foata normal form. 14/2863 useless extension candidates. Maximal degree in co-relation 7317. Up to 1492 conditions per place. [2024-11-22 13:54:03,168 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 68 selfloop transitions, 3 changer transitions 13/90 dead transitions. [2024-11-22 13:54:03,168 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 53 places, 90 transitions, 512 flow [2024-11-22 13:54:03,168 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-22 13:54:03,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-22 13:54:03,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2024-11-22 13:54:03,169 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5794871794871795 [2024-11-22 13:54:03,169 INFO L175 Difference]: Start difference. First operand has 50 places, 44 transitions, 177 flow. Second operand 5 states and 113 transitions. [2024-11-22 13:54:03,169 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 53 places, 90 transitions, 512 flow [2024-11-22 13:54:03,178 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 51 places, 90 transitions, 490 flow, removed 7 selfloop flow, removed 2 redundant places. [2024-11-22 13:54:03,179 INFO L231 Difference]: Finished difference. Result has 54 places, 46 transitions, 193 flow [2024-11-22 13:54:03,180 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=171, PETRI_DIFFERENCE_MINUEND_PLACES=47, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=44, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=193, PETRI_PLACES=54, PETRI_TRANSITIONS=46} [2024-11-22 13:54:03,180 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 16 predicate places. [2024-11-22 13:54:03,180 INFO L471 AbstractCegarLoop]: Abstraction has has 54 places, 46 transitions, 193 flow [2024-11-22 13:54:03,181 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:03,181 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:03,181 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:03,181 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2024-11-22 13:54:03,181 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:03,181 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:03,181 INFO L85 PathProgramCache]: Analyzing trace with hash -652521941, now seen corresponding path program 4 times [2024-11-22 13:54:03,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:03,182 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1854572764] [2024-11-22 13:54:03,182 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-22 13:54:03,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:03,197 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-22 13:54:03,197 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:54:03,221 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-22 13:54:03,221 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:03,222 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1854572764] [2024-11-22 13:54:03,222 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1854572764] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:03,222 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:54:03,222 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-22 13:54:03,222 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [697260860] [2024-11-22 13:54:03,223 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:03,223 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-22 13:54:03,223 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:03,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-22 13:54:03,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-22 13:54:03,230 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-22 13:54:03,230 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 54 places, 46 transitions, 193 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:03,230 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:03,230 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-22 13:54:03,230 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:03,724 INFO L124 PetriNetUnfolderBase]: 2509/4057 cut-off events. [2024-11-22 13:54:03,726 INFO L125 PetriNetUnfolderBase]: For 2892/2892 co-relation queries the response was YES. [2024-11-22 13:54:03,738 INFO L83 FinitePrefix]: Finished finitePrefix Result has 10245 conditions, 4057 events. 2509/4057 cut-off events. For 2892/2892 co-relation queries the response was YES. Maximal size of possible extension queue 167. Compared 23040 event pairs, 658 based on Foata normal form. 46/3758 useless extension candidates. Maximal degree in co-relation 10210. Up to 1714 conditions per place. [2024-11-22 13:54:03,762 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 98 selfloop transitions, 16 changer transitions 0/120 dead transitions. [2024-11-22 13:54:03,766 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 120 transitions, 705 flow [2024-11-22 13:54:03,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-22 13:54:03,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2024-11-22 13:54:03,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 163 transitions. [2024-11-22 13:54:03,767 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5224358974358975 [2024-11-22 13:54:03,767 INFO L175 Difference]: Start difference. First operand has 54 places, 46 transitions, 193 flow. Second operand 8 states and 163 transitions. [2024-11-22 13:54:03,767 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 120 transitions, 705 flow [2024-11-22 13:54:03,784 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 58 places, 120 transitions, 685 flow, removed 3 selfloop flow, removed 2 redundant places. [2024-11-22 13:54:03,785 INFO L231 Difference]: Finished difference. Result has 61 places, 59 transitions, 301 flow [2024-11-22 13:54:03,789 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=189, PETRI_DIFFERENCE_MINUEND_PLACES=51, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=46, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=39, PETRI_DIFFERENCE_SUBTRAHEND_STATES=8, PETRI_FLOW=301, PETRI_PLACES=61, PETRI_TRANSITIONS=59} [2024-11-22 13:54:03,790 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 23 predicate places. [2024-11-22 13:54:03,790 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 59 transitions, 301 flow [2024-11-22 13:54:03,790 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:03,790 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:03,790 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:03,790 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2024-11-22 13:54:03,790 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:03,790 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:03,791 INFO L85 PathProgramCache]: Analyzing trace with hash -609846195, now seen corresponding path program 5 times [2024-11-22 13:54:03,791 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:03,791 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1916081114] [2024-11-22 13:54:03,791 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-22 13:54:03,791 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:03,811 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-22 13:54:03,811 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:54:03,891 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-22 13:54:03,892 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:03,892 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1916081114] [2024-11-22 13:54:03,892 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1916081114] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-22 13:54:03,892 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [912187625] [2024-11-22 13:54:03,893 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-22 13:54:03,893 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:03,893 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:54:03,900 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-22 13:54:03,904 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-11-22 13:54:03,993 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-22 13:54:03,994 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:54:03,995 INFO L255 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-22 13:54:03,997 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-22 13:54:04,031 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-22 13:54:04,032 INFO L307 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-11-22 13:54:04,032 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [912187625] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:04,032 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-11-22 13:54:04,032 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 8 [2024-11-22 13:54:04,033 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [481955193] [2024-11-22 13:54:04,033 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:04,033 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-22 13:54:04,033 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:04,033 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-22 13:54:04,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2024-11-22 13:54:04,043 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-22 13:54:04,043 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 59 transitions, 301 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:04,043 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:04,044 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-22 13:54:04,044 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:04,444 INFO L124 PetriNetUnfolderBase]: 3117/5131 cut-off events. [2024-11-22 13:54:04,444 INFO L125 PetriNetUnfolderBase]: For 7056/7168 co-relation queries the response was YES. [2024-11-22 13:54:04,499 INFO L83 FinitePrefix]: Finished finitePrefix Result has 14655 conditions, 5131 events. 3117/5131 cut-off events. For 7056/7168 co-relation queries the response was YES. Maximal size of possible extension queue 242. Compared 30994 event pairs, 316 based on Foata normal form. 140/5026 useless extension candidates. Maximal degree in co-relation 14618. Up to 2725 conditions per place. [2024-11-22 13:54:04,513 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 88 selfloop transitions, 7 changer transitions 15/116 dead transitions. [2024-11-22 13:54:04,513 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 65 places, 116 transitions, 805 flow [2024-11-22 13:54:04,516 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-22 13:54:04,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2024-11-22 13:54:04,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 108 transitions. [2024-11-22 13:54:04,517 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5538461538461539 [2024-11-22 13:54:04,517 INFO L175 Difference]: Start difference. First operand has 61 places, 59 transitions, 301 flow. Second operand 5 states and 108 transitions. [2024-11-22 13:54:04,517 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 65 places, 116 transitions, 805 flow [2024-11-22 13:54:04,547 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 64 places, 116 transitions, 778 flow, removed 1 selfloop flow, removed 1 redundant places. [2024-11-22 13:54:04,549 INFO L231 Difference]: Finished difference. Result has 67 places, 63 transitions, 345 flow [2024-11-22 13:54:04,549 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=289, PETRI_DIFFERENCE_MINUEND_PLACES=60, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=59, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=52, PETRI_DIFFERENCE_SUBTRAHEND_STATES=5, PETRI_FLOW=345, PETRI_PLACES=67, PETRI_TRANSITIONS=63} [2024-11-22 13:54:04,549 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 29 predicate places. [2024-11-22 13:54:04,549 INFO L471 AbstractCegarLoop]: Abstraction has has 67 places, 63 transitions, 345 flow [2024-11-22 13:54:04,550 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:04,550 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:04,550 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:04,557 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2024-11-22 13:54:04,750 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2024-11-22 13:54:04,751 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:04,752 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:04,752 INFO L85 PathProgramCache]: Analyzing trace with hash -1403297029, now seen corresponding path program 6 times [2024-11-22 13:54:04,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:04,753 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1140792363] [2024-11-22 13:54:04,753 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-22 13:54:04,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:04,775 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 2 check-sat command(s) [2024-11-22 13:54:04,775 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-22 13:54:04,836 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2024-11-22 13:54:04,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:04,836 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1140792363] [2024-11-22 13:54:04,836 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1140792363] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-22 13:54:04,837 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-22 13:54:04,837 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-22 13:54:04,837 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [489750398] [2024-11-22 13:54:04,837 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:04,837 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2024-11-22 13:54:04,837 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:04,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-22 13:54:04,838 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-22 13:54:04,846 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-22 13:54:04,847 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 67 places, 63 transitions, 345 flow. Second operand has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:04,847 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:04,847 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-22 13:54:04,847 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:05,497 INFO L124 PetriNetUnfolderBase]: 3939/6328 cut-off events. [2024-11-22 13:54:05,498 INFO L125 PetriNetUnfolderBase]: For 11424/11561 co-relation queries the response was YES. [2024-11-22 13:54:05,517 INFO L83 FinitePrefix]: Finished finitePrefix Result has 19804 conditions, 6328 events. 3939/6328 cut-off events. For 11424/11561 co-relation queries the response was YES. Maximal size of possible extension queue 340. Compared 39453 event pairs, 1398 based on Foata normal form. 28/5988 useless extension candidates. Maximal degree in co-relation 19763. Up to 3154 conditions per place. [2024-11-22 13:54:05,539 INFO L140 encePairwiseOnDemand]: 32/39 looper letters, 112 selfloop transitions, 9 changer transitions 36/163 dead transitions. [2024-11-22 13:54:05,539 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 163 transitions, 1268 flow [2024-11-22 13:54:05,540 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-22 13:54:05,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-22 13:54:05,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 132 transitions. [2024-11-22 13:54:05,541 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.5641025641025641 [2024-11-22 13:54:05,541 INFO L175 Difference]: Start difference. First operand has 67 places, 63 transitions, 345 flow. Second operand 6 states and 132 transitions. [2024-11-22 13:54:05,541 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 163 transitions, 1268 flow [2024-11-22 13:54:05,586 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 163 transitions, 1264 flow, removed 0 selfloop flow, removed 1 redundant places. [2024-11-22 13:54:05,588 INFO L231 Difference]: Finished difference. Result has 74 places, 69 transitions, 427 flow [2024-11-22 13:54:05,588 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=343, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=63, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=57, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=427, PETRI_PLACES=74, PETRI_TRANSITIONS=69} [2024-11-22 13:54:05,589 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 36 predicate places. [2024-11-22 13:54:05,589 INFO L471 AbstractCegarLoop]: Abstraction has has 74 places, 69 transitions, 427 flow [2024-11-22 13:54:05,589 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.2) internal successors, (71), 5 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:05,589 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:05,589 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:05,589 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2024-11-22 13:54:05,590 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:05,590 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:05,590 INFO L85 PathProgramCache]: Analyzing trace with hash -1995638125, now seen corresponding path program 7 times [2024-11-22 13:54:05,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:05,590 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1132155457] [2024-11-22 13:54:05,590 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-22 13:54:05,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:05,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:05,700 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-22 13:54:05,701 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:05,701 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1132155457] [2024-11-22 13:54:05,701 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1132155457] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-22 13:54:05,701 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1016737871] [2024-11-22 13:54:05,701 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-22 13:54:05,701 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:05,701 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:54:05,706 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-22 13:54:05,707 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-11-22 13:54:05,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:05,791 INFO L255 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-22 13:54:05,792 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-22 13:54:05,847 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-22 13:54:05,847 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-22 13:54:05,898 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-22 13:54:05,899 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1016737871] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-22 13:54:05,899 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-22 13:54:05,899 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5, 5] total 11 [2024-11-22 13:54:05,899 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1834607713] [2024-11-22 13:54:05,899 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:05,899 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-22 13:54:05,899 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:05,900 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-22 13:54:05,900 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2024-11-22 13:54:05,910 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 10 out of 39 [2024-11-22 13:54:05,910 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 69 transitions, 427 flow. Second operand has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:05,910 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:05,910 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 10 of 39 [2024-11-22 13:54:05,911 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:06,203 INFO L124 PetriNetUnfolderBase]: 2196/3700 cut-off events. [2024-11-22 13:54:06,203 INFO L125 PetriNetUnfolderBase]: For 10381/10637 co-relation queries the response was YES. [2024-11-22 13:54:06,215 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12602 conditions, 3700 events. 2196/3700 cut-off events. For 10381/10637 co-relation queries the response was YES. Maximal size of possible extension queue 221. Compared 22614 event pairs, 815 based on Foata normal form. 328/3766 useless extension candidates. Maximal degree in co-relation 12558. Up to 2043 conditions per place. [2024-11-22 13:54:06,228 INFO L140 encePairwiseOnDemand]: 34/39 looper letters, 62 selfloop transitions, 12 changer transitions 0/82 dead transitions. [2024-11-22 13:54:06,228 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 82 transitions, 618 flow [2024-11-22 13:54:06,228 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-22 13:54:06,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-22 13:54:06,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 105 transitions. [2024-11-22 13:54:06,229 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.44871794871794873 [2024-11-22 13:54:06,229 INFO L175 Difference]: Start difference. First operand has 74 places, 69 transitions, 427 flow. Second operand 6 states and 105 transitions. [2024-11-22 13:54:06,229 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 82 transitions, 618 flow [2024-11-22 13:54:06,250 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 74 places, 82 transitions, 590 flow, removed 4 selfloop flow, removed 3 redundant places. [2024-11-22 13:54:06,252 INFO L231 Difference]: Finished difference. Result has 74 places, 64 transitions, 389 flow [2024-11-22 13:54:06,252 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=365, PETRI_DIFFERENCE_MINUEND_PLACES=69, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=64, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=12, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=52, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=389, PETRI_PLACES=74, PETRI_TRANSITIONS=64} [2024-11-22 13:54:06,252 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 36 predicate places. [2024-11-22 13:54:06,253 INFO L471 AbstractCegarLoop]: Abstraction has has 74 places, 64 transitions, 389 flow [2024-11-22 13:54:06,253 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 14.333333333333334) internal successors, (86), 6 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:06,253 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:06,253 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:06,260 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2024-11-22 13:54:06,457 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:06,458 INFO L396 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:06,458 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:06,458 INFO L85 PathProgramCache]: Analyzing trace with hash -40943000, now seen corresponding path program 1 times [2024-11-22 13:54:06,458 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:06,458 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1884174372] [2024-11-22 13:54:06,458 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:06,458 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:06,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:06,592 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-22 13:54:06,592 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:06,592 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1884174372] [2024-11-22 13:54:06,592 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1884174372] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-22 13:54:06,593 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [816049744] [2024-11-22 13:54:06,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:06,593 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:06,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:54:06,596 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-22 13:54:06,601 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-11-22 13:54:06,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:06,698 INFO L255 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-22 13:54:06,699 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-22 13:54:06,796 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-22 13:54:06,796 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-22 13:54:06,870 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-11-22 13:54:06,870 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [816049744] provided 1 perfect and 1 imperfect interpolant sequences [2024-11-22 13:54:06,870 INFO L185 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2024-11-22 13:54:06,870 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6, 5] total 12 [2024-11-22 13:54:06,870 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [832825800] [2024-11-22 13:54:06,871 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-22 13:54:06,871 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2024-11-22 13:54:06,871 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-22 13:54:06,871 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-22 13:54:06,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2024-11-22 13:54:06,879 INFO L467 CegarLoopForPetriNet]: Number of universal loopers: 9 out of 39 [2024-11-22 13:54:06,879 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 64 transitions, 389 flow. Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:06,879 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-11-22 13:54:06,879 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 9 of 39 [2024-11-22 13:54:06,879 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-11-22 13:54:07,150 INFO L124 PetriNetUnfolderBase]: 2439/3782 cut-off events. [2024-11-22 13:54:07,150 INFO L125 PetriNetUnfolderBase]: For 10363/10490 co-relation queries the response was YES. [2024-11-22 13:54:07,162 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12959 conditions, 3782 events. 2439/3782 cut-off events. For 10363/10490 co-relation queries the response was YES. Maximal size of possible extension queue 205. Compared 20897 event pairs, 520 based on Foata normal form. 146/3634 useless extension candidates. Maximal degree in co-relation 12913. Up to 2152 conditions per place. [2024-11-22 13:54:07,174 INFO L140 encePairwiseOnDemand]: 33/39 looper letters, 72 selfloop transitions, 8 changer transitions 0/87 dead transitions. [2024-11-22 13:54:07,174 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 87 transitions, 711 flow [2024-11-22 13:54:07,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-22 13:54:07,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2024-11-22 13:54:07,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 98 transitions. [2024-11-22 13:54:07,175 INFO L512 CegarLoopForPetriNet]: DFA transition density 0.4188034188034188 [2024-11-22 13:54:07,175 INFO L175 Difference]: Start difference. First operand has 74 places, 64 transitions, 389 flow. Second operand 6 states and 98 transitions. [2024-11-22 13:54:07,175 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 87 transitions, 711 flow [2024-11-22 13:54:07,189 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 87 transitions, 653 flow, removed 9 selfloop flow, removed 6 redundant places. [2024-11-22 13:54:07,190 INFO L231 Difference]: Finished difference. Result has 72 places, 62 transitions, 361 flow [2024-11-22 13:54:07,191 INFO L260 CegarLoopForPetriNet]: {PETRI_ALPHABET=39, PETRI_DIFFERENCE_MINUEND_FLOW=335, PETRI_DIFFERENCE_MINUEND_PLACES=66, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=61, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=53, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=361, PETRI_PLACES=72, PETRI_TRANSITIONS=62} [2024-11-22 13:54:07,191 INFO L277 CegarLoopForPetriNet]: 38 programPoint places, 34 predicate places. [2024-11-22 13:54:07,191 INFO L471 AbstractCegarLoop]: Abstraction has has 72 places, 62 transitions, 361 flow [2024-11-22 13:54:07,191 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 13.5) internal successors, (81), 6 states have internal predecessors, (81), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-22 13:54:07,192 INFO L196 CegarLoopForPetriNet]: Found error trace [2024-11-22 13:54:07,192 INFO L204 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-22 13:54:07,199 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2024-11-22 13:54:07,392 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:07,393 INFO L396 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES, ULTIMATE.startErr1INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (and 1 more)] === [2024-11-22 13:54:07,393 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-22 13:54:07,393 INFO L85 PathProgramCache]: Analyzing trace with hash 1743609634, now seen corresponding path program 1 times [2024-11-22 13:54:07,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-22 13:54:07,393 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223614544] [2024-11-22 13:54:07,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:07,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-22 13:54:07,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:09,119 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-22 13:54:09,120 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-22 13:54:09,120 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1223614544] [2024-11-22 13:54:09,120 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1223614544] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-22 13:54:09,120 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1770717097] [2024-11-22 13:54:09,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-22 13:54:09,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-22 13:54:09,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-22 13:54:09,124 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-22 13:54:09,125 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-22 13:54:09,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-22 13:54:09,207 INFO L255 TraceCheckSpWp]: Trace formula consists of 323 conjuncts, 25 conjuncts are in the unsatisfiable core [2024-11-22 13:54:09,209 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-22 13:54:09,635 INFO L349 Elim1Store]: treesize reduction 80, result has 60.2 percent of original size [2024-11-22 13:54:09,636 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 135 treesize of output 171 [2024-11-22 13:54:24,137 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