./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/termination-restricted-15/NarrowKonv.c --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 48c9605d Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-restricted-15/NarrowKonv.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 2c8d79b985e49ac5d6f27b4e25f4e3597dadc4ec57e262caec7782b796e874b7 --- Real Ultimate output --- This is Ultimate 0.3.0-?-48c9605-m [2025-02-08 14:20:42,462 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-08 14:20:42,502 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2025-02-08 14:20:42,506 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-08 14:20:42,506 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-08 14:20:42,506 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2025-02-08 14:20:42,521 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-08 14:20:42,521 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-08 14:20:42,521 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-08 14:20:42,522 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-08 14:20:42,522 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Use SBE=true [2025-02-08 14:20:42,522 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Use old map elimination=false [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-02-08 14:20:42,522 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-08 14:20:42,522 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-08 14:20:42,523 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-08 14:20:42,523 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-08 14:20:42,523 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-02-08 14:20:42,523 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) 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 -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 2c8d79b985e49ac5d6f27b4e25f4e3597dadc4ec57e262caec7782b796e874b7 [2025-02-08 14:20:42,724 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-08 14:20:42,730 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-08 14:20:42,731 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-08 14:20:42,732 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-08 14:20:42,732 INFO L274 PluginConnector]: CDTParser initialized [2025-02-08 14:20:42,733 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-restricted-15/NarrowKonv.c [2025-02-08 14:20:43,861 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ca9a583d5/b31bcaef912c4a9f90aa5d4c6d3d24f7/FLAG2153a6590 [2025-02-08 14:20:44,039 INFO L384 CDTParser]: Found 1 translation units. [2025-02-08 14:20:44,039 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/termination-restricted-15/NarrowKonv.c [2025-02-08 14:20:44,054 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ca9a583d5/b31bcaef912c4a9f90aa5d4c6d3d24f7/FLAG2153a6590 [2025-02-08 14:20:44,065 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/ca9a583d5/b31bcaef912c4a9f90aa5d4c6d3d24f7 [2025-02-08 14:20:44,067 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-08 14:20:44,068 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-08 14:20:44,069 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-08 14:20:44,069 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-08 14:20:44,072 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-08 14:20:44,072 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,074 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@36d165fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44, skipping insertion in model container [2025-02-08 14:20:44,074 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,092 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-08 14:20:44,182 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-08 14:20:44,186 INFO L200 MainTranslator]: Completed pre-run [2025-02-08 14:20:44,201 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-08 14:20:44,210 INFO L204 MainTranslator]: Completed translation [2025-02-08 14:20:44,211 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44 WrapperNode [2025-02-08 14:20:44,211 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-08 14:20:44,212 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-08 14:20:44,212 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-08 14:20:44,212 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-08 14:20:44,217 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,220 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,229 INFO L138 Inliner]: procedures = 4, calls = 2, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 16 [2025-02-08 14:20:44,229 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-08 14:20:44,230 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-08 14:20:44,230 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-08 14:20:44,230 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-08 14:20:44,235 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,235 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,236 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,239 INFO L175 MemorySlicer]: No memory access in input program. [2025-02-08 14:20:44,240 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,240 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,242 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,242 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,243 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,243 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,244 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-08 14:20:44,246 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-08 14:20:44,246 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-08 14:20:44,246 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-08 14:20:44,247 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (1/1) ... [2025-02-08 14:20:44,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:44,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:44,279 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:44,287 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-02-08 14:20:44,305 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-08 14:20:44,305 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-08 14:20:44,350 INFO L257 CfgBuilder]: Building ICFG [2025-02-08 14:20:44,352 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-08 14:20:44,408 INFO L? ?]: Removed 2 outVars from TransFormulas that were not future-live. [2025-02-08 14:20:44,408 INFO L308 CfgBuilder]: Performing block encoding [2025-02-08 14:20:44,414 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-08 14:20:44,415 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-08 14:20:44,416 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 02:20:44 BoogieIcfgContainer [2025-02-08 14:20:44,416 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-08 14:20:44,416 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-02-08 14:20:44,417 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-02-08 14:20:44,421 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-02-08 14:20:44,421 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-02-08 14:20:44,421 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 08.02 02:20:44" (1/3) ... [2025-02-08 14:20:44,422 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@3be197ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.02 02:20:44, skipping insertion in model container [2025-02-08 14:20:44,422 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-02-08 14:20:44,422 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:20:44" (2/3) ... [2025-02-08 14:20:44,422 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@3be197ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.02 02:20:44, skipping insertion in model container [2025-02-08 14:20:44,422 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-02-08 14:20:44,422 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 02:20:44" (3/3) ... [2025-02-08 14:20:44,423 INFO L363 chiAutomizerObserver]: Analyzing ICFG NarrowKonv.c [2025-02-08 14:20:44,466 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-02-08 14:20:44,466 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-02-08 14:20:44,467 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-02-08 14:20:44,467 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-02-08 14:20:44,467 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-02-08 14:20:44,467 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-02-08 14:20:44,467 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-02-08 14:20:44,467 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-02-08 14:20:44,470 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:44,479 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-02-08 14:20:44,480 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:44,480 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:44,483 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1] [2025-02-08 14:20:44,483 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:44,483 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-02-08 14:20:44,484 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:44,484 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-02-08 14:20:44,484 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:44,484 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:44,484 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1] [2025-02-08 14:20:44,484 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:44,489 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" [2025-02-08 14:20:44,489 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:44,493 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:44,493 INFO L85 PathProgramCache]: Analyzing trace with hash 37, now seen corresponding path program 1 times [2025-02-08 14:20:44,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:44,498 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [22647361] [2025-02-08 14:20:44,498 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:44,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:44,539 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-02-08 14:20:44,541 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-02-08 14:20:44,541 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,541 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,542 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:44,543 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-02-08 14:20:44,544 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-02-08 14:20:44,544 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,544 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,552 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:44,554 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:44,554 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 1 times [2025-02-08 14:20:44,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:44,554 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [298802268] [2025-02-08 14:20:44,554 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:44,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:44,557 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:44,559 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:44,560 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,560 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,560 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:44,561 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:44,562 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:44,562 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,562 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,563 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:44,564 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:44,564 INFO L85 PathProgramCache]: Analyzing trace with hash 35716, now seen corresponding path program 1 times [2025-02-08 14:20:44,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:44,564 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1290534921] [2025-02-08 14:20:44,564 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:44,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:44,570 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:44,574 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:44,574 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,574 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:44,626 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:44,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:44,626 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1290534921] [2025-02-08 14:20:44,628 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1290534921] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 14:20:44,628 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 14:20:44,629 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2025-02-08 14:20:44,629 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1898519525] [2025-02-08 14:20:44,630 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 14:20:44,675 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:44,696 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-02-08 14:20:44,697 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-08 14:20:44,698 INFO L87 Difference]: Start difference. First operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 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) Second operand has 3 states, 2 states have (on average 1.5) internal successors, (3), 2 states have internal predecessors, (3), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:44,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:44,725 INFO L93 Difference]: Finished difference Result 9 states and 13 transitions. [2025-02-08 14:20:44,726 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9 states and 13 transitions. [2025-02-08 14:20:44,726 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-02-08 14:20:44,731 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9 states to 7 states and 10 transitions. [2025-02-08 14:20:44,732 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 7 [2025-02-08 14:20:44,732 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 7 [2025-02-08 14:20:44,733 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 10 transitions. [2025-02-08 14:20:44,733 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:20:44,734 INFO L218 hiAutomatonCegarLoop]: Abstraction has 7 states and 10 transitions. [2025-02-08 14:20:44,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7 states and 10 transitions. [2025-02-08 14:20:44,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7 to 7. [2025-02-08 14:20:44,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 6 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:44,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 10 transitions. [2025-02-08 14:20:44,751 INFO L240 hiAutomatonCegarLoop]: Abstraction has 7 states and 10 transitions. [2025-02-08 14:20:44,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-02-08 14:20:44,754 INFO L432 stractBuchiCegarLoop]: Abstraction has 7 states and 10 transitions. [2025-02-08 14:20:44,754 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-02-08 14:20:44,755 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 7 states and 10 transitions. [2025-02-08 14:20:44,755 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-02-08 14:20:44,755 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:44,755 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:44,755 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1] [2025-02-08 14:20:44,756 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-02-08 14:20:44,756 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" [2025-02-08 14:20:44,756 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" [2025-02-08 14:20:44,757 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:44,757 INFO L85 PathProgramCache]: Analyzing trace with hash 37, now seen corresponding path program 2 times [2025-02-08 14:20:44,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:44,757 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [40339631] [2025-02-08 14:20:44,757 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:44,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:44,763 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 1 statements into 1 equivalence classes. [2025-02-08 14:20:44,763 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-02-08 14:20:44,763 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:20:44,763 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,763 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:44,764 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-02-08 14:20:44,765 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-02-08 14:20:44,766 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,766 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,766 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:44,767 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:44,767 INFO L85 PathProgramCache]: Analyzing trace with hash 34691, now seen corresponding path program 1 times [2025-02-08 14:20:44,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:44,768 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726214789] [2025-02-08 14:20:44,768 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:44,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:44,771 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:44,776 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:44,778 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,778 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,778 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:44,779 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:44,782 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:44,782 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,783 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,783 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:44,784 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:44,784 INFO L85 PathProgramCache]: Analyzing trace with hash 1107167, now seen corresponding path program 1 times [2025-02-08 14:20:44,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:44,785 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1464856213] [2025-02-08 14:20:44,785 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:44,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:44,789 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-02-08 14:20:44,790 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-02-08 14:20:44,792 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,792 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,792 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:44,793 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-02-08 14:20:44,796 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-02-08 14:20:44,797 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:44,797 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:44,797 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:44,853 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:44,854 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:44,854 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:44,854 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:44,854 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-02-08 14:20:44,854 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:44,854 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:44,854 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:44,855 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-02-08 14:20:44,855 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:44,855 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:44,864 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:44,870 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:44,873 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:44,935 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:44,936 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-02-08 14:20:44,937 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:44,937 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:44,939 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:44,941 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2025-02-08 14:20:44,943 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:44,943 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:44,963 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:44,963 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~true_1=1} Honda state: {v_rep~unnamed0~0~true_1=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:44,969 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:44,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:44,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:44,973 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:44,973 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2025-02-08 14:20:44,975 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:44,975 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:44,993 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:44,993 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~false_1=0} Honda state: {v_rep~unnamed0~0~false_1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:44,999 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:44,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,001 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,002 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2025-02-08 14:20:45,009 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:45,009 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:45,029 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2025-02-08 14:20:45,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,032 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,033 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2025-02-08 14:20:45,035 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-02-08 14:20:45,035 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:45,094 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-02-08 14:20:45,098 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:45,098 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:45,099 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:45,099 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:45,099 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:45,099 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-02-08 14:20:45,099 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,099 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:45,099 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:45,099 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-02-08 14:20:45,099 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:45,099 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:45,102 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,108 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,113 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,196 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:45,199 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-02-08 14:20:45,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,205 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,206 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2025-02-08 14:20:45,206 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:45,217 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:45,218 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:45,218 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:45,218 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:45,223 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:45,223 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:45,226 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:45,238 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2025-02-08 14:20:45,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,241 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2025-02-08 14:20:45,244 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:45,254 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:45,254 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:45,254 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:45,254 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:45,256 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:45,256 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:45,260 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:45,265 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:45,266 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,266 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,268 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,269 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2025-02-08 14:20:45,271 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:45,281 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:45,281 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-02-08 14:20:45,281 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:45,281 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:45,281 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:45,283 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-02-08 14:20:45,283 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-02-08 14:20:45,285 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-02-08 14:20:45,288 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-02-08 14:20:45,290 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-02-08 14:20:45,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,293 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,294 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2025-02-08 14:20:45,295 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-02-08 14:20:45,296 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-02-08 14:20:45,296 INFO L474 LassoAnalysis]: Proved termination. [2025-02-08 14:20:45,296 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~range~0#1, ULTIMATE.start_main_~i~0#1) = 1*ULTIMATE.start_main_~range~0#1 - 1*ULTIMATE.start_main_~i~0#1 Supporting invariants [] [2025-02-08 14:20:45,302 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Ended with exit code 0 [2025-02-08 14:20:45,304 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-02-08 14:20:45,334 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:45,338 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-02-08 14:20:45,339 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-02-08 14:20:45,339 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,339 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:45,340 WARN L254 TraceCheckSpWp]: Trace formula consists of 4 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-02-08 14:20:45,340 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:45,344 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:45,346 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:45,346 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,346 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:45,346 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-02-08 14:20:45,347 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:45,371 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:45,373 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-02-08 14:20:45,374 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 7 states and 10 transitions. cyclomatic complexity: 5 Second operand has 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:45,411 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 7 states and 10 transitions. cyclomatic complexity: 5. Second operand has 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 2 states have internal predecessors, (4), 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) Result 10 states and 14 transitions. Complement of second has 5 states. [2025-02-08 14:20:45,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 3 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2025-02-08 14:20:45,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:45,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 4 transitions. [2025-02-08 14:20:45,415 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 4 transitions. Stem has 1 letters. Loop has 3 letters. [2025-02-08 14:20:45,415 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:45,416 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 4 transitions. Stem has 4 letters. Loop has 3 letters. [2025-02-08 14:20:45,416 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:45,416 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 4 transitions. Stem has 1 letters. Loop has 6 letters. [2025-02-08 14:20:45,416 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:45,416 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 10 states and 14 transitions. [2025-02-08 14:20:45,416 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-02-08 14:20:45,417 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 10 states to 10 states and 14 transitions. [2025-02-08 14:20:45,417 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2025-02-08 14:20:45,417 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 7 [2025-02-08 14:20:45,417 INFO L73 IsDeterministic]: Start isDeterministic. Operand 10 states and 14 transitions. [2025-02-08 14:20:45,417 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:45,417 INFO L218 hiAutomatonCegarLoop]: Abstraction has 10 states and 14 transitions. [2025-02-08 14:20:45,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 10 states and 14 transitions. [2025-02-08 14:20:45,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 10 to 10. [2025-02-08 14:20:45,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.4) internal successors, (14), 9 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:45,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 14 transitions. [2025-02-08 14:20:45,418 INFO L240 hiAutomatonCegarLoop]: Abstraction has 10 states and 14 transitions. [2025-02-08 14:20:45,418 INFO L432 stractBuchiCegarLoop]: Abstraction has 10 states and 14 transitions. [2025-02-08 14:20:45,418 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-02-08 14:20:45,418 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 10 states and 14 transitions. [2025-02-08 14:20:45,419 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-02-08 14:20:45,419 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:45,419 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:45,419 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-02-08 14:20:45,419 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:45,419 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" [2025-02-08 14:20:45,419 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:45,420 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:45,420 INFO L85 PathProgramCache]: Analyzing trace with hash 1107166, now seen corresponding path program 1 times [2025-02-08 14:20:45,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:45,420 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1540026721] [2025-02-08 14:20:45,420 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:45,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:45,423 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-02-08 14:20:45,425 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-02-08 14:20:45,425 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,425 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,425 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:45,426 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-02-08 14:20:45,427 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-02-08 14:20:45,427 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,427 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,428 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:45,428 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:45,428 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 2 times [2025-02-08 14:20:45,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:45,429 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [219756948] [2025-02-08 14:20:45,429 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:45,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:45,430 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:45,431 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:45,431 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:20:45,431 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,431 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:45,432 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:45,432 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:45,432 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,433 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,433 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:45,433 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:45,433 INFO L85 PathProgramCache]: Analyzing trace with hash 1063986685, now seen corresponding path program 1 times [2025-02-08 14:20:45,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:45,434 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1621449364] [2025-02-08 14:20:45,434 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:45,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:45,436 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-02-08 14:20:45,445 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-02-08 14:20:45,445 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,445 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:45,453 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2025-02-08 14:20:45,477 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:45,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:45,477 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1621449364] [2025-02-08 14:20:45,477 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1621449364] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:20:45,477 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1730491280] [2025-02-08 14:20:45,477 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:45,478 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:20:45,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,479 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,481 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2025-02-08 14:20:45,499 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-02-08 14:20:45,502 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-02-08 14:20:45,503 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,503 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:45,503 INFO L256 TraceCheckSpWp]: Trace formula consists of 19 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-02-08 14:20:45,504 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:45,535 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:45,536 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:20:45,559 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:45,560 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1730491280] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:20:45,560 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:20:45,560 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 5 [2025-02-08 14:20:45,560 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1443155147] [2025-02-08 14:20:45,560 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:20:45,578 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:45,578 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-02-08 14:20:45,578 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-02-08 14:20:45,579 INFO L87 Difference]: Start difference. First operand 10 states and 14 transitions. cyclomatic complexity: 6 Second operand has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:45,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:45,619 INFO L93 Difference]: Finished difference Result 22 states and 27 transitions. [2025-02-08 14:20:45,619 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 22 states and 27 transitions. [2025-02-08 14:20:45,620 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-02-08 14:20:45,620 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 22 states to 22 states and 27 transitions. [2025-02-08 14:20:45,620 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19 [2025-02-08 14:20:45,620 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19 [2025-02-08 14:20:45,620 INFO L73 IsDeterministic]: Start isDeterministic. Operand 22 states and 27 transitions. [2025-02-08 14:20:45,621 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:45,621 INFO L218 hiAutomatonCegarLoop]: Abstraction has 22 states and 27 transitions. [2025-02-08 14:20:45,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states and 27 transitions. [2025-02-08 14:20:45,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2025-02-08 14:20:45,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 21 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:45,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 27 transitions. [2025-02-08 14:20:45,622 INFO L240 hiAutomatonCegarLoop]: Abstraction has 22 states and 27 transitions. [2025-02-08 14:20:45,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-02-08 14:20:45,623 INFO L432 stractBuchiCegarLoop]: Abstraction has 22 states and 27 transitions. [2025-02-08 14:20:45,623 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-02-08 14:20:45,623 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 22 states and 27 transitions. [2025-02-08 14:20:45,624 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-02-08 14:20:45,624 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:45,624 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:45,624 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 1, 1] [2025-02-08 14:20:45,624 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-02-08 14:20:45,624 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" [2025-02-08 14:20:45,624 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" [2025-02-08 14:20:45,624 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:45,625 INFO L85 PathProgramCache]: Analyzing trace with hash -1456421922, now seen corresponding path program 1 times [2025-02-08 14:20:45,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:45,625 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1820245219] [2025-02-08 14:20:45,625 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:45,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:45,628 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-02-08 14:20:45,632 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-02-08 14:20:45,632 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,632 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,632 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:45,633 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-02-08 14:20:45,636 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-02-08 14:20:45,636 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,636 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,637 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:45,637 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:45,637 INFO L85 PathProgramCache]: Analyzing trace with hash 34691, now seen corresponding path program 2 times [2025-02-08 14:20:45,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:45,638 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1570231094] [2025-02-08 14:20:45,638 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:45,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:45,640 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:45,641 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:45,641 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:20:45,641 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,641 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:45,642 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:45,643 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:45,643 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,643 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,644 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:45,644 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:45,644 INFO L85 PathProgramCache]: Analyzing trace with hash -505849210, now seen corresponding path program 2 times [2025-02-08 14:20:45,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:45,644 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [157700796] [2025-02-08 14:20:45,644 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:45,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:45,648 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 13 statements into 2 equivalence classes. [2025-02-08 14:20:45,652 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 13 of 13 statements. [2025-02-08 14:20:45,652 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:20:45,652 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,652 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:45,653 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-02-08 14:20:45,657 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-02-08 14:20:45,657 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:45,657 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:45,658 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:45,689 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:45,690 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:45,690 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:45,690 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:45,690 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-02-08 14:20:45,690 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,690 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:45,690 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:45,690 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-02-08 14:20:45,690 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:45,690 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:45,691 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,693 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,695 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,740 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:45,740 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-02-08 14:20:45,740 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,740 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,742 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,744 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2025-02-08 14:20:45,745 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:45,745 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:45,762 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:45,763 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~false_3=0} Honda state: {v_rep~unnamed0~0~false_3=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:45,768 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2025-02-08 14:20:45,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,771 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2025-02-08 14:20:45,773 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:45,773 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:45,790 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:45,790 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~true_3=1} Honda state: {v_rep~unnamed0~0~true_3=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:45,795 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Ended with exit code 0 [2025-02-08 14:20:45,795 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,796 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,797 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,798 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2025-02-08 14:20:45,799 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:45,799 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:45,818 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:45,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,818 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,820 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,821 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2025-02-08 14:20:45,822 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-02-08 14:20:45,822 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:45,897 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-02-08 14:20:45,901 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Ended with exit code 0 [2025-02-08 14:20:45,901 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:45,901 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:45,901 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:45,902 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:45,902 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-02-08 14:20:45,902 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,902 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:45,902 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:45,902 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-02-08 14:20:45,902 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:45,902 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:45,903 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,908 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,911 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:45,957 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:45,957 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-02-08 14:20:45,958 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,964 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,966 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2025-02-08 14:20:45,967 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:45,976 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:45,977 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:45,977 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:45,977 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:45,978 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:45,978 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:45,981 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:45,986 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:45,987 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:45,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:45,990 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:45,990 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2025-02-08 14:20:45,992 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:46,002 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:46,002 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:46,002 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:46,002 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:46,004 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:46,004 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:46,008 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:46,013 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,014 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,014 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,016 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,017 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2025-02-08 14:20:46,019 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:46,028 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:46,029 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-02-08 14:20:46,029 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:46,029 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:46,029 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:46,030 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-02-08 14:20:46,030 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-02-08 14:20:46,032 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-02-08 14:20:46,034 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-02-08 14:20:46,034 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-02-08 14:20:46,035 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,035 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,039 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,041 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2025-02-08 14:20:46,047 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-02-08 14:20:46,047 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-02-08 14:20:46,047 INFO L474 LassoAnalysis]: Proved termination. [2025-02-08 14:20:46,047 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_~range~0#1) = -1*ULTIMATE.start_main_~i~0#1 + 1*ULTIMATE.start_main_~range~0#1 Supporting invariants [] [2025-02-08 14:20:46,052 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,053 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-02-08 14:20:46,065 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,071 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-02-08 14:20:46,077 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-02-08 14:20:46,077 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,077 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,077 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,078 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,093 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:46,095 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:46,095 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,095 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,095 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,095 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,118 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:46,119 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-02-08 14:20:46,119 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 22 states and 27 transitions. cyclomatic complexity: 8 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,133 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 22 states and 27 transitions. cyclomatic complexity: 8. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 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) Result 43 states and 49 transitions. Complement of second has 5 states. [2025-02-08 14:20:46,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 3 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2025-02-08 14:20:46,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 8 transitions. [2025-02-08 14:20:46,135 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 10 letters. Loop has 3 letters. [2025-02-08 14:20:46,135 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,135 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 13 letters. Loop has 3 letters. [2025-02-08 14:20:46,135 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,135 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 10 letters. Loop has 6 letters. [2025-02-08 14:20:46,136 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,136 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 43 states and 49 transitions. [2025-02-08 14:20:46,137 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-02-08 14:20:46,138 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 43 states to 37 states and 43 transitions. [2025-02-08 14:20:46,138 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2025-02-08 14:20:46,138 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2025-02-08 14:20:46,138 INFO L73 IsDeterministic]: Start isDeterministic. Operand 37 states and 43 transitions. [2025-02-08 14:20:46,138 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:46,138 INFO L218 hiAutomatonCegarLoop]: Abstraction has 37 states and 43 transitions. [2025-02-08 14:20:46,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states and 43 transitions. [2025-02-08 14:20:46,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2025-02-08 14:20:46,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 32 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 39 transitions. [2025-02-08 14:20:46,140 INFO L240 hiAutomatonCegarLoop]: Abstraction has 33 states and 39 transitions. [2025-02-08 14:20:46,140 INFO L432 stractBuchiCegarLoop]: Abstraction has 33 states and 39 transitions. [2025-02-08 14:20:46,140 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-02-08 14:20:46,140 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states and 39 transitions. [2025-02-08 14:20:46,141 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-02-08 14:20:46,141 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:46,141 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:46,141 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 1, 1] [2025-02-08 14:20:46,141 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-02-08 14:20:46,141 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" [2025-02-08 14:20:46,141 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" [2025-02-08 14:20:46,142 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,142 INFO L85 PathProgramCache]: Analyzing trace with hash -1589866396, now seen corresponding path program 3 times [2025-02-08 14:20:46,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:46,142 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1974867310] [2025-02-08 14:20:46,142 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:20:46,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:46,146 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 13 statements into 4 equivalence classes. [2025-02-08 14:20:46,150 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) and asserted 13 of 13 statements. [2025-02-08 14:20:46,150 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2025-02-08 14:20:46,150 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,150 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:46,151 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-02-08 14:20:46,154 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-02-08 14:20:46,154 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,154 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,155 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:46,156 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,156 INFO L85 PathProgramCache]: Analyzing trace with hash 34691, now seen corresponding path program 3 times [2025-02-08 14:20:46,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:46,156 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1639828942] [2025-02-08 14:20:46,156 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:20:46,156 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:46,158 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:46,159 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:46,159 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-02-08 14:20:46,159 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,159 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:46,160 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:46,161 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:46,161 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,161 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,162 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:46,162 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,162 INFO L85 PathProgramCache]: Analyzing trace with hash 1189541952, now seen corresponding path program 4 times [2025-02-08 14:20:46,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:46,162 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1731947357] [2025-02-08 14:20:46,162 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:20:46,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:46,165 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 16 statements into 2 equivalence classes. [2025-02-08 14:20:46,169 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 16 of 16 statements. [2025-02-08 14:20:46,169 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-02-08 14:20:46,169 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,169 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:46,170 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-02-08 14:20:46,174 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-02-08 14:20:46,174 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,174 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,176 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:46,202 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:46,203 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:46,203 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:46,203 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:46,203 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-02-08 14:20:46,203 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,203 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:46,203 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:46,203 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-02-08 14:20:46,203 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:46,203 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:46,204 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:46,207 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:46,209 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:46,251 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:46,251 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-02-08 14:20:46,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,253 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,254 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2025-02-08 14:20:46,256 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:46,256 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:46,273 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:46,273 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~true_5=1} Honda state: {v_rep~unnamed0~0~true_5=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:46,282 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Ended with exit code 0 [2025-02-08 14:20:46,282 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,287 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,290 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2025-02-08 14:20:46,290 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:46,290 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:46,307 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:46,307 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~false_5=0} Honda state: {v_rep~unnamed0~0~false_5=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:46,313 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,315 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,317 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2025-02-08 14:20:46,318 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:46,318 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:46,334 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,337 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,337 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2025-02-08 14:20:46,340 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-02-08 14:20:46,340 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:46,378 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-02-08 14:20:46,382 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,383 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:46,383 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:46,383 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:46,383 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:46,383 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-02-08 14:20:46,383 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,383 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:46,383 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:46,383 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-02-08 14:20:46,383 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:46,383 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:46,384 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:46,387 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:46,389 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:46,435 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:46,435 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-02-08 14:20:46,435 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,435 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,438 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,439 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2025-02-08 14:20:46,441 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:46,450 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:46,450 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:46,450 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:46,450 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:46,452 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:46,452 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:46,455 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:46,460 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,460 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,460 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,462 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,463 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2025-02-08 14:20:46,464 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:46,474 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:46,474 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:46,474 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:46,474 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:46,476 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:46,476 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:46,478 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:46,484 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,484 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,484 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,486 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,487 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2025-02-08 14:20:46,488 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:46,498 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:46,498 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-02-08 14:20:46,498 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:46,498 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:46,498 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:46,499 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-02-08 14:20:46,499 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-02-08 14:20:46,501 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-02-08 14:20:46,506 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2025-02-08 14:20:46,506 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-02-08 14:20:46,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:46,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,510 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,513 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2025-02-08 14:20:46,514 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-02-08 14:20:46,514 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-02-08 14:20:46,514 INFO L474 LassoAnalysis]: Proved termination. [2025-02-08 14:20:46,514 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~0#1, ULTIMATE.start_main_~range~0#1) = -1*ULTIMATE.start_main_~i~0#1 + 1*ULTIMATE.start_main_~range~0#1 Supporting invariants [] [2025-02-08 14:20:46,523 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,524 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-02-08 14:20:46,534 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,539 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-02-08 14:20:46,543 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-02-08 14:20:46,544 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,544 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,544 INFO L256 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,544 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,558 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:46,559 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:46,559 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,559 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,559 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,560 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,586 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:46,586 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-02-08 14:20:46,587 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,613 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 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) Result 43 states and 50 transitions. Complement of second has 5 states. [2025-02-08 14:20:46,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 3 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2025-02-08 14:20:46,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 8 transitions. [2025-02-08 14:20:46,614 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 13 letters. Loop has 3 letters. [2025-02-08 14:20:46,614 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,614 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-02-08 14:20:46,651 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,652 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:46,654 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-02-08 14:20:46,656 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Ended with exit code 0 [2025-02-08 14:20:46,663 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-02-08 14:20:46,664 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,664 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,664 INFO L256 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,664 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,689 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:46,690 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:46,690 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,690 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,690 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,691 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,708 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:46,709 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.1 stem predicates 2 loop predicates [2025-02-08 14:20:46,709 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,727 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 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) Result 43 states and 50 transitions. Complement of second has 5 states. [2025-02-08 14:20:46,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 3 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2025-02-08 14:20:46,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 8 transitions. [2025-02-08 14:20:46,728 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 13 letters. Loop has 3 letters. [2025-02-08 14:20:46,728 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,728 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-02-08 14:20:46,737 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,743 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-02-08 14:20:46,746 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-02-08 14:20:46,746 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,747 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,747 INFO L256 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,747 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,766 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-02-08 14:20:46,767 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-02-08 14:20:46,767 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,767 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,768 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,768 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,789 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:46,790 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-02-08 14:20:46,790 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,806 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 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) Result 56 states and 68 transitions. Complement of second has 4 states. [2025-02-08 14:20:46,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 3 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2025-02-08 14:20:46,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 12 transitions. [2025-02-08 14:20:46,807 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 12 transitions. Stem has 13 letters. Loop has 3 letters. [2025-02-08 14:20:46,807 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,808 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 12 transitions. Stem has 16 letters. Loop has 3 letters. [2025-02-08 14:20:46,808 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,808 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 12 transitions. Stem has 13 letters. Loop has 6 letters. [2025-02-08 14:20:46,808 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:46,808 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 56 states and 68 transitions. [2025-02-08 14:20:46,809 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2025-02-08 14:20:46,809 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 56 states to 46 states and 57 transitions. [2025-02-08 14:20:46,810 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2025-02-08 14:20:46,810 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29 [2025-02-08 14:20:46,810 INFO L73 IsDeterministic]: Start isDeterministic. Operand 46 states and 57 transitions. [2025-02-08 14:20:46,810 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:46,810 INFO L218 hiAutomatonCegarLoop]: Abstraction has 46 states and 57 transitions. [2025-02-08 14:20:46,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states and 57 transitions. [2025-02-08 14:20:46,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 30. [2025-02-08 14:20:46,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.3) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:46,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2025-02-08 14:20:46,811 INFO L240 hiAutomatonCegarLoop]: Abstraction has 30 states and 39 transitions. [2025-02-08 14:20:46,811 INFO L432 stractBuchiCegarLoop]: Abstraction has 30 states and 39 transitions. [2025-02-08 14:20:46,811 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-02-08 14:20:46,811 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 30 states and 39 transitions. [2025-02-08 14:20:46,812 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 11 [2025-02-08 14:20:46,812 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:46,812 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:46,812 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 3, 2, 1] [2025-02-08 14:20:46,812 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1] [2025-02-08 14:20:46,812 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" [2025-02-08 14:20:46,812 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" [2025-02-08 14:20:46,813 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,813 INFO L85 PathProgramCache]: Analyzing trace with hash 1286401663, now seen corresponding path program 5 times [2025-02-08 14:20:46,813 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:46,813 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [139585722] [2025-02-08 14:20:46,813 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:20:46,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:46,816 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 16 statements into 5 equivalence classes. [2025-02-08 14:20:46,820 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 16 of 16 statements. [2025-02-08 14:20:46,821 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-02-08 14:20:46,821 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,871 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:46,871 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:46,871 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [139585722] [2025-02-08 14:20:46,871 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [139585722] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:20:46,871 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1393865578] [2025-02-08 14:20:46,871 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:20:46,871 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:20:46,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:46,873 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:20:46,875 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2025-02-08 14:20:46,890 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 16 statements into 5 equivalence classes. [2025-02-08 14:20:46,894 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 16 of 16 statements. [2025-02-08 14:20:46,894 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-02-08 14:20:46,894 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:46,895 INFO L256 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-02-08 14:20:46,895 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:46,950 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:46,950 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:20:46,992 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:46,992 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1393865578] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:20:46,992 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:20:46,992 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 12 [2025-02-08 14:20:46,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [910875212] [2025-02-08 14:20:46,992 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:20:46,993 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-02-08 14:20:46,993 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:46,993 INFO L85 PathProgramCache]: Analyzing trace with hash 1033454690, now seen corresponding path program 1 times [2025-02-08 14:20:46,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:46,993 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [984004711] [2025-02-08 14:20:46,993 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:46,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:46,995 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-02-08 14:20:46,997 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-02-08 14:20:46,997 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,997 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,997 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:46,997 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-02-08 14:20:46,999 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-02-08 14:20:46,999 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:46,999 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:46,999 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:47,047 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:47,047 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:47,047 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:47,047 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:47,047 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-02-08 14:20:47,047 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,047 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:47,047 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:47,047 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-02-08 14:20:47,047 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:47,047 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:47,048 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:47,053 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:47,055 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:47,117 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:47,117 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-02-08 14:20:47,117 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,117 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,121 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,123 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2025-02-08 14:20:47,124 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:47,124 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:47,141 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:47,141 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~true_7=1} Honda state: {v_rep~unnamed0~0~true_7=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:47,147 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Ended with exit code 0 [2025-02-08 14:20:47,147 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,149 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,151 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2025-02-08 14:20:47,155 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:47,155 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:47,173 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-02-08 14:20:47,173 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~false_7=0} Honda state: {v_rep~unnamed0~0~false_7=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-02-08 14:20:47,182 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Ended with exit code 0 [2025-02-08 14:20:47,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,184 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,186 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Waiting until timeout for monitored process [2025-02-08 14:20:47,187 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-02-08 14:20:47,187 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:47,203 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Ended with exit code 0 [2025-02-08 14:20:47,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,206 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,208 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Waiting until timeout for monitored process [2025-02-08 14:20:47,209 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-02-08 14:20:47,209 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-02-08 14:20:47,251 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-02-08 14:20:47,255 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:47,255 INFO L204 LassoAnalysis]: Preferences: [2025-02-08 14:20:47,256 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-02-08 14:20:47,256 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-02-08 14:20:47,256 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-02-08 14:20:47,256 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-02-08 14:20:47,256 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,256 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-02-08 14:20:47,256 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-02-08 14:20:47,256 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-02-08 14:20:47,256 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-02-08 14:20:47,256 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-02-08 14:20:47,257 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:47,260 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:47,262 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-02-08 14:20:47,326 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-02-08 14:20:47,326 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-02-08 14:20:47,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,328 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,329 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Waiting until timeout for monitored process [2025-02-08 14:20:47,330 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:47,340 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:47,340 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:47,340 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:47,340 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:47,341 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:47,341 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:47,344 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:47,349 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Ended with exit code 0 [2025-02-08 14:20:47,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,351 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,353 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Waiting until timeout for monitored process [2025-02-08 14:20:47,354 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:47,366 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:47,366 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:47,366 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:47,366 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:47,372 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-02-08 14:20:47,372 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-02-08 14:20:47,374 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-02-08 14:20:47,382 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Ended with exit code 0 [2025-02-08 14:20:47,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,384 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,386 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Waiting until timeout for monitored process [2025-02-08 14:20:47,388 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-02-08 14:20:47,398 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-02-08 14:20:47,398 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-02-08 14:20:47,398 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-02-08 14:20:47,398 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-02-08 14:20:47,398 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-02-08 14:20:47,400 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-02-08 14:20:47,400 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-02-08 14:20:47,404 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-02-08 14:20:47,408 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-02-08 14:20:47,408 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-02-08 14:20:47,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:20:47,409 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,413 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,414 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2025-02-08 14:20:47,415 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-02-08 14:20:47,415 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-02-08 14:20:47,415 INFO L474 LassoAnalysis]: Proved termination. [2025-02-08 14:20:47,415 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~range~0#1) = 1*ULTIMATE.start_main_~range~0#1 Supporting invariants [] [2025-02-08 14:20:47,421 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:47,422 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-02-08 14:20:47,433 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:47,439 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-02-08 14:20:47,443 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-02-08 14:20:47,443 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:47,443 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:47,444 INFO L256 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-02-08 14:20:47,444 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:47,458 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-02-08 14:20:47,460 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-02-08 14:20:47,460 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:47,460 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:47,461 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-02-08 14:20:47,462 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:47,492 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:20:47,493 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2025-02-08 14:20:47,493 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 30 states and 39 transitions. cyclomatic complexity: 12 Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:47,509 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 30 states and 39 transitions. cyclomatic complexity: 12. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 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) Result 71 states and 95 transitions. Complement of second has 6 states. [2025-02-08 14:20:47,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-02-08 14:20:47,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:47,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 14 transitions. [2025-02-08 14:20:47,510 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 14 transitions. Stem has 16 letters. Loop has 6 letters. [2025-02-08 14:20:47,510 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:47,510 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 14 transitions. Stem has 22 letters. Loop has 6 letters. [2025-02-08 14:20:47,510 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:47,510 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 14 transitions. Stem has 16 letters. Loop has 12 letters. [2025-02-08 14:20:47,511 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-02-08 14:20:47,511 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 71 states and 95 transitions. [2025-02-08 14:20:47,512 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-02-08 14:20:47,512 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 71 states to 54 states and 72 transitions. [2025-02-08 14:20:47,512 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 15 [2025-02-08 14:20:47,512 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-02-08 14:20:47,512 INFO L73 IsDeterministic]: Start isDeterministic. Operand 54 states and 72 transitions. [2025-02-08 14:20:47,512 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:47,512 INFO L218 hiAutomatonCegarLoop]: Abstraction has 54 states and 72 transitions. [2025-02-08 14:20:47,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states and 72 transitions. [2025-02-08 14:20:47,514 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 46. [2025-02-08 14:20:47,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 45 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:47,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 62 transitions. [2025-02-08 14:20:47,514 INFO L240 hiAutomatonCegarLoop]: Abstraction has 46 states and 62 transitions. [2025-02-08 14:20:47,514 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:47,515 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-02-08 14:20:47,515 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2025-02-08 14:20:47,515 INFO L87 Difference]: Start difference. First operand 46 states and 62 transitions. Second operand has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:47,599 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Forceful destruction successful, exit code 0 [2025-02-08 14:20:47,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:47,611 INFO L93 Difference]: Finished difference Result 88 states and 104 transitions. [2025-02-08 14:20:47,611 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 88 states and 104 transitions. [2025-02-08 14:20:47,612 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-02-08 14:20:47,613 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 88 states to 74 states and 90 transitions. [2025-02-08 14:20:47,613 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-02-08 14:20:47,613 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-02-08 14:20:47,613 INFO L73 IsDeterministic]: Start isDeterministic. Operand 74 states and 90 transitions. [2025-02-08 14:20:47,613 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:47,613 INFO L218 hiAutomatonCegarLoop]: Abstraction has 74 states and 90 transitions. [2025-02-08 14:20:47,613 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states and 90 transitions. [2025-02-08 14:20:47,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 70. [2025-02-08 14:20:47,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 70 states have (on average 1.2285714285714286) internal successors, (86), 69 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:47,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 86 transitions. [2025-02-08 14:20:47,620 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70 states and 86 transitions. [2025-02-08 14:20:47,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-02-08 14:20:47,622 INFO L432 stractBuchiCegarLoop]: Abstraction has 70 states and 86 transitions. [2025-02-08 14:20:47,622 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-02-08 14:20:47,622 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70 states and 86 transitions. [2025-02-08 14:20:47,623 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-02-08 14:20:47,623 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:47,623 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:47,624 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 11, 9, 2, 1] [2025-02-08 14:20:47,624 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:47,624 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" [2025-02-08 14:20:47,624 INFO L754 eck$LassoCheckResult]: Loop: "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" [2025-02-08 14:20:47,624 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:47,624 INFO L85 PathProgramCache]: Analyzing trace with hash -983332570, now seen corresponding path program 6 times [2025-02-08 14:20:47,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:47,624 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1653775986] [2025-02-08 14:20:47,624 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:20:47,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:47,631 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 35 statements into 12 equivalence classes. [2025-02-08 14:20:47,656 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 35 of 35 statements. [2025-02-08 14:20:47,656 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-02-08 14:20:47,657 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:47,803 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-02-08 14:20:47,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:47,803 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1653775986] [2025-02-08 14:20:47,803 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1653775986] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:20:47,803 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [850558655] [2025-02-08 14:20:47,803 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:20:47,803 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:20:47,803 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:47,805 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:20:47,806 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2025-02-08 14:20:47,822 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 35 statements into 12 equivalence classes. [2025-02-08 14:20:47,831 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 35 of 35 statements. [2025-02-08 14:20:47,831 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-02-08 14:20:47,831 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:47,832 INFO L256 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-02-08 14:20:47,833 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:47,952 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-02-08 14:20:47,953 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:20:48,066 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-02-08 14:20:48,067 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [850558655] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:20:48,067 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:20:48,067 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 24 [2025-02-08 14:20:48,067 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [470996323] [2025-02-08 14:20:48,067 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:20:48,067 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-02-08 14:20:48,067 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:48,067 INFO L85 PathProgramCache]: Analyzing trace with hash 1090, now seen corresponding path program 3 times [2025-02-08 14:20:48,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:48,067 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [275722426] [2025-02-08 14:20:48,067 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:20:48,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:48,069 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:48,071 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:48,071 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-02-08 14:20:48,071 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:48,071 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:48,071 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:48,072 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:48,072 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:48,072 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:48,072 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:48,087 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:48,087 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-02-08 14:20:48,088 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=251, Invalid=349, Unknown=0, NotChecked=0, Total=600 [2025-02-08 14:20:48,088 INFO L87 Difference]: Start difference. First operand 70 states and 86 transitions. cyclomatic complexity: 22 Second operand has 25 states, 25 states have (on average 3.0) internal successors, (75), 24 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:48,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:48,248 INFO L93 Difference]: Finished difference Result 150 states and 166 transitions. [2025-02-08 14:20:48,248 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 150 states and 166 transitions. [2025-02-08 14:20:48,249 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-02-08 14:20:48,250 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 150 states to 122 states and 138 transitions. [2025-02-08 14:20:48,250 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-02-08 14:20:48,250 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-02-08 14:20:48,250 INFO L73 IsDeterministic]: Start isDeterministic. Operand 122 states and 138 transitions. [2025-02-08 14:20:48,250 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:48,250 INFO L218 hiAutomatonCegarLoop]: Abstraction has 122 states and 138 transitions. [2025-02-08 14:20:48,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states and 138 transitions. [2025-02-08 14:20:48,257 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 118. [2025-02-08 14:20:48,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 118 states have (on average 1.1355932203389831) internal successors, (134), 117 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:48,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 134 transitions. [2025-02-08 14:20:48,258 INFO L240 hiAutomatonCegarLoop]: Abstraction has 118 states and 134 transitions. [2025-02-08 14:20:48,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2025-02-08 14:20:48,258 INFO L432 stractBuchiCegarLoop]: Abstraction has 118 states and 134 transitions. [2025-02-08 14:20:48,258 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-02-08 14:20:48,258 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 118 states and 134 transitions. [2025-02-08 14:20:48,261 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-02-08 14:20:48,261 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:48,261 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:48,262 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 23, 21, 2, 1] [2025-02-08 14:20:48,263 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:48,263 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" [2025-02-08 14:20:48,263 INFO L754 eck$LassoCheckResult]: Loop: "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" [2025-02-08 14:20:48,263 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:48,263 INFO L85 PathProgramCache]: Analyzing trace with hash 634972326, now seen corresponding path program 7 times [2025-02-08 14:20:48,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:48,263 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [61545874] [2025-02-08 14:20:48,263 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-02-08 14:20:48,263 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:48,267 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 71 statements into 1 equivalence classes. [2025-02-08 14:20:48,277 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 71 of 71 statements. [2025-02-08 14:20:48,277 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:48,278 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:48,567 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-02-08 14:20:48,568 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:48,568 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [61545874] [2025-02-08 14:20:48,568 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [61545874] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:20:48,568 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1604555490] [2025-02-08 14:20:48,568 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-02-08 14:20:48,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:20:48,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:48,570 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:20:48,573 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2025-02-08 14:20:48,591 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 71 statements into 1 equivalence classes. [2025-02-08 14:20:48,604 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 71 of 71 statements. [2025-02-08 14:20:48,604 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:48,604 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:48,604 INFO L256 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-02-08 14:20:48,606 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:48,923 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-02-08 14:20:48,924 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:20:49,183 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-02-08 14:20:49,184 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1604555490] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:20:49,184 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:20:49,184 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17, 17] total 37 [2025-02-08 14:20:49,184 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [348205383] [2025-02-08 14:20:49,184 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:20:49,184 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-02-08 14:20:49,184 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:49,184 INFO L85 PathProgramCache]: Analyzing trace with hash 1090, now seen corresponding path program 4 times [2025-02-08 14:20:49,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:49,184 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [804887481] [2025-02-08 14:20:49,184 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:20:49,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:49,186 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-02-08 14:20:49,188 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:49,188 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-02-08 14:20:49,188 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:49,188 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:49,188 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:49,189 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:49,189 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:49,189 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:49,190 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:49,202 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:49,204 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-02-08 14:20:49,204 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=545, Invalid=861, Unknown=0, NotChecked=0, Total=1406 [2025-02-08 14:20:49,205 INFO L87 Difference]: Start difference. First operand 118 states and 134 transitions. cyclomatic complexity: 22 Second operand has 38 states, 38 states have (on average 3.026315789473684) internal successors, (115), 37 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:49,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:49,373 INFO L93 Difference]: Finished difference Result 219 states and 235 transitions. [2025-02-08 14:20:49,373 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 219 states and 235 transitions. [2025-02-08 14:20:49,375 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-02-08 14:20:49,376 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 219 states to 185 states and 201 transitions. [2025-02-08 14:20:49,376 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-02-08 14:20:49,376 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-02-08 14:20:49,378 INFO L73 IsDeterministic]: Start isDeterministic. Operand 185 states and 201 transitions. [2025-02-08 14:20:49,378 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:49,379 INFO L218 hiAutomatonCegarLoop]: Abstraction has 185 states and 201 transitions. [2025-02-08 14:20:49,379 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states and 201 transitions. [2025-02-08 14:20:49,382 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 181. [2025-02-08 14:20:49,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 181 states have (on average 1.0883977900552486) internal successors, (197), 180 states have internal predecessors, (197), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:49,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 197 transitions. [2025-02-08 14:20:49,385 INFO L240 hiAutomatonCegarLoop]: Abstraction has 181 states and 197 transitions. [2025-02-08 14:20:49,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2025-02-08 14:20:49,385 INFO L432 stractBuchiCegarLoop]: Abstraction has 181 states and 197 transitions. [2025-02-08 14:20:49,385 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-02-08 14:20:49,386 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 181 states and 197 transitions. [2025-02-08 14:20:49,386 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-02-08 14:20:49,386 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:49,386 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:49,388 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [37, 36, 34, 2, 1] [2025-02-08 14:20:49,388 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:49,388 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" [2025-02-08 14:20:49,388 INFO L754 eck$LassoCheckResult]: Loop: "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" [2025-02-08 14:20:49,389 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:49,389 INFO L85 PathProgramCache]: Analyzing trace with hash -450641922, now seen corresponding path program 8 times [2025-02-08 14:20:49,389 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:49,389 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [641654171] [2025-02-08 14:20:49,389 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:49,389 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:49,393 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 110 statements into 2 equivalence classes. [2025-02-08 14:20:49,403 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 110 of 110 statements. [2025-02-08 14:20:49,403 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:20:49,403 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:49,403 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:49,405 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-02-08 14:20:49,414 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-02-08 14:20:49,414 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:49,414 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:49,417 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:49,418 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:49,418 INFO L85 PathProgramCache]: Analyzing trace with hash 1090, now seen corresponding path program 5 times [2025-02-08 14:20:49,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:49,418 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487924117] [2025-02-08 14:20:49,418 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:20:49,418 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:49,419 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:49,420 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:49,420 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:20:49,420 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:49,420 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:49,420 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:49,420 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:49,420 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:49,421 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:49,421 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:49,421 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:49,421 INFO L85 PathProgramCache]: Analyzing trace with hash 724809983, now seen corresponding path program 1 times [2025-02-08 14:20:49,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:49,421 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [360704143] [2025-02-08 14:20:49,422 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:20:49,422 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:49,448 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 112 statements into 1 equivalence classes. [2025-02-08 14:20:49,453 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 112 of 112 statements. [2025-02-08 14:20:49,453 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:49,453 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:49,497 INFO L134 CoverageAnalysis]: Checked inductivity of 1999 backedges. 179 proven. 0 refuted. 0 times theorem prover too weak. 1820 trivial. 0 not checked. [2025-02-08 14:20:49,498 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:49,498 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [360704143] [2025-02-08 14:20:49,498 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [360704143] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 14:20:49,498 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 14:20:49,498 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-02-08 14:20:49,498 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [735728951] [2025-02-08 14:20:49,498 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 14:20:49,508 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:49,508 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-02-08 14:20:49,508 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-02-08 14:20:49,508 INFO L87 Difference]: Start difference. First operand 181 states and 197 transitions. cyclomatic complexity: 22 Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:49,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:49,520 INFO L93 Difference]: Finished difference Result 179 states and 191 transitions. [2025-02-08 14:20:49,520 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 179 states and 191 transitions. [2025-02-08 14:20:49,521 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:49,521 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 179 states to 131 states and 139 transitions. [2025-02-08 14:20:49,522 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2025-02-08 14:20:49,522 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2025-02-08 14:20:49,522 INFO L73 IsDeterministic]: Start isDeterministic. Operand 131 states and 139 transitions. [2025-02-08 14:20:49,522 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:49,522 INFO L218 hiAutomatonCegarLoop]: Abstraction has 131 states and 139 transitions. [2025-02-08 14:20:49,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states and 139 transitions. [2025-02-08 14:20:49,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 128. [2025-02-08 14:20:49,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 128 states have (on average 1.0625) internal successors, (136), 127 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:49,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 136 transitions. [2025-02-08 14:20:49,525 INFO L240 hiAutomatonCegarLoop]: Abstraction has 128 states and 136 transitions. [2025-02-08 14:20:49,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-02-08 14:20:49,525 INFO L432 stractBuchiCegarLoop]: Abstraction has 128 states and 136 transitions. [2025-02-08 14:20:49,525 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-02-08 14:20:49,525 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 128 states and 136 transitions. [2025-02-08 14:20:49,526 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:49,526 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:49,526 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:49,527 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [38, 37, 34, 3, 1, 1] [2025-02-08 14:20:49,527 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:49,527 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:49,527 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:49,530 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:49,530 INFO L85 PathProgramCache]: Analyzing trace with hash 757658235, now seen corresponding path program 2 times [2025-02-08 14:20:49,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:49,530 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1860990667] [2025-02-08 14:20:49,531 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:49,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:49,536 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 114 statements into 2 equivalence classes. [2025-02-08 14:20:49,543 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 114 of 114 statements. [2025-02-08 14:20:49,543 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:20:49,544 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:49,639 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 0 proven. 1142 refuted. 0 times theorem prover too weak. 930 trivial. 0 not checked. [2025-02-08 14:20:49,639 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:49,639 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1860990667] [2025-02-08 14:20:49,639 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1860990667] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:20:49,639 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1573010333] [2025-02-08 14:20:49,639 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:49,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:20:49,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:49,645 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:20:49,646 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2025-02-08 14:20:49,664 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 114 statements into 2 equivalence classes. [2025-02-08 14:20:49,685 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 114 of 114 statements. [2025-02-08 14:20:49,685 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:20:49,685 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:49,686 INFO L256 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 20 conjuncts are in the unsatisfiable core [2025-02-08 14:20:49,687 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:50,055 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 74 proven. 1428 refuted. 0 times theorem prover too weak. 570 trivial. 0 not checked. [2025-02-08 14:20:50,055 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:20:50,423 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 74 proven. 1428 refuted. 0 times theorem prover too weak. 570 trivial. 0 not checked. [2025-02-08 14:20:50,423 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1573010333] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:20:50,423 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:20:50,423 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 19, 19] total 37 [2025-02-08 14:20:50,424 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1847861940] [2025-02-08 14:20:50,424 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:20:50,425 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-02-08 14:20:50,425 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:50,426 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 6 times [2025-02-08 14:20:50,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:50,426 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586609214] [2025-02-08 14:20:50,426 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:20:50,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:50,427 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:50,428 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:50,428 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-02-08 14:20:50,428 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:50,428 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:50,429 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:50,429 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:50,429 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:50,429 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:50,430 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:50,442 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:50,443 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-02-08 14:20:50,443 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=516, Invalid=890, Unknown=0, NotChecked=0, Total=1406 [2025-02-08 14:20:50,444 INFO L87 Difference]: Start difference. First operand 128 states and 136 transitions. cyclomatic complexity: 12 Second operand has 38 states, 38 states have (on average 3.0789473684210527) internal successors, (117), 37 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:51,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:51,102 INFO L93 Difference]: Finished difference Result 313 states and 323 transitions. [2025-02-08 14:20:51,103 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 313 states and 323 transitions. [2025-02-08 14:20:51,105 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:51,106 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 313 states to 247 states and 257 transitions. [2025-02-08 14:20:51,106 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2025-02-08 14:20:51,106 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2025-02-08 14:20:51,106 INFO L73 IsDeterministic]: Start isDeterministic. Operand 247 states and 257 transitions. [2025-02-08 14:20:51,106 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:51,106 INFO L218 hiAutomatonCegarLoop]: Abstraction has 247 states and 257 transitions. [2025-02-08 14:20:51,107 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 247 states and 257 transitions. [2025-02-08 14:20:51,110 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 247 to 239. [2025-02-08 14:20:51,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 239 states, 239 states have (on average 1.0418410041841004) internal successors, (249), 238 states have internal predecessors, (249), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:51,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 249 transitions. [2025-02-08 14:20:51,112 INFO L240 hiAutomatonCegarLoop]: Abstraction has 239 states and 249 transitions. [2025-02-08 14:20:51,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 75 states. [2025-02-08 14:20:51,112 INFO L432 stractBuchiCegarLoop]: Abstraction has 239 states and 249 transitions. [2025-02-08 14:20:51,112 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-02-08 14:20:51,113 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 239 states and 249 transitions. [2025-02-08 14:20:51,114 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:51,114 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:51,114 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:51,116 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [75, 74, 69, 5, 1, 1] [2025-02-08 14:20:51,116 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:51,116 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:51,117 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:51,117 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:51,117 INFO L85 PathProgramCache]: Analyzing trace with hash 31783717, now seen corresponding path program 3 times [2025-02-08 14:20:51,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:51,117 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1435956775] [2025-02-08 14:20:51,117 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:20:51,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:51,127 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 225 statements into 75 equivalence classes. [2025-02-08 14:20:51,130 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 18 of 225 statements. [2025-02-08 14:20:51,131 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-02-08 14:20:51,131 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:51,234 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-02-08 14:20:51,234 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:51,234 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1435956775] [2025-02-08 14:20:51,234 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1435956775] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:20:51,234 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [918387822] [2025-02-08 14:20:51,235 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:20:51,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:20:51,236 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:51,238 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:20:51,239 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Waiting until timeout for monitored process [2025-02-08 14:20:51,267 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 225 statements into 75 equivalence classes. [2025-02-08 14:20:51,273 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 18 of 225 statements. [2025-02-08 14:20:51,273 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-02-08 14:20:51,273 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:51,273 INFO L256 TraceCheckSpWp]: Trace formula consists of 46 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-02-08 14:20:51,275 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:51,310 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-02-08 14:20:51,310 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:20:51,345 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-02-08 14:20:51,345 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [918387822] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:20:51,345 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:20:51,345 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 7 [2025-02-08 14:20:51,345 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1826275356] [2025-02-08 14:20:51,345 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:20:51,345 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-02-08 14:20:51,346 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:51,346 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 7 times [2025-02-08 14:20:51,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:51,346 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [827957221] [2025-02-08 14:20:51,346 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-02-08 14:20:51,346 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:51,347 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:51,348 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:51,348 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:51,348 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:51,348 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:51,348 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:51,348 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:51,348 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:51,348 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:51,349 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:51,364 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:51,365 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2025-02-08 14:20:51,365 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2025-02-08 14:20:51,365 INFO L87 Difference]: Start difference. First operand 239 states and 249 transitions. cyclomatic complexity: 16 Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:51,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:51,425 INFO L93 Difference]: Finished difference Result 259 states and 273 transitions. [2025-02-08 14:20:51,425 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 259 states and 273 transitions. [2025-02-08 14:20:51,427 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:51,428 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 259 states to 259 states and 273 transitions. [2025-02-08 14:20:51,428 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-02-08 14:20:51,428 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-02-08 14:20:51,428 INFO L73 IsDeterministic]: Start isDeterministic. Operand 259 states and 273 transitions. [2025-02-08 14:20:51,428 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:51,428 INFO L218 hiAutomatonCegarLoop]: Abstraction has 259 states and 273 transitions. [2025-02-08 14:20:51,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states and 273 transitions. [2025-02-08 14:20:51,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 244. [2025-02-08 14:20:51,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 244 states, 244 states have (on average 1.0450819672131149) internal successors, (255), 243 states have internal predecessors, (255), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:51,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 255 transitions. [2025-02-08 14:20:51,431 INFO L240 hiAutomatonCegarLoop]: Abstraction has 244 states and 255 transitions. [2025-02-08 14:20:51,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-02-08 14:20:51,434 INFO L432 stractBuchiCegarLoop]: Abstraction has 244 states and 255 transitions. [2025-02-08 14:20:51,434 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-02-08 14:20:51,434 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 244 states and 255 transitions. [2025-02-08 14:20:51,435 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:51,435 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:51,435 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:51,437 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [76, 75, 69, 6, 1, 1] [2025-02-08 14:20:51,437 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:51,437 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:51,441 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:51,442 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:51,442 INFO L85 PathProgramCache]: Analyzing trace with hash 1975879356, now seen corresponding path program 4 times [2025-02-08 14:20:51,442 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:51,442 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1553428250] [2025-02-08 14:20:51,442 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:20:51,442 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:51,452 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 228 statements into 2 equivalence classes. [2025-02-08 14:20:51,461 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 227 of 228 statements. [2025-02-08 14:20:51,461 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-02-08 14:20:51,461 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:51,527 INFO L134 CoverageAnalysis]: Checked inductivity of 8475 backedges. 372 proven. 0 refuted. 0 times theorem prover too weak. 8103 trivial. 0 not checked. [2025-02-08 14:20:51,527 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:51,527 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1553428250] [2025-02-08 14:20:51,527 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1553428250] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 14:20:51,528 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 14:20:51,528 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-02-08 14:20:51,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [615057448] [2025-02-08 14:20:51,528 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 14:20:51,528 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-02-08 14:20:51,528 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:51,528 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 8 times [2025-02-08 14:20:51,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:51,528 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1465829990] [2025-02-08 14:20:51,528 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:20:51,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:51,529 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:51,529 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:51,529 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:20:51,529 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:51,529 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:51,530 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:51,530 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:51,530 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:51,530 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:51,530 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:51,541 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:51,541 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-02-08 14:20:51,542 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-02-08 14:20:51,542 INFO L87 Difference]: Start difference. First operand 244 states and 255 transitions. cyclomatic complexity: 17 Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:51,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:51,554 INFO L93 Difference]: Finished difference Result 244 states and 254 transitions. [2025-02-08 14:20:51,554 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 244 states and 254 transitions. [2025-02-08 14:20:51,555 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:51,556 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 244 states to 244 states and 254 transitions. [2025-02-08 14:20:51,556 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2025-02-08 14:20:51,556 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2025-02-08 14:20:51,556 INFO L73 IsDeterministic]: Start isDeterministic. Operand 244 states and 254 transitions. [2025-02-08 14:20:51,556 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:51,556 INFO L218 hiAutomatonCegarLoop]: Abstraction has 244 states and 254 transitions. [2025-02-08 14:20:51,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states and 254 transitions. [2025-02-08 14:20:51,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 244. [2025-02-08 14:20:51,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 244 states, 244 states have (on average 1.040983606557377) internal successors, (254), 243 states have internal predecessors, (254), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:51,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 254 transitions. [2025-02-08 14:20:51,559 INFO L240 hiAutomatonCegarLoop]: Abstraction has 244 states and 254 transitions. [2025-02-08 14:20:51,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-02-08 14:20:51,563 INFO L432 stractBuchiCegarLoop]: Abstraction has 244 states and 254 transitions. [2025-02-08 14:20:51,563 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-02-08 14:20:51,563 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 244 states and 254 transitions. [2025-02-08 14:20:51,564 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:51,564 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:51,564 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:51,569 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [77, 76, 70, 6, 1, 1] [2025-02-08 14:20:51,569 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:51,570 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:51,570 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:51,570 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:51,570 INFO L85 PathProgramCache]: Analyzing trace with hash 923703396, now seen corresponding path program 5 times [2025-02-08 14:20:51,570 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:51,570 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2139260059] [2025-02-08 14:20:51,570 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:20:51,570 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:51,579 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 231 statements into 77 equivalence classes. [2025-02-08 14:20:51,611 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 231 statements. [2025-02-08 14:20:51,612 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-02-08 14:20:51,612 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:52,544 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6037 proven. 1463 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-02-08 14:20:52,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:20:52,544 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2139260059] [2025-02-08 14:20:52,544 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2139260059] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:20:52,544 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2118641546] [2025-02-08 14:20:52,544 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:20:52,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:20:52,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:20:52,547 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:20:52,551 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2025-02-08 14:20:52,581 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 231 statements into 77 equivalence classes. [2025-02-08 14:20:52,635 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 231 statements. [2025-02-08 14:20:52,635 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-02-08 14:20:52,635 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:20:52,637 INFO L256 TraceCheckSpWp]: Trace formula consists of 299 conjuncts, 39 conjuncts are in the unsatisfiable core [2025-02-08 14:20:52,640 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:20:53,327 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6104 proven. 1396 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-02-08 14:20:53,327 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:20:54,375 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6104 proven. 1396 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-02-08 14:20:54,375 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2118641546] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:20:54,375 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:20:54,375 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 39, 39] total 58 [2025-02-08 14:20:54,375 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [140131968] [2025-02-08 14:20:54,375 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:20:54,375 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-02-08 14:20:54,376 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:54,376 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 9 times [2025-02-08 14:20:54,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:54,376 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1239479222] [2025-02-08 14:20:54,376 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:20:54,376 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:54,381 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:54,381 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:54,381 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-02-08 14:20:54,381 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:54,381 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:54,382 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:54,382 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:54,382 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:54,382 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:54,382 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:54,393 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:20:54,394 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 58 interpolants. [2025-02-08 14:20:54,395 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=726, Invalid=2580, Unknown=0, NotChecked=0, Total=3306 [2025-02-08 14:20:54,395 INFO L87 Difference]: Start difference. First operand 244 states and 254 transitions. cyclomatic complexity: 16 Second operand has 58 states, 58 states have (on average 3.0517241379310347) internal successors, (177), 58 states have internal predecessors, (177), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:59,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:20:59,060 INFO L93 Difference]: Finished difference Result 1209 states and 1255 transitions. [2025-02-08 14:20:59,060 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1209 states and 1255 transitions. [2025-02-08 14:20:59,068 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:59,073 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1209 states to 935 states and 981 transitions. [2025-02-08 14:20:59,074 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2025-02-08 14:20:59,074 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2025-02-08 14:20:59,074 INFO L73 IsDeterministic]: Start isDeterministic. Operand 935 states and 981 transitions. [2025-02-08 14:20:59,074 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-02-08 14:20:59,074 INFO L218 hiAutomatonCegarLoop]: Abstraction has 935 states and 981 transitions. [2025-02-08 14:20:59,075 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 935 states and 981 transitions. [2025-02-08 14:20:59,081 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 935 to 646. [2025-02-08 14:20:59,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 646 states, 646 states have (on average 1.0371517027863777) internal successors, (670), 645 states have internal predecessors, (670), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 14:20:59,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 646 states to 646 states and 670 transitions. [2025-02-08 14:20:59,084 INFO L240 hiAutomatonCegarLoop]: Abstraction has 646 states and 670 transitions. [2025-02-08 14:20:59,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 197 states. [2025-02-08 14:20:59,086 INFO L432 stractBuchiCegarLoop]: Abstraction has 646 states and 670 transitions. [2025-02-08 14:20:59,086 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-02-08 14:20:59,086 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 646 states and 670 transitions. [2025-02-08 14:20:59,088 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-02-08 14:20:59,089 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:20:59,089 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:20:59,096 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [211, 210, 190, 20, 1, 1] [2025-02-08 14:20:59,097 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-02-08 14:20:59,097 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume !(main_~i~0#1 == main_~range~0#1);main_~i~0#1 := 1 + main_~i~0#1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:59,097 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-02-08 14:20:59,098 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:59,098 INFO L85 PathProgramCache]: Analyzing trace with hash -271245116, now seen corresponding path program 6 times [2025-02-08 14:20:59,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:59,098 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [986666302] [2025-02-08 14:20:59,098 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:20:59,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:59,117 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 633 statements into 211 equivalence classes. [2025-02-08 14:20:59,536 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) and asserted 633 of 633 statements. [2025-02-08 14:20:59,537 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) [2025-02-08 14:20:59,537 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:59,538 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:59,549 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 633 statements into 1 equivalence classes. [2025-02-08 14:20:59,652 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 633 of 633 statements. [2025-02-08 14:20:59,652 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:59,652 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:59,664 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:59,665 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:59,665 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 10 times [2025-02-08 14:20:59,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:59,665 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755753051] [2025-02-08 14:20:59,665 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:20:59,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:59,666 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-02-08 14:20:59,667 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:59,667 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-02-08 14:20:59,667 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:59,667 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:59,667 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:20:59,667 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:20:59,667 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:59,667 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:59,667 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:20:59,668 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:20:59,668 INFO L85 PathProgramCache]: Analyzing trace with hash 1326448739, now seen corresponding path program 7 times [2025-02-08 14:20:59,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:20:59,668 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1178566339] [2025-02-08 14:20:59,668 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-02-08 14:20:59,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:20:59,681 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 635 statements into 1 equivalence classes. [2025-02-08 14:20:59,768 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 635 of 635 statements. [2025-02-08 14:20:59,768 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:59,768 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:59,768 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:20:59,774 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 635 statements into 1 equivalence classes. [2025-02-08 14:20:59,846 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 635 of 635 statements. [2025-02-08 14:20:59,846 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:20:59,846 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:20:59,858 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:21:32,429 WARN L286 SmtUtils]: Spent 32.41s on a formula simplification. DAG size of input: 2131 DAG size of output: 660 (called from [L 276] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2025-02-08 14:21:34,211 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 633 statements into 1 equivalence classes. [2025-02-08 14:21:34,289 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 633 of 633 statements. [2025-02-08 14:21:34,289 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:21:34,289 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:21:34,289 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:21:34,310 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 633 statements into 1 equivalence classes. [2025-02-08 14:21:34,385 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 633 of 633 statements. [2025-02-08 14:21:34,385 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:21:34,386 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:21:34,578 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 08.02 02:21:34 BoogieIcfgContainer [2025-02-08 14:21:34,579 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-02-08 14:21:34,579 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-02-08 14:21:34,579 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-02-08 14:21:34,580 INFO L274 PluginConnector]: Witness Printer initialized [2025-02-08 14:21:34,580 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 02:20:44" (3/4) ... [2025-02-08 14:21:34,582 INFO L143 WitnessPrinter]: Generating witness for non-termination counterexample [2025-02-08 14:21:34,670 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-02-08 14:21:34,670 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-02-08 14:21:34,670 INFO L158 Benchmark]: Toolchain (without parser) took 50602.71ms. Allocated memory was 528.5MB in the beginning and 570.4MB in the end (delta: 41.9MB). Free memory was 500.4MB in the beginning and 412.7MB in the end (delta: 87.7MB). Peak memory consumption was 123.0MB. Max. memory is 16.1GB. [2025-02-08 14:21:34,671 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 201.3MB. Free memory is still 123.4MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-08 14:21:34,671 INFO L158 Benchmark]: CACSL2BoogieTranslator took 142.70ms. Allocated memory was 528.5MB in the beginning and 142.6MB in the end (delta: -385.9MB). Free memory was 500.4MB in the beginning and 104.5MB in the end (delta: 395.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-08 14:21:34,671 INFO L158 Benchmark]: Boogie Procedure Inliner took 17.64ms. Allocated memory is still 142.6MB. Free memory was 104.5MB in the beginning and 103.5MB in the end (delta: 915.0kB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-08 14:21:34,671 INFO L158 Benchmark]: Boogie Preprocessor took 15.86ms. Allocated memory is still 142.6MB. Free memory was 103.5MB in the beginning and 102.6MB in the end (delta: 933.9kB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-08 14:21:34,672 INFO L158 Benchmark]: IcfgBuilder took 169.66ms. Allocated memory is still 142.6MB. Free memory was 102.6MB in the beginning and 93.5MB in the end (delta: 9.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-08 14:21:34,672 INFO L158 Benchmark]: BuchiAutomizer took 50162.30ms. Allocated memory was 142.6MB in the beginning and 570.4MB in the end (delta: 427.8MB). Free memory was 93.5MB in the beginning and 433.7MB in the end (delta: -340.2MB). Peak memory consumption was 89.5MB. Max. memory is 16.1GB. [2025-02-08 14:21:34,672 INFO L158 Benchmark]: Witness Printer took 90.65ms. Allocated memory is still 570.4MB. Free memory was 433.7MB in the beginning and 412.7MB in the end (delta: 21.0MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-02-08 14:21:34,674 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 201.3MB. Free memory is still 123.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 142.70ms. Allocated memory was 528.5MB in the beginning and 142.6MB in the end (delta: -385.9MB). Free memory was 500.4MB in the beginning and 104.5MB in the end (delta: 395.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 17.64ms. Allocated memory is still 142.6MB. Free memory was 104.5MB in the beginning and 103.5MB in the end (delta: 915.0kB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 15.86ms. Allocated memory is still 142.6MB. Free memory was 103.5MB in the beginning and 102.6MB in the end (delta: 933.9kB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 169.66ms. Allocated memory is still 142.6MB. Free memory was 102.6MB in the beginning and 93.5MB in the end (delta: 9.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * BuchiAutomizer took 50162.30ms. Allocated memory was 142.6MB in the beginning and 570.4MB in the end (delta: 427.8MB). Free memory was 93.5MB in the beginning and 433.7MB in the end (delta: -340.2MB). Peak memory consumption was 89.5MB. Max. memory is 16.1GB. * Witness Printer took 90.65ms. Allocated memory is still 570.4MB. Free memory was 433.7MB in the beginning and 412.7MB in the end (delta: 21.0MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 14 terminating modules (10 trivial, 3 deterministic, 1 nondeterministic) and one nonterminating remainder module.One deterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. One deterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. One deterministic module has affine ranking function range and consists of 4 locations. One nondeterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. 10 modules have a trivial ranking function, the largest among these consists of 58 locations. The remainder module has 646 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 49.9s and 14 iterations. TraceHistogramMax:211. Analysis of lassos took 43.2s. Construction of modules took 1.0s. Büchi inclusion checks took 5.5s. Highest rank in rank-based complementation 3. Minimization of det autom 1. Minimization of nondet autom 13. Automata minimization 0.1s AutomataMinimizationTime, 14 MinimizatonAttempts, 355 StatesRemovedByMinimization, 10 NontrivialMinimizations. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [3, 0, 1, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 3/3 HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 118 SdHoareTripleChecker+Valid, 1.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 112 mSDsluCounter, 50 SdHoareTripleChecker+Invalid, 1.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1 mSDsCounter, 329 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1911 IncrementalHoareTripleChecker+Invalid, 2240 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 329 mSolverCounterUnsat, 49 mSDtfsCounter, 1911 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont1 unkn0 SFLI0 SFLT3 conc3 concLT0 SILN6 SILU0 SILI0 SILT1 lasso0 LassoPreprocessingBenchmarks: Lassos: inital18 mio100 ax165 hnf100 lsp60 ukn100 mio100 lsp100 div100 bol100 ite100 ukn100 eq167 hnf95 smp67 dnf100 smp100 tf110 neg100 sie109 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 27ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 8 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 4 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.5s InitialAbstractionConstructionTime: 0.0s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - LassoShapedNonTerminationArgument [Line: 11]: Nontermination argument in form of an infinite program execution. Nontermination argument in form of an infinite program execution. Stem: [L6] int i; [L7] int range; [L8] i = __VERIFIER_nondet_int() [L9] range = 20 VAL [range=20] [L11] COND TRUE 0 <= i && i <= range VAL [i=20, range=20] [L12] COND TRUE !(0 == i && i == range) VAL [i=20, range=20] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=19, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=19, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=19, range=19] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=18] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=17] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=16] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=15] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=14] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=13] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=12] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=11] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=10] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=9] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=8] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=7] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=6] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=5] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=4] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=3] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=2] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=1] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=1] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=0] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=0] [L12] COND FALSE !(!(0 == i && i == range)) VAL [i=0, range=0] Loop: [L11] COND TRUE 0 <= i && i <= range [L12] COND FALSE !(!(0 == i && i == range)) End of lasso representation. - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 11]: Nonterminating execution Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L6] int i; [L7] int range; [L8] i = __VERIFIER_nondet_int() [L9] range = 20 VAL [range=20] [L11] COND TRUE 0 <= i && i <= range VAL [i=20, range=20] [L12] COND TRUE !(0 == i && i == range) VAL [i=20, range=20] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=19, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=19, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=19, range=19] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=18] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=17] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=16] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=15] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=14] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=13] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=12] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=11] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=10] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=9] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=8] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=7] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=6] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=5] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=4] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=3] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=2] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=1] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=1] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=0] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=0] [L12] COND FALSE !(!(0 == i && i == range)) VAL [i=0, range=0] Loop: [L11] COND TRUE 0 <= i && i <= range [L12] COND FALSE !(!(0 == i && i == range)) End of lasso representation. RESULT: Ultimate proved your program to be incorrect! [2025-02-08 14:21:34,723 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Ended with exit code 0 [2025-02-08 14:21:34,924 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Forceful destruction successful, exit code 0 [2025-02-08 14:21:35,127 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Ended with exit code 0 [2025-02-08 14:21:35,327 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2025-02-08 14:21:35,527 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Ended with exit code 0 [2025-02-08 14:21:35,727 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2025-02-08 14:21:35,927 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2025-02-08 14:21:36,135 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE(TERM)