./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 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/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-?-551b009-m [2025-01-10 07:02:28,139 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-10 07:02:28,241 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2025-01-10 07:02:28,250 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-10 07:02:28,255 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-10 07:02:28,288 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-10 07:02:28,290 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-10 07:02:28,290 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-10 07:02:28,290 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-10 07:02:28,291 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-10 07:02:28,292 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Use SBE=true [2025-01-10 07:02:28,292 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Use old map elimination=false [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-01-10 07:02:28,292 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-01-10 07:02:28,292 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-01-10 07:02:28,293 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-01-10 07:02:28,293 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-10 07:02:28,293 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-01-10 07:02:28,293 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-10 07:02:28,293 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-10 07:02:28,294 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-10 07:02:28,294 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-10 07:02:28,294 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-10 07:02:28,294 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-10 07:02:28,294 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-01-10 07:02:28,295 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-01-10 07:02:28,648 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-10 07:02:28,655 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-10 07:02:28,659 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-10 07:02:28,660 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-10 07:02:28,660 INFO L274 PluginConnector]: CDTParser initialized [2025-01-10 07:02:28,661 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-01-10 07:02:29,896 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/1cc465cc9/6fd2e4ebaed145b6901f0b9fcccbbb9f/FLAGe15ec63f0 [2025-01-10 07:02:30,149 INFO L384 CDTParser]: Found 1 translation units. [2025-01-10 07:02:30,150 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/termination-restricted-15/NarrowKonv.c [2025-01-10 07:02:30,160 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/1cc465cc9/6fd2e4ebaed145b6901f0b9fcccbbb9f/FLAGe15ec63f0 [2025-01-10 07:02:30,179 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/1cc465cc9/6fd2e4ebaed145b6901f0b9fcccbbb9f [2025-01-10 07:02:30,181 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-10 07:02:30,182 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-10 07:02:30,185 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-10 07:02:30,186 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-10 07:02:30,189 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-10 07:02:30,190 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,191 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@34400895 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30, skipping insertion in model container [2025-01-10 07:02:30,191 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,202 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-10 07:02:30,310 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:02:30,314 INFO L200 MainTranslator]: Completed pre-run [2025-01-10 07:02:30,324 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:02:30,334 INFO L204 MainTranslator]: Completed translation [2025-01-10 07:02:30,336 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30 WrapperNode [2025-01-10 07:02:30,336 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-10 07:02:30,337 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-10 07:02:30,337 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-10 07:02:30,337 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-10 07:02:30,341 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,344 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,352 INFO L138 Inliner]: procedures = 4, calls = 2, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 16 [2025-01-10 07:02:30,353 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-10 07:02:30,354 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-10 07:02:30,354 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-10 07:02:30,354 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-10 07:02:30,359 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,360 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,361 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,364 INFO L175 MemorySlicer]: No memory access in input program. [2025-01-10 07:02:30,364 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,364 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,365 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,367 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,369 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,372 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,372 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,373 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-10 07:02:30,373 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-10 07:02:30,373 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-10 07:02:30,373 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-10 07:02:30,376 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (1/1) ... [2025-01-10 07:02:30,380 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:30,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:30,413 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-01-10 07:02:30,416 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-01-10 07:02:30,455 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-10 07:02:30,455 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-10 07:02:30,542 INFO L234 CfgBuilder]: Building ICFG [2025-01-10 07:02:30,544 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-10 07:02:30,594 INFO L? ?]: Removed 4 outVars from TransFormulas that were not future-live. [2025-01-10 07:02:30,595 INFO L283 CfgBuilder]: Performing block encoding [2025-01-10 07:02:30,604 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-10 07:02:30,604 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-01-10 07:02:30,604 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:02:30 BoogieIcfgContainer [2025-01-10 07:02:30,604 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-10 07:02:30,605 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-01-10 07:02:30,606 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-01-10 07:02:30,610 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-01-10 07:02:30,611 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:02:30,611 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 10.01 07:02:30" (1/3) ... [2025-01-10 07:02:30,612 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@71772511 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:02:30, skipping insertion in model container [2025-01-10 07:02:30,613 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:02:30,613 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:02:30" (2/3) ... [2025-01-10 07:02:30,613 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@71772511 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:02:30, skipping insertion in model container [2025-01-10 07:02:30,613 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:02:30,613 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:02:30" (3/3) ... [2025-01-10 07:02:30,614 INFO L363 chiAutomizerObserver]: Analyzing ICFG NarrowKonv.c [2025-01-10 07:02:30,645 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-01-10 07:02:30,646 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-01-10 07:02:30,646 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-01-10 07:02:30,646 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-01-10 07:02:30,646 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-01-10 07:02:30,646 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-01-10 07:02:30,646 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-01-10 07:02:30,646 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-01-10 07:02:30,649 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 8 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 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-01-10 07:02:30,658 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-01-10 07:02:30,658 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:30,658 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:30,662 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-01-10 07:02:30,662 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:30,662 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-01-10 07:02:30,662 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 8 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 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-01-10 07:02:30,663 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-01-10 07:02:30,663 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:30,663 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:30,663 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-01-10 07:02:30,663 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:30,668 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-01-10 07:02:30,668 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-01-10 07:02:30,671 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:30,672 INFO L85 PathProgramCache]: Analyzing trace with hash 963, now seen corresponding path program 1 times [2025-01-10 07:02:30,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:30,677 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2047897548] [2025-01-10 07:02:30,677 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:30,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:30,719 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:30,721 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:30,721 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,721 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,722 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:30,723 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:30,724 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:30,724 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,724 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,732 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:30,734 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:30,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1164, now seen corresponding path program 1 times [2025-01-10 07:02:30,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:30,734 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1639194395] [2025-01-10 07:02:30,734 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:30,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:30,737 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:30,740 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:30,740 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,740 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,740 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:30,741 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:30,742 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:30,742 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,742 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,743 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:30,744 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:30,744 INFO L85 PathProgramCache]: Analyzing trace with hash 925646, now seen corresponding path program 1 times [2025-01-10 07:02:30,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:30,744 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [708778920] [2025-01-10 07:02:30,744 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:30,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:30,747 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:02:30,749 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:02:30,749 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,749 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:30,792 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:30,793 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:30,793 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [708778920] [2025-01-10 07:02:30,793 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [708778920] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:02:30,793 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:02:30,793 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:02:30,793 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1894165359] [2025-01-10 07:02:30,794 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:02:30,845 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:30,865 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:02:30,866 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:02:30,867 INFO L87 Difference]: Start difference. First operand has 8 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 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) Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 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-01-10 07:02:30,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:30,900 INFO L93 Difference]: Finished difference Result 11 states and 15 transitions. [2025-01-10 07:02:30,901 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 11 states and 15 transitions. [2025-01-10 07:02:30,901 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-01-10 07:02:30,905 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 11 states to 8 states and 11 transitions. [2025-01-10 07:02:30,907 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 8 [2025-01-10 07:02:30,907 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2025-01-10 07:02:30,907 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 11 transitions. [2025-01-10 07:02:30,908 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-01-10 07:02:30,908 INFO L218 hiAutomatonCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-01-10 07:02:30,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states and 11 transitions. [2025-01-10 07:02:30,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2025-01-10 07:02:30,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 1.375) internal successors, (11), 7 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-01-10 07:02:30,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 11 transitions. [2025-01-10 07:02:30,926 INFO L240 hiAutomatonCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-01-10 07:02:30,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:02:30,930 INFO L432 stractBuchiCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-01-10 07:02:30,931 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-01-10 07:02:30,931 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 8 states and 11 transitions. [2025-01-10 07:02:30,931 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-01-10 07:02:30,932 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:30,932 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:30,932 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-01-10 07:02:30,932 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-01-10 07:02:30,932 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-01-10 07:02:30,932 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-01-10 07:02:30,933 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:30,933 INFO L85 PathProgramCache]: Analyzing trace with hash 963, now seen corresponding path program 2 times [2025-01-10 07:02:30,934 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:30,934 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2123909898] [2025-01-10 07:02:30,934 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:30,934 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:30,940 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:30,940 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:30,941 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:02:30,941 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,941 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:30,942 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:30,944 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:30,945 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,945 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,945 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:30,947 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:30,947 INFO L85 PathProgramCache]: Analyzing trace with hash 35850, now seen corresponding path program 1 times [2025-01-10 07:02:30,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:30,947 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [9972437] [2025-01-10 07:02:30,947 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:30,947 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:30,955 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:30,958 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:30,958 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,959 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,959 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:30,960 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:30,963 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:30,963 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,963 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,964 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:30,965 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:30,965 INFO L85 PathProgramCache]: Analyzing trace with hash 28694792, now seen corresponding path program 1 times [2025-01-10 07:02:30,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:30,965 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [958801734] [2025-01-10 07:02:30,965 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:30,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:30,969 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:02:30,975 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:02:30,976 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,976 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,976 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:30,981 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:02:30,983 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:02:30,984 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:30,984 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:30,984 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:31,038 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:31,039 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:31,039 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:31,039 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:31,039 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:31,039 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,039 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:31,039 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:31,039 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-01-10 07:02:31,040 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:31,040 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:31,050 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,057 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,060 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,125 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:31,125 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:31,126 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,127 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,132 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-01-10 07:02:31,133 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-01-10 07:02:31,134 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:31,134 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:31,154 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:31,154 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-01-10 07:02:31,164 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2025-01-10 07:02:31,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,166 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-01-10 07:02:31,176 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-01-10 07:02:31,177 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:31,177 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:31,194 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:31,195 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-01-10 07:02:31,204 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2025-01-10 07:02:31,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,207 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-01-10 07:02:31,208 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-01-10 07:02:31,208 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:31,208 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:31,225 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-01-10 07:02:31,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,227 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-01-10 07:02:31,229 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-01-10 07:02:31,230 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:31,230 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:31,280 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:31,284 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2025-01-10 07:02:31,284 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:31,285 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:31,285 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:31,285 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:31,285 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:31,285 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,285 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:31,285 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:31,285 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-01-10 07:02:31,285 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:31,285 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:31,286 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,289 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,292 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,347 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:31,350 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:31,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,356 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-01-10 07:02:31,357 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-01-10 07:02:31,358 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-01-10 07:02:31,369 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:31,369 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:31,369 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:31,369 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:31,375 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-01-10 07:02:31,375 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-01-10 07:02:31,379 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:31,385 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:31,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,387 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-01-10 07:02:31,392 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-01-10 07:02:31,393 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-01-10 07:02:31,403 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:31,403 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:31,403 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:31,404 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:31,406 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-01-10 07:02:31,406 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-01-10 07:02:31,412 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:31,418 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-01-10 07:02:31,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,420 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-01-10 07:02:31,424 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-01-10 07:02:31,425 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-01-10 07:02:31,435 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:31,435 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:31,436 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:31,436 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:31,436 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:31,437 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:31,437 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:31,439 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:31,442 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:02:31,444 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:02:31,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,448 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-01-10 07:02:31,449 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-01-10 07:02:31,452 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:31,452 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:31,452 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:31,453 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-01-10 07:02:31,458 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-01-10 07:02:31,461 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:31,478 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,482 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:31,483 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:31,483 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,483 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:31,484 INFO L256 TraceCheckSpWp]: Trace formula consists of 5 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:02:31,484 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:31,490 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:31,491 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:31,491 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,491 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:31,492 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-01-10 07:02:31,492 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:31,511 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:31,514 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-01-10 07:02:31,514 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 8 states and 11 transitions. cyclomatic complexity: 5 Second operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:31,543 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 8 states and 11 transitions. cyclomatic complexity: 5. Second operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 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 11 states and 15 transitions. Complement of second has 5 states. [2025-01-10 07:02:31,543 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-01-10 07:02:31,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:31,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 5 transitions. [2025-01-10 07:02:31,547 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 2 letters. Loop has 3 letters. [2025-01-10 07:02:31,547 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:31,547 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 5 letters. Loop has 3 letters. [2025-01-10 07:02:31,547 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:31,547 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 2 letters. Loop has 6 letters. [2025-01-10 07:02:31,547 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:31,547 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 11 states and 15 transitions. [2025-01-10 07:02:31,548 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-01-10 07:02:31,548 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 11 states to 11 states and 15 transitions. [2025-01-10 07:02:31,548 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 7 [2025-01-10 07:02:31,548 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2025-01-10 07:02:31,548 INFO L73 IsDeterministic]: Start isDeterministic. Operand 11 states and 15 transitions. [2025-01-10 07:02:31,548 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:31,549 INFO L218 hiAutomatonCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-01-10 07:02:31,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 11 states and 15 transitions. [2025-01-10 07:02:31,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 11 to 11. [2025-01-10 07:02:31,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.3636363636363635) internal successors, (15), 10 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-01-10 07:02:31,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 15 transitions. [2025-01-10 07:02:31,550 INFO L240 hiAutomatonCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-01-10 07:02:31,550 INFO L432 stractBuchiCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-01-10 07:02:31,550 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-01-10 07:02:31,550 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 11 states and 15 transitions. [2025-01-10 07:02:31,550 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-01-10 07:02:31,550 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:31,550 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:31,550 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:02:31,550 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:31,551 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-01-10 07:02:31,551 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-01-10 07:02:31,551 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,551 INFO L85 PathProgramCache]: Analyzing trace with hash 28694790, now seen corresponding path program 1 times [2025-01-10 07:02:31,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,551 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [802345330] [2025-01-10 07:02:31,551 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:31,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,571 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:02:31,573 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:02:31,573 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,573 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,573 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:31,576 ERROR L418 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Exception during sending of exit command (exit): Broken pipe [2025-01-10 07:02:31,577 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-01-10 07:02:31,577 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:02:31,578 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:02:31,578 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,578 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,579 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:31,580 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,580 INFO L85 PathProgramCache]: Analyzing trace with hash 1164, now seen corresponding path program 2 times [2025-01-10 07:02:31,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,580 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6014812] [2025-01-10 07:02:31,580 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:31,580 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,582 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:31,582 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:31,582 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:02:31,583 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,583 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:31,583 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:31,584 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:31,584 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,584 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,584 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:31,585 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,585 INFO L85 PathProgramCache]: Analyzing trace with hash 1805889617, now seen corresponding path program 1 times [2025-01-10 07:02:31,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,585 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1737111358] [2025-01-10 07:02:31,585 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:31,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,587 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:02:31,589 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:02:31,589 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,589 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:31,624 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:31,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:31,624 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1737111358] [2025-01-10 07:02:31,624 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1737111358] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:31,624 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1953311070] [2025-01-10 07:02:31,624 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:31,625 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:31,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,629 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-01-10 07:02:31,632 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-01-10 07:02:31,647 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:02:31,649 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:02:31,649 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,650 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:31,650 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-01-10 07:02:31,651 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:31,680 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:31,681 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:31,704 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:31,705 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1953311070] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:31,705 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:31,705 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 6 [2025-01-10 07:02:31,705 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1425789455] [2025-01-10 07:02:31,705 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:31,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:31,720 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-01-10 07:02:31,720 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-01-10 07:02:31,721 INFO L87 Difference]: Start difference. First operand 11 states and 15 transitions. cyclomatic complexity: 6 Second operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:31,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:31,765 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2025-01-10 07:02:31,765 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 23 states and 28 transitions. [2025-01-10 07:02:31,766 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-01-10 07:02:31,766 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 23 states to 23 states and 28 transitions. [2025-01-10 07:02:31,766 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2025-01-10 07:02:31,766 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 20 [2025-01-10 07:02:31,766 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 28 transitions. [2025-01-10 07:02:31,767 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:31,767 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-01-10 07:02:31,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 28 transitions. [2025-01-10 07:02:31,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2025-01-10 07:02:31,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 22 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:31,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 28 transitions. [2025-01-10 07:02:31,768 INFO L240 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-01-10 07:02:31,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-01-10 07:02:31,769 INFO L432 stractBuchiCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-01-10 07:02:31,769 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-01-10 07:02:31,769 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 23 states and 28 transitions. [2025-01-10 07:02:31,770 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-01-10 07:02:31,770 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:31,770 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:31,770 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 1, 1, 1] [2025-01-10 07:02:31,770 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-01-10 07:02:31,770 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-01-10 07:02:31,771 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-01-10 07:02:31,771 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,771 INFO L85 PathProgramCache]: Analyzing trace with hash -1772693338, now seen corresponding path program 1 times [2025-01-10 07:02:31,771 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,771 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1091469091] [2025-01-10 07:02:31,771 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:31,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,775 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-01-10 07:02:31,778 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-01-10 07:02:31,778 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,778 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,778 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:31,780 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-01-10 07:02:31,784 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-01-10 07:02:31,785 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,785 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,786 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:31,786 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,786 INFO L85 PathProgramCache]: Analyzing trace with hash 35850, now seen corresponding path program 2 times [2025-01-10 07:02:31,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,786 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2106989316] [2025-01-10 07:02:31,786 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:31,787 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,789 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:31,790 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:31,790 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:02:31,790 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,790 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:31,791 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:31,792 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:31,792 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,792 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,792 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:31,793 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,793 INFO L85 PathProgramCache]: Analyzing trace with hash 610645317, now seen corresponding path program 2 times [2025-01-10 07:02:31,793 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,793 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1166952188] [2025-01-10 07:02:31,793 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:31,793 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,796 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 14 statements into 2 equivalence classes. [2025-01-10 07:02:31,800 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 14 of 14 statements. [2025-01-10 07:02:31,800 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:31,801 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,801 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:31,806 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-01-10 07:02:31,809 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-01-10 07:02:31,810 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,810 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,811 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:31,839 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:31,839 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:31,839 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:31,839 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:31,840 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:31,840 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,840 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:31,840 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:31,840 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-01-10 07:02:31,840 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:31,840 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:31,841 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,843 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,846 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:31,897 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:31,897 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:31,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,903 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-01-10 07:02:31,904 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-01-10 07:02:31,905 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:31,905 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:31,923 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:31,923 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-01-10 07:02:31,929 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-01-10 07:02:31,930 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,930 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,932 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-01-10 07:02:31,933 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-01-10 07:02:31,934 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:31,934 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:31,952 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:31,953 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-01-10 07:02:31,959 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:31,959 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:31,960 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,961 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-01-10 07:02:31,963 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-01-10 07:02:31,966 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:31,966 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:32,000 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-01-10 07:02:32,001 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,001 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,003 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-01-10 07:02:32,005 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-01-10 07:02:32,006 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:32,006 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:32,049 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:32,053 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-01-10 07:02:32,054 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:32,054 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:32,054 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:32,054 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:32,054 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:32,054 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,054 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:32,054 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:32,054 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-01-10 07:02:32,054 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:32,054 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:32,055 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,058 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,065 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,108 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:32,108 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:32,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,110 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-01-10 07:02:32,114 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-01-10 07:02:32,114 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-01-10 07:02:32,124 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:32,125 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:32,125 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:32,125 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:32,126 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-01-10 07:02:32,126 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-01-10 07:02:32,129 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:32,134 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-01-10 07:02:32,135 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,137 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-01-10 07:02:32,138 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-01-10 07:02:32,139 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-01-10 07:02:32,149 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:32,149 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:32,149 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:32,149 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:32,149 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:32,150 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:32,150 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:32,153 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:32,157 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:02:32,157 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:02:32,157 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,157 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,162 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-01-10 07:02:32,163 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-01-10 07:02:32,164 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:32,164 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:32,164 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:32,164 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-01-10 07:02:32,172 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-01-10 07:02:32,173 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:32,183 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,187 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-01-10 07:02:32,190 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-01-10 07:02:32,190 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,190 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,191 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,191 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,203 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:32,204 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:32,204 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,204 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,205 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,205 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,219 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:32,220 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-01-10 07:02:32,220 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 23 states and 28 transitions. cyclomatic complexity: 8 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,237 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 23 states and 28 transitions. cyclomatic complexity: 8. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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) Result 44 states and 50 transitions. Complement of second has 5 states. [2025-01-10 07:02:32,238 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-01-10 07:02:32,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-01-10 07:02:32,239 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 11 letters. Loop has 3 letters. [2025-01-10 07:02:32,239 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:32,239 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-01-10 07:02:32,240 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:32,240 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 11 letters. Loop has 6 letters. [2025-01-10 07:02:32,240 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:32,240 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 44 states and 50 transitions. [2025-01-10 07:02:32,241 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-01-10 07:02:32,242 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 44 states to 38 states and 44 transitions. [2025-01-10 07:02:32,242 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-01-10 07:02:32,242 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2025-01-10 07:02:32,242 INFO L73 IsDeterministic]: Start isDeterministic. Operand 38 states and 44 transitions. [2025-01-10 07:02:32,242 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:32,242 INFO L218 hiAutomatonCegarLoop]: Abstraction has 38 states and 44 transitions. [2025-01-10 07:02:32,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states and 44 transitions. [2025-01-10 07:02:32,243 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2025-01-10 07:02:32,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 33 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:32,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2025-01-10 07:02:32,244 INFO L240 hiAutomatonCegarLoop]: Abstraction has 34 states and 40 transitions. [2025-01-10 07:02:32,244 INFO L432 stractBuchiCegarLoop]: Abstraction has 34 states and 40 transitions. [2025-01-10 07:02:32,244 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-01-10 07:02:32,244 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 34 states and 40 transitions. [2025-01-10 07:02:32,245 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-01-10 07:02:32,245 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:32,245 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:32,245 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 1, 1, 1] [2025-01-10 07:02:32,245 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-01-10 07:02:32,246 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-01-10 07:02:32,246 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-01-10 07:02:32,246 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,246 INFO L85 PathProgramCache]: Analyzing trace with hash -1557389055, now seen corresponding path program 3 times [2025-01-10 07:02:32,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:32,246 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493838814] [2025-01-10 07:02:32,246 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:32,246 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:32,250 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 14 statements into 4 equivalence classes. [2025-01-10 07:02:32,254 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) and asserted 14 of 14 statements. [2025-01-10 07:02:32,255 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2025-01-10 07:02:32,255 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:32,255 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:32,256 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-01-10 07:02:32,259 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-01-10 07:02:32,259 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,259 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:32,260 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:32,260 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,261 INFO L85 PathProgramCache]: Analyzing trace with hash 35850, now seen corresponding path program 3 times [2025-01-10 07:02:32,261 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:32,261 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2055717978] [2025-01-10 07:02:32,261 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:32,261 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:32,263 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:32,264 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:32,264 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:02:32,264 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:32,264 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:32,265 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:32,266 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:32,266 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,266 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:32,266 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:32,267 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,267 INFO L85 PathProgramCache]: Analyzing trace with hash -1940600054, now seen corresponding path program 4 times [2025-01-10 07:02:32,267 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:32,267 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [375117127] [2025-01-10 07:02:32,267 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:32,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:32,270 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 17 statements into 2 equivalence classes. [2025-01-10 07:02:32,275 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 17 of 17 statements. [2025-01-10 07:02:32,275 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:32,275 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:32,275 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:32,276 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-01-10 07:02:32,283 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-01-10 07:02:32,284 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,284 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:32,285 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:32,311 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:32,311 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:32,311 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:32,311 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:32,311 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:32,311 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,312 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:32,312 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:32,312 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-01-10 07:02:32,312 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:32,312 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:32,312 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,316 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,323 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,358 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:32,358 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:32,358 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,358 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,360 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-01-10 07:02:32,362 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-01-10 07:02:32,363 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:32,363 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:32,381 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:32,381 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-01-10 07:02:32,387 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:32,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,390 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-01-10 07:02:32,391 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-01-10 07:02:32,392 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:32,392 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:32,410 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-01-10 07:02:32,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,412 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-01-10 07:02:32,415 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-01-10 07:02:32,416 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:32,416 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:32,478 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:32,482 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Ended with exit code 0 [2025-01-10 07:02:32,483 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:32,483 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:32,483 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:32,483 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:32,483 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:32,483 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,483 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:32,483 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:32,483 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-01-10 07:02:32,483 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:32,483 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:32,484 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,499 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,509 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:32,597 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:32,597 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:32,597 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,597 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,599 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-01-10 07:02:32,601 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-01-10 07:02:32,602 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-01-10 07:02:32,613 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:32,613 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:32,613 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:32,613 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:32,613 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:32,614 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:32,614 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:32,617 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:32,622 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:02:32,622 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-01-10 07:02:32,622 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:32,622 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,625 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-01-10 07:02:32,626 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-01-10 07:02:32,626 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:32,626 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:32,626 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:32,626 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-01-10 07:02:32,632 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-01-10 07:02:32,633 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:32,645 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,655 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-01-10 07:02:32,662 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-01-10 07:02:32,662 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,662 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,663 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,664 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,705 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:32,710 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:32,710 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,710 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,712 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,712 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,739 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:32,740 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-01-10 07:02:32,740 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,759 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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) Result 44 states and 51 transitions. Complement of second has 5 states. [2025-01-10 07:02:32,760 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-01-10 07:02:32,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-01-10 07:02:32,760 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-01-10 07:02:32,761 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:32,761 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-01-10 07:02:32,775 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,779 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-01-10 07:02:32,783 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-01-10 07:02:32,783 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,783 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,783 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,784 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,799 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:32,800 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:32,801 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,801 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,801 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,801 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,844 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Ended with exit code 0 [2025-01-10 07:02:32,848 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:32,850 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Ended with exit code 0 [2025-01-10 07:02:32,851 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-01-10 07:02:32,851 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,881 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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) Result 44 states and 51 transitions. Complement of second has 5 states. [2025-01-10 07:02:32,882 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-01-10 07:02:32,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-01-10 07:02:32,883 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-01-10 07:02:32,883 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:32,883 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-01-10 07:02:32,894 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,901 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-01-10 07:02:32,904 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-01-10 07:02:32,905 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,905 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,905 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,909 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,938 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:02:32,939 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:02:32,939 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:32,939 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,939 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,940 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,961 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:32,962 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-01-10 07:02:32,962 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,992 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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) Result 57 states and 69 transitions. Complement of second has 4 states. [2025-01-10 07:02:32,997 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-01-10 07:02:32,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 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-01-10 07:02:32,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 13 transitions. [2025-01-10 07:02:32,998 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 14 letters. Loop has 3 letters. [2025-01-10 07:02:32,998 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:32,998 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 17 letters. Loop has 3 letters. [2025-01-10 07:02:32,999 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:33,002 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 14 letters. Loop has 6 letters. [2025-01-10 07:02:33,002 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:33,003 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 57 states and 69 transitions. [2025-01-10 07:02:33,004 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2025-01-10 07:02:33,004 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 57 states to 47 states and 58 transitions. [2025-01-10 07:02:33,005 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-01-10 07:02:33,005 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2025-01-10 07:02:33,005 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 58 transitions. [2025-01-10 07:02:33,007 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:33,007 INFO L218 hiAutomatonCegarLoop]: Abstraction has 47 states and 58 transitions. [2025-01-10 07:02:33,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 58 transitions. [2025-01-10 07:02:33,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2025-01-10 07:02:33,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.2903225806451613) internal successors, (40), 30 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:33,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 40 transitions. [2025-01-10 07:02:33,008 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31 states and 40 transitions. [2025-01-10 07:02:33,009 INFO L432 stractBuchiCegarLoop]: Abstraction has 31 states and 40 transitions. [2025-01-10 07:02:33,009 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-01-10 07:02:33,009 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 40 transitions. [2025-01-10 07:02:33,009 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 11 [2025-01-10 07:02:33,009 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:33,009 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:33,009 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 3, 2, 1, 1] [2025-01-10 07:02:33,009 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1] [2025-01-10 07:02:33,010 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-01-10 07:02:33,010 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-01-10 07:02:33,010 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:33,010 INFO L85 PathProgramCache]: Analyzing trace with hash -1746880632, now seen corresponding path program 5 times [2025-01-10 07:02:33,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:33,010 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1732146413] [2025-01-10 07:02:33,010 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:33,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:33,020 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 5 equivalence classes. [2025-01-10 07:02:33,030 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 17 of 17 statements. [2025-01-10 07:02:33,030 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-01-10 07:02:33,030 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:33,112 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 18 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:33,112 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:33,112 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1732146413] [2025-01-10 07:02:33,112 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1732146413] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:33,112 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [646149448] [2025-01-10 07:02:33,112 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:33,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:33,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:33,114 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:33,116 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2025-01-10 07:02:33,134 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 5 equivalence classes. [2025-01-10 07:02:33,139 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 17 of 17 statements. [2025-01-10 07:02:33,140 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-01-10 07:02:33,140 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:33,140 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-01-10 07:02:33,141 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:33,196 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:33,197 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:33,242 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:33,242 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [646149448] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:33,242 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:33,242 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 14 [2025-01-10 07:02:33,243 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [294435843] [2025-01-10 07:02:33,243 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:33,243 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:33,243 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:33,243 INFO L85 PathProgramCache]: Analyzing trace with hash 1067953827, now seen corresponding path program 1 times [2025-01-10 07:02:33,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:33,243 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1832706983] [2025-01-10 07:02:33,243 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:33,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:33,245 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-01-10 07:02:33,247 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-01-10 07:02:33,247 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:33,247 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:33,247 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:33,247 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-01-10 07:02:33,248 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-01-10 07:02:33,248 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:33,248 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:33,249 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:33,297 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:33,297 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:33,297 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:33,297 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:33,297 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:33,297 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,297 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:33,297 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:33,297 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-01-10 07:02:33,297 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:33,297 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:33,298 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,305 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,307 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,361 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:33,361 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:33,361 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,361 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:33,363 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-01-10 07:02:33,364 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-01-10 07:02:33,366 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:33,366 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:33,383 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-01-10 07:02:33,383 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,383 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:33,387 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-01-10 07:02:33,392 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-01-10 07:02:33,393 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:33,393 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:33,435 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:33,439 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-01-10 07:02:33,439 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:33,439 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:33,439 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:33,439 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:33,439 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:33,439 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,439 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:33,439 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:33,439 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-01-10 07:02:33,439 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:33,439 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:33,440 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,451 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,458 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,506 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:33,506 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:33,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:33,508 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-01-10 07:02:33,509 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-01-10 07:02:33,510 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-01-10 07:02:33,521 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:33,521 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:33,521 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:33,521 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:33,521 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:33,522 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:33,522 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:33,524 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:33,528 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:02:33,528 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-01-10 07:02:33,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:33,530 INFO L229 MonitoredProcess]: Starting monitored process 27 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-01-10 07:02:33,531 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2025-01-10 07:02:33,532 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:33,532 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:33,532 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:33,532 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-01-10 07:02:33,538 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-01-10 07:02:33,539 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:33,548 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:33,554 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-01-10 07:02:33,557 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-01-10 07:02:33,557 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:33,557 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:33,558 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:02:33,558 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:33,577 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-01-10 07:02:33,579 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-01-10 07:02:33,579 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:33,579 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:33,579 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-01-10 07:02:33,579 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:33,613 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:02:33,613 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-01-10 07:02:33,613 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 31 states and 40 transitions. cyclomatic complexity: 12 Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:33,633 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 31 states and 40 transitions. cyclomatic complexity: 12. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 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 72 states and 96 transitions. Complement of second has 6 states. [2025-01-10 07:02:33,634 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-01-10 07:02:33,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:33,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 15 transitions. [2025-01-10 07:02:33,634 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 17 letters. Loop has 6 letters. [2025-01-10 07:02:33,634 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:33,634 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 23 letters. Loop has 6 letters. [2025-01-10 07:02:33,635 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:33,635 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 17 letters. Loop has 12 letters. [2025-01-10 07:02:33,635 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:33,635 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 72 states and 96 transitions. [2025-01-10 07:02:33,639 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-01-10 07:02:33,639 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 72 states to 55 states and 73 transitions. [2025-01-10 07:02:33,639 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16 [2025-01-10 07:02:33,639 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19 [2025-01-10 07:02:33,639 INFO L73 IsDeterministic]: Start isDeterministic. Operand 55 states and 73 transitions. [2025-01-10 07:02:33,640 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:33,640 INFO L218 hiAutomatonCegarLoop]: Abstraction has 55 states and 73 transitions. [2025-01-10 07:02:33,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states and 73 transitions. [2025-01-10 07:02:33,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 47. [2025-01-10 07:02:33,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 46 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:33,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 63 transitions. [2025-01-10 07:02:33,642 INFO L240 hiAutomatonCegarLoop]: Abstraction has 47 states and 63 transitions. [2025-01-10 07:02:33,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:33,642 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2025-01-10 07:02:33,642 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=110, Unknown=0, NotChecked=0, Total=182 [2025-01-10 07:02:33,642 INFO L87 Difference]: Start difference. First operand 47 states and 63 transitions. Second operand has 14 states, 14 states have (on average 3.0) internal successors, (42), 14 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:33,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:33,723 INFO L93 Difference]: Finished difference Result 89 states and 105 transitions. [2025-01-10 07:02:33,723 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 89 states and 105 transitions. [2025-01-10 07:02:33,724 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-01-10 07:02:33,725 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 89 states to 75 states and 91 transitions. [2025-01-10 07:02:33,725 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-01-10 07:02:33,725 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-01-10 07:02:33,725 INFO L73 IsDeterministic]: Start isDeterministic. Operand 75 states and 91 transitions. [2025-01-10 07:02:33,725 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:33,725 INFO L218 hiAutomatonCegarLoop]: Abstraction has 75 states and 91 transitions. [2025-01-10 07:02:33,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states and 91 transitions. [2025-01-10 07:02:33,727 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 71. [2025-01-10 07:02:33,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 71 states have (on average 1.2253521126760563) internal successors, (87), 70 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:33,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 87 transitions. [2025-01-10 07:02:33,728 INFO L240 hiAutomatonCegarLoop]: Abstraction has 71 states and 87 transitions. [2025-01-10 07:02:33,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-01-10 07:02:33,728 INFO L432 stractBuchiCegarLoop]: Abstraction has 71 states and 87 transitions. [2025-01-10 07:02:33,728 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-01-10 07:02:33,728 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 71 states and 87 transitions. [2025-01-10 07:02:33,729 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-01-10 07:02:33,729 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:33,729 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:33,730 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 11, 9, 2, 1, 1] [2025-01-10 07:02:33,730 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:33,730 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-01-10 07:02:33,730 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-01-10 07:02:33,730 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:33,730 INFO L85 PathProgramCache]: Analyzing trace with hash -1570056162, now seen corresponding path program 6 times [2025-01-10 07:02:33,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:33,730 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1466808831] [2025-01-10 07:02:33,730 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:33,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:33,734 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 36 statements into 12 equivalence classes. [2025-01-10 07:02:33,753 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Ended with exit code 0 [2025-01-10 07:02:33,757 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 36 of 36 statements. [2025-01-10 07:02:33,758 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-01-10 07:02:33,758 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:33,878 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-01-10 07:02:33,878 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:33,878 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1466808831] [2025-01-10 07:02:33,878 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1466808831] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:33,878 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1124800448] [2025-01-10 07:02:33,878 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:33,878 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:33,878 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:33,880 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:33,881 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2025-01-10 07:02:33,898 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 36 statements into 12 equivalence classes. [2025-01-10 07:02:33,907 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 36 of 36 statements. [2025-01-10 07:02:33,908 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-01-10 07:02:33,908 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:33,908 INFO L256 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-01-10 07:02:33,909 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:34,039 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-01-10 07:02:34,039 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:34,167 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-01-10 07:02:34,168 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1124800448] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:34,168 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:34,168 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 25 [2025-01-10 07:02:34,168 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [595343714] [2025-01-10 07:02:34,168 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:34,168 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:34,168 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:34,168 INFO L85 PathProgramCache]: Analyzing trace with hash 1494, now seen corresponding path program 3 times [2025-01-10 07:02:34,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:34,168 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233660936] [2025-01-10 07:02:34,168 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:34,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:34,170 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:34,171 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:34,171 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:02:34,171 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:34,171 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:34,172 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:34,172 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:34,172 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:34,172 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:34,173 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:34,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:34,189 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-01-10 07:02:34,189 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=244, Invalid=356, Unknown=0, NotChecked=0, Total=600 [2025-01-10 07:02:34,189 INFO L87 Difference]: Start difference. First operand 71 states and 87 transitions. cyclomatic complexity: 22 Second operand has 25 states, 25 states have (on average 3.04) internal successors, (76), 25 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:34,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:34,374 INFO L93 Difference]: Finished difference Result 151 states and 167 transitions. [2025-01-10 07:02:34,374 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 151 states and 167 transitions. [2025-01-10 07:02:34,375 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-01-10 07:02:34,376 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 151 states to 123 states and 139 transitions. [2025-01-10 07:02:34,376 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-01-10 07:02:34,376 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-01-10 07:02:34,376 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 139 transitions. [2025-01-10 07:02:34,376 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:34,376 INFO L218 hiAutomatonCegarLoop]: Abstraction has 123 states and 139 transitions. [2025-01-10 07:02:34,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 139 transitions. [2025-01-10 07:02:34,380 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 119. [2025-01-10 07:02:34,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 119 states have (on average 1.134453781512605) internal successors, (135), 118 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:34,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 135 transitions. [2025-01-10 07:02:34,383 INFO L240 hiAutomatonCegarLoop]: Abstraction has 119 states and 135 transitions. [2025-01-10 07:02:34,384 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2025-01-10 07:02:34,384 INFO L432 stractBuchiCegarLoop]: Abstraction has 119 states and 135 transitions. [2025-01-10 07:02:34,384 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-01-10 07:02:34,385 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 119 states and 135 transitions. [2025-01-10 07:02:34,386 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-01-10 07:02:34,386 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:34,386 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:34,387 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 23, 21, 2, 1, 1] [2025-01-10 07:02:34,387 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:34,387 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-01-10 07:02:34,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-01-10 07:02:34,388 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:34,388 INFO L85 PathProgramCache]: Analyzing trace with hash 627678558, now seen corresponding path program 7 times [2025-01-10 07:02:34,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:34,388 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [976333070] [2025-01-10 07:02:34,388 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:34,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:34,394 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-01-10 07:02:34,411 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:02:34,412 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:34,413 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:34,869 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-01-10 07:02:34,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:34,869 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [976333070] [2025-01-10 07:02:34,869 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [976333070] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:34,869 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1164700910] [2025-01-10 07:02:34,870 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:34,870 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:34,870 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,873 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,878 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2025-01-10 07:02:34,900 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-01-10 07:02:34,917 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:02:34,917 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:34,917 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:34,918 INFO L256 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-01-10 07:02:34,920 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:35,243 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-01-10 07:02:35,243 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:35,540 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-01-10 07:02:35,540 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1164700910] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:35,540 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:35,540 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18, 18] total 38 [2025-01-10 07:02:35,540 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1717269830] [2025-01-10 07:02:35,540 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:35,541 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:35,541 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:35,541 INFO L85 PathProgramCache]: Analyzing trace with hash 1494, now seen corresponding path program 4 times [2025-01-10 07:02:35,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:35,541 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [635680637] [2025-01-10 07:02:35,541 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:35,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:35,544 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-01-10 07:02:35,545 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:35,545 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:35,545 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:35,545 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:35,545 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:35,546 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:35,546 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:35,546 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:35,547 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:35,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:35,559 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-01-10 07:02:35,560 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=545, Invalid=861, Unknown=0, NotChecked=0, Total=1406 [2025-01-10 07:02:35,560 INFO L87 Difference]: Start difference. First operand 119 states and 135 transitions. cyclomatic complexity: 22 Second operand has 38 states, 38 states have (on average 3.0526315789473686) internal successors, (116), 38 states have internal predecessors, (116), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:35,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:35,783 INFO L93 Difference]: Finished difference Result 220 states and 236 transitions. [2025-01-10 07:02:35,783 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 220 states and 236 transitions. [2025-01-10 07:02:35,784 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-01-10 07:02:35,786 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 220 states to 186 states and 202 transitions. [2025-01-10 07:02:35,786 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-01-10 07:02:35,786 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-01-10 07:02:35,786 INFO L73 IsDeterministic]: Start isDeterministic. Operand 186 states and 202 transitions. [2025-01-10 07:02:35,786 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:35,786 INFO L218 hiAutomatonCegarLoop]: Abstraction has 186 states and 202 transitions. [2025-01-10 07:02:35,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states and 202 transitions. [2025-01-10 07:02:35,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 182. [2025-01-10 07:02:35,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 182 states have (on average 1.0879120879120878) internal successors, (198), 181 states have internal predecessors, (198), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:35,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 198 transitions. [2025-01-10 07:02:35,793 INFO L240 hiAutomatonCegarLoop]: Abstraction has 182 states and 198 transitions. [2025-01-10 07:02:35,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2025-01-10 07:02:35,794 INFO L432 stractBuchiCegarLoop]: Abstraction has 182 states and 198 transitions. [2025-01-10 07:02:35,794 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-01-10 07:02:35,794 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 182 states and 198 transitions. [2025-01-10 07:02:35,795 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-01-10 07:02:35,795 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:35,795 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:35,797 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [37, 36, 34, 2, 1, 1] [2025-01-10 07:02:35,797 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:35,798 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-01-10 07:02:35,798 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-01-10 07:02:35,798 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:35,798 INFO L85 PathProgramCache]: Analyzing trace with hash 679600351, now seen corresponding path program 8 times [2025-01-10 07:02:35,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:35,798 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [449329808] [2025-01-10 07:02:35,798 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:35,799 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:35,805 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 111 statements into 2 equivalence classes. [2025-01-10 07:02:35,818 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 111 of 111 statements. [2025-01-10 07:02:35,818 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:35,818 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:35,818 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:35,821 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-01-10 07:02:35,831 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-01-10 07:02:35,832 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:35,832 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:35,849 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:35,849 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:35,850 INFO L85 PathProgramCache]: Analyzing trace with hash 1494, now seen corresponding path program 5 times [2025-01-10 07:02:35,850 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:35,850 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [526687768] [2025-01-10 07:02:35,850 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:35,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:35,851 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:35,852 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:35,852 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:02:35,852 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:35,852 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:35,852 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:35,853 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:35,853 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:35,853 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:35,854 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:35,854 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:35,854 INFO L85 PathProgramCache]: Analyzing trace with hash 260908852, now seen corresponding path program 1 times [2025-01-10 07:02:35,854 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:35,855 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1381890533] [2025-01-10 07:02:35,855 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:02:35,855 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:35,860 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 113 statements into 1 equivalence classes. [2025-01-10 07:02:35,865 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 113 of 113 statements. [2025-01-10 07:02:35,865 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:35,865 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:35,925 INFO L134 CoverageAnalysis]: Checked inductivity of 1999 backedges. 179 proven. 0 refuted. 0 times theorem prover too weak. 1820 trivial. 0 not checked. [2025-01-10 07:02:35,925 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:35,925 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1381890533] [2025-01-10 07:02:35,925 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1381890533] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:02:35,925 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:02:35,925 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:02:35,926 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [382407034] [2025-01-10 07:02:35,926 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:02:35,946 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:35,946 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:02:35,946 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:02:35,946 INFO L87 Difference]: Start difference. First operand 182 states and 198 transitions. cyclomatic complexity: 22 Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 4 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-01-10 07:02:35,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:35,968 INFO L93 Difference]: Finished difference Result 180 states and 192 transitions. [2025-01-10 07:02:35,969 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 180 states and 192 transitions. [2025-01-10 07:02:35,970 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:35,970 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 180 states to 132 states and 140 transitions. [2025-01-10 07:02:35,970 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-01-10 07:02:35,970 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-01-10 07:02:35,970 INFO L73 IsDeterministic]: Start isDeterministic. Operand 132 states and 140 transitions. [2025-01-10 07:02:35,971 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:35,971 INFO L218 hiAutomatonCegarLoop]: Abstraction has 132 states and 140 transitions. [2025-01-10 07:02:35,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states and 140 transitions. [2025-01-10 07:02:35,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 129. [2025-01-10 07:02:35,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 129 states have (on average 1.062015503875969) internal successors, (137), 128 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:35,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 137 transitions. [2025-01-10 07:02:35,979 INFO L240 hiAutomatonCegarLoop]: Abstraction has 129 states and 137 transitions. [2025-01-10 07:02:35,979 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:02:35,979 INFO L432 stractBuchiCegarLoop]: Abstraction has 129 states and 137 transitions. [2025-01-10 07:02:35,980 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-01-10 07:02:35,980 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 129 states and 137 transitions. [2025-01-10 07:02:35,980 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:35,980 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:35,980 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:35,981 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [38, 37, 34, 3, 1, 1, 1] [2025-01-10 07:02:35,981 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:35,985 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-01-10 07:02:35,985 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-01-10 07:02:35,986 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:35,986 INFO L85 PathProgramCache]: Analyzing trace with hash 1625071245, now seen corresponding path program 2 times [2025-01-10 07:02:35,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:35,986 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [237710509] [2025-01-10 07:02:35,986 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:35,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:35,995 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 115 statements into 2 equivalence classes. [2025-01-10 07:02:36,002 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 115 of 115 statements. [2025-01-10 07:02:36,002 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:36,002 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:36,151 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 0 proven. 1142 refuted. 0 times theorem prover too weak. 930 trivial. 0 not checked. [2025-01-10 07:02:36,151 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:36,151 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [237710509] [2025-01-10 07:02:36,151 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [237710509] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:36,151 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2085941566] [2025-01-10 07:02:36,152 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:36,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:36,152 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:36,154 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:36,158 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2025-01-10 07:02:36,181 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 115 statements into 2 equivalence classes. [2025-01-10 07:02:36,203 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 115 of 115 statements. [2025-01-10 07:02:36,204 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:36,204 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:36,205 INFO L256 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 20 conjuncts are in the unsatisfiable core [2025-01-10 07:02:36,207 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:36,640 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 74 proven. 1428 refuted. 0 times theorem prover too weak. 570 trivial. 0 not checked. [2025-01-10 07:02:36,640 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:37,015 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 74 proven. 1428 refuted. 0 times theorem prover too weak. 570 trivial. 0 not checked. [2025-01-10 07:02:37,015 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2085941566] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:37,015 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:37,015 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 20, 20] total 38 [2025-01-10 07:02:37,015 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [951730253] [2025-01-10 07:02:37,015 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:37,016 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:37,016 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:37,016 INFO L85 PathProgramCache]: Analyzing trace with hash 1164, now seen corresponding path program 6 times [2025-01-10 07:02:37,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:37,016 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1664916325] [2025-01-10 07:02:37,016 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:37,016 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:37,019 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:37,020 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:37,020 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-01-10 07:02:37,020 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:37,020 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:37,020 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:37,021 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:37,021 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:37,021 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:37,021 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:37,034 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:37,035 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-01-10 07:02:37,036 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=516, Invalid=890, Unknown=0, NotChecked=0, Total=1406 [2025-01-10 07:02:37,036 INFO L87 Difference]: Start difference. First operand 129 states and 137 transitions. cyclomatic complexity: 12 Second operand has 38 states, 38 states have (on average 3.1052631578947367) internal successors, (118), 38 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:37,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:37,777 INFO L93 Difference]: Finished difference Result 314 states and 324 transitions. [2025-01-10 07:02:37,777 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 314 states and 324 transitions. [2025-01-10 07:02:37,779 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:37,780 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 314 states to 248 states and 258 transitions. [2025-01-10 07:02:37,780 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-01-10 07:02:37,780 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-01-10 07:02:37,780 INFO L73 IsDeterministic]: Start isDeterministic. Operand 248 states and 258 transitions. [2025-01-10 07:02:37,781 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:37,781 INFO L218 hiAutomatonCegarLoop]: Abstraction has 248 states and 258 transitions. [2025-01-10 07:02:37,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states and 258 transitions. [2025-01-10 07:02:37,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 240. [2025-01-10 07:02:37,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 240 states, 240 states have (on average 1.0416666666666667) internal successors, (250), 239 states have internal predecessors, (250), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:37,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 240 states to 240 states and 250 transitions. [2025-01-10 07:02:37,785 INFO L240 hiAutomatonCegarLoop]: Abstraction has 240 states and 250 transitions. [2025-01-10 07:02:37,785 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 75 states. [2025-01-10 07:02:37,786 INFO L432 stractBuchiCegarLoop]: Abstraction has 240 states and 250 transitions. [2025-01-10 07:02:37,786 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-01-10 07:02:37,786 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 240 states and 250 transitions. [2025-01-10 07:02:37,787 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:37,787 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:37,787 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:37,789 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [75, 74, 69, 5, 1, 1, 1] [2025-01-10 07:02:37,789 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:37,789 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-01-10 07:02:37,789 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-01-10 07:02:37,790 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:37,790 INFO L85 PathProgramCache]: Analyzing trace with hash -1964036368, now seen corresponding path program 3 times [2025-01-10 07:02:37,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:37,790 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2062723208] [2025-01-10 07:02:37,790 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:37,790 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:37,797 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 226 statements into 75 equivalence classes. [2025-01-10 07:02:37,799 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 19 of 226 statements. [2025-01-10 07:02:37,799 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-01-10 07:02:37,799 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:37,837 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-01-10 07:02:37,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:37,837 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2062723208] [2025-01-10 07:02:37,837 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2062723208] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:37,837 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [750315447] [2025-01-10 07:02:37,837 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:37,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:37,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:37,840 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:37,841 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2025-01-10 07:02:37,878 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 226 statements into 75 equivalence classes. [2025-01-10 07:02:37,884 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 19 of 226 statements. [2025-01-10 07:02:37,884 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-01-10 07:02:37,884 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:37,885 INFO L256 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-10 07:02:37,888 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:37,910 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-01-10 07:02:37,911 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:37,940 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-01-10 07:02:37,940 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [750315447] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:37,941 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:37,941 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 6 [2025-01-10 07:02:37,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [843101448] [2025-01-10 07:02:37,941 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:37,941 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:37,942 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:37,942 INFO L85 PathProgramCache]: Analyzing trace with hash 1164, now seen corresponding path program 7 times [2025-01-10 07:02:37,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:37,942 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1496213928] [2025-01-10 07:02:37,942 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:37,942 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:37,944 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:37,945 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:37,945 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:37,945 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:37,945 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:37,945 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:37,945 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:37,945 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:37,945 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:37,946 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:37,958 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:37,959 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-01-10 07:02:37,959 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-01-10 07:02:37,959 INFO L87 Difference]: Start difference. First operand 240 states and 250 transitions. cyclomatic complexity: 16 Second operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 7 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:37,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:37,995 INFO L93 Difference]: Finished difference Result 260 states and 274 transitions. [2025-01-10 07:02:37,995 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 260 states and 274 transitions. [2025-01-10 07:02:37,997 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:37,998 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 260 states to 260 states and 274 transitions. [2025-01-10 07:02:37,998 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13 [2025-01-10 07:02:37,998 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13 [2025-01-10 07:02:37,998 INFO L73 IsDeterministic]: Start isDeterministic. Operand 260 states and 274 transitions. [2025-01-10 07:02:37,998 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:37,998 INFO L218 hiAutomatonCegarLoop]: Abstraction has 260 states and 274 transitions. [2025-01-10 07:02:37,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states and 274 transitions. [2025-01-10 07:02:38,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 245. [2025-01-10 07:02:38,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 245 states have (on average 1.0448979591836736) internal successors, (256), 244 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:38,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 256 transitions. [2025-01-10 07:02:38,006 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 256 transitions. [2025-01-10 07:02:38,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-01-10 07:02:38,007 INFO L432 stractBuchiCegarLoop]: Abstraction has 245 states and 256 transitions. [2025-01-10 07:02:38,008 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-01-10 07:02:38,008 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 256 transitions. [2025-01-10 07:02:38,009 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:38,009 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:38,009 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:38,015 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [76, 75, 69, 6, 1, 1, 1] [2025-01-10 07:02:38,016 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:38,016 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-01-10 07:02:38,016 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-01-10 07:02:38,016 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:38,016 INFO L85 PathProgramCache]: Analyzing trace with hash -268192273, now seen corresponding path program 4 times [2025-01-10 07:02:38,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:38,017 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1669890614] [2025-01-10 07:02:38,017 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:38,017 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:38,026 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 229 statements into 2 equivalence classes. [2025-01-10 07:02:38,037 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 228 of 229 statements. [2025-01-10 07:02:38,037 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:38,037 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:38,104 INFO L134 CoverageAnalysis]: Checked inductivity of 8475 backedges. 372 proven. 0 refuted. 0 times theorem prover too weak. 8103 trivial. 0 not checked. [2025-01-10 07:02:38,104 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:38,104 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1669890614] [2025-01-10 07:02:38,104 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1669890614] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:02:38,104 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:02:38,104 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:02:38,105 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [707705050] [2025-01-10 07:02:38,105 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:02:38,105 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:38,105 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:38,105 INFO L85 PathProgramCache]: Analyzing trace with hash 1164, now seen corresponding path program 8 times [2025-01-10 07:02:38,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:38,105 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [455097249] [2025-01-10 07:02:38,105 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:38,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:38,107 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:38,107 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:38,107 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:02:38,107 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:38,108 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:38,108 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:38,109 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:38,109 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:38,109 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:38,110 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:38,122 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:38,122 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:02:38,122 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:02:38,123 INFO L87 Difference]: Start difference. First operand 245 states and 256 transitions. cyclomatic complexity: 17 Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 4 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-01-10 07:02:38,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:38,136 INFO L93 Difference]: Finished difference Result 245 states and 255 transitions. [2025-01-10 07:02:38,137 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 245 states and 255 transitions. [2025-01-10 07:02:38,138 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:38,139 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 245 states to 245 states and 255 transitions. [2025-01-10 07:02:38,139 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-01-10 07:02:38,139 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-01-10 07:02:38,139 INFO L73 IsDeterministic]: Start isDeterministic. Operand 245 states and 255 transitions. [2025-01-10 07:02:38,139 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:38,139 INFO L218 hiAutomatonCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-01-10 07:02:38,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 245 states and 255 transitions. [2025-01-10 07:02:38,141 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 245 to 245. [2025-01-10 07:02:38,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 245 states have (on average 1.0408163265306123) internal successors, (255), 244 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-01-10 07:02:38,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 255 transitions. [2025-01-10 07:02:38,143 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-01-10 07:02:38,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:02:38,145 INFO L432 stractBuchiCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-01-10 07:02:38,145 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-01-10 07:02:38,145 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 255 transitions. [2025-01-10 07:02:38,146 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:38,146 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:38,146 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:38,148 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [77, 76, 70, 6, 1, 1, 1] [2025-01-10 07:02:38,148 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:38,148 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-01-10 07:02:38,148 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-01-10 07:02:38,149 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:38,149 INFO L85 PathProgramCache]: Analyzing trace with hash -1019802674, now seen corresponding path program 5 times [2025-01-10 07:02:38,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:38,149 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1241464655] [2025-01-10 07:02:38,149 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:38,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:38,157 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 77 equivalence classes. [2025-01-10 07:02:38,196 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 232 statements. [2025-01-10 07:02:38,196 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-01-10 07:02:38,196 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:39,098 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6039 proven. 1461 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-01-10 07:02:39,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:39,099 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1241464655] [2025-01-10 07:02:39,099 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1241464655] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:39,099 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [644673312] [2025-01-10 07:02:39,099 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:39,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:39,099 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:39,102 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:39,104 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2025-01-10 07:02:39,131 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 77 equivalence classes. [2025-01-10 07:02:39,187 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 232 statements. [2025-01-10 07:02:39,187 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-01-10 07:02:39,187 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:39,189 INFO L256 TraceCheckSpWp]: Trace formula consists of 299 conjuncts, 39 conjuncts are in the unsatisfiable core [2025-01-10 07:02:39,191 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:39,767 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6104 proven. 1396 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-01-10 07:02:39,768 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:40,364 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6104 proven. 1396 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-01-10 07:02:40,365 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [644673312] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:40,365 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:40,365 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 39, 39] total 59 [2025-01-10 07:02:40,365 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1927093473] [2025-01-10 07:02:40,365 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:40,365 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:40,366 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:40,366 INFO L85 PathProgramCache]: Analyzing trace with hash 1164, now seen corresponding path program 9 times [2025-01-10 07:02:40,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:40,366 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [864675957] [2025-01-10 07:02:40,366 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:40,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:40,368 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:40,368 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:40,368 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:02:40,368 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:40,368 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:40,369 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:40,369 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:40,369 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:40,369 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:40,369 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:40,381 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:40,381 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 59 interpolants. [2025-01-10 07:02:40,383 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=763, Invalid=2659, Unknown=0, NotChecked=0, Total=3422 [2025-01-10 07:02:40,383 INFO L87 Difference]: Start difference. First operand 245 states and 255 transitions. cyclomatic complexity: 16 Second operand has 59 states, 59 states have (on average 3.0847457627118646) internal successors, (182), 59 states have internal predecessors, (182), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:44,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:44,853 INFO L93 Difference]: Finished difference Result 1210 states and 1256 transitions. [2025-01-10 07:02:44,853 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1210 states and 1256 transitions. [2025-01-10 07:02:44,894 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:44,897 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1210 states to 936 states and 982 transitions. [2025-01-10 07:02:44,898 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29 [2025-01-10 07:02:44,898 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29 [2025-01-10 07:02:44,898 INFO L73 IsDeterministic]: Start isDeterministic. Operand 936 states and 982 transitions. [2025-01-10 07:02:44,898 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:44,898 INFO L218 hiAutomatonCegarLoop]: Abstraction has 936 states and 982 transitions. [2025-01-10 07:02:44,899 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 936 states and 982 transitions. [2025-01-10 07:02:44,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 936 to 647. [2025-01-10 07:02:44,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 647 states, 647 states have (on average 1.0370942812983) internal successors, (671), 646 states have internal predecessors, (671), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:02:44,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 647 states to 647 states and 671 transitions. [2025-01-10 07:02:44,908 INFO L240 hiAutomatonCegarLoop]: Abstraction has 647 states and 671 transitions. [2025-01-10 07:02:44,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 197 states. [2025-01-10 07:02:44,909 INFO L432 stractBuchiCegarLoop]: Abstraction has 647 states and 671 transitions. [2025-01-10 07:02:44,909 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-01-10 07:02:44,909 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 647 states and 671 transitions. [2025-01-10 07:02:44,911 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-01-10 07:02:44,911 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:44,911 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:44,919 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [211, 210, 190, 20, 1, 1, 1] [2025-01-10 07:02:44,919 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:02:44,920 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-01-10 07:02:44,920 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-01-10 07:02:44,920 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:44,920 INFO L85 PathProgramCache]: Analyzing trace with hash -2130711634, now seen corresponding path program 6 times [2025-01-10 07:02:44,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:44,921 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [67316331] [2025-01-10 07:02:44,921 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:44,921 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:44,936 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 634 statements into 211 equivalence classes. [2025-01-10 07:02:45,159 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) and asserted 634 of 634 statements. [2025-01-10 07:02:45,160 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) [2025-01-10 07:02:45,160 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:45,160 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:45,171 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-01-10 07:02:45,259 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-01-10 07:02:45,259 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:45,259 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:45,273 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:45,273 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:45,274 INFO L85 PathProgramCache]: Analyzing trace with hash 1164, now seen corresponding path program 10 times [2025-01-10 07:02:45,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:45,274 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1645583871] [2025-01-10 07:02:45,274 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:45,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:45,277 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-01-10 07:02:45,278 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:45,278 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:45,278 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:45,278 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:45,278 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:02:45,279 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:02:45,279 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:45,279 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:45,279 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:45,280 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:45,280 INFO L85 PathProgramCache]: Analyzing trace with hash 1085520121, now seen corresponding path program 7 times [2025-01-10 07:02:45,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:45,280 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2034682516] [2025-01-10 07:02:45,280 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:45,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:45,294 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 636 statements into 1 equivalence classes. [2025-01-10 07:02:45,402 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 636 of 636 statements. [2025-01-10 07:02:45,402 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:45,402 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:45,403 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:45,409 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 636 statements into 1 equivalence classes. [2025-01-10 07:02:45,479 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 636 of 636 statements. [2025-01-10 07:02:45,480 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:45,480 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:45,498 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:03:24,156 WARN L286 SmtUtils]: Spent 38.47s on a formula simplification. DAG size of input: 2131 DAG size of output: 667 (called from [L 276] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2025-01-10 07:03:25,908 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-01-10 07:03:25,980 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-01-10 07:03:25,980 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:03:25,981 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:03:25,981 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:03:26,000 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-01-10 07:03:26,081 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-01-10 07:03:26,081 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:03:26,081 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:03:26,301 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 10.01 07:03:26 BoogieIcfgContainer [2025-01-10 07:03:26,302 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-01-10 07:03:26,302 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-10 07:03:26,302 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-10 07:03:26,302 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-10 07:03:26,303 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:02:30" (3/4) ... [2025-01-10 07:03:26,304 INFO L143 WitnessPrinter]: Generating witness for non-termination counterexample [2025-01-10 07:03:26,418 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-01-10 07:03:26,418 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-10 07:03:26,423 INFO L158 Benchmark]: Toolchain (without parser) took 56241.17ms. Allocated memory was 142.6MB in the beginning and 629.1MB in the end (delta: 486.5MB). Free memory was 108.4MB in the beginning and 538.6MB in the end (delta: -430.1MB). Peak memory consumption was 55.7MB. Max. memory is 16.1GB. [2025-01-10 07:03:26,423 INFO L158 Benchmark]: CDTParser took 0.54ms. Allocated memory is still 201.3MB. Free memory is still 126.8MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-10 07:03:26,424 INFO L158 Benchmark]: CACSL2BoogieTranslator took 151.94ms. Allocated memory is still 142.6MB. Free memory was 107.5MB in the beginning and 98.1MB in the end (delta: 9.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-10 07:03:26,424 INFO L158 Benchmark]: Boogie Procedure Inliner took 16.24ms. Allocated memory is still 142.6MB. Free memory was 98.1MB in the beginning and 97.2MB in the end (delta: 913.9kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-10 07:03:26,424 INFO L158 Benchmark]: Boogie Preprocessor took 18.88ms. Allocated memory is still 142.6MB. Free memory was 97.2MB in the beginning and 96.3MB in the end (delta: 903.3kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-10 07:03:26,424 INFO L158 Benchmark]: RCFGBuilder took 231.53ms. Allocated memory is still 142.6MB. Free memory was 96.3MB in the beginning and 87.4MB in the end (delta: 8.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-10 07:03:26,424 INFO L158 Benchmark]: BuchiAutomizer took 55696.24ms. Allocated memory was 142.6MB in the beginning and 629.1MB in the end (delta: 486.5MB). Free memory was 87.4MB in the beginning and 559.5MB in the end (delta: -472.1MB). Peak memory consumption was 366.1MB. Max. memory is 16.1GB. [2025-01-10 07:03:26,424 INFO L158 Benchmark]: Witness Printer took 120.15ms. Allocated memory is still 629.1MB. Free memory was 559.5MB in the beginning and 538.6MB in the end (delta: 21.0MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-01-10 07:03:26,427 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.54ms. Allocated memory is still 201.3MB. Free memory is still 126.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 151.94ms. Allocated memory is still 142.6MB. Free memory was 107.5MB in the beginning and 98.1MB in the end (delta: 9.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 16.24ms. Allocated memory is still 142.6MB. Free memory was 98.1MB in the beginning and 97.2MB in the end (delta: 913.9kB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 18.88ms. Allocated memory is still 142.6MB. Free memory was 97.2MB in the beginning and 96.3MB in the end (delta: 903.3kB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 231.53ms. Allocated memory is still 142.6MB. Free memory was 96.3MB in the beginning and 87.4MB in the end (delta: 8.9MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * BuchiAutomizer took 55696.24ms. Allocated memory was 142.6MB in the beginning and 629.1MB in the end (delta: 486.5MB). Free memory was 87.4MB in the beginning and 559.5MB in the end (delta: -472.1MB). Peak memory consumption was 366.1MB. Max. memory is 16.1GB. * Witness Printer took 120.15ms. Allocated memory is still 629.1MB. Free memory was 559.5MB in the beginning and 538.6MB in the end (delta: 21.0MB). Peak memory consumption was 25.2MB. 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 59 locations. The remainder module has 647 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 55.4s and 14 iterations. TraceHistogramMax:211. Analysis of lassos took 48.7s. Construction of modules took 0.9s. Büchi inclusion checks took 5.6s. 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, 127 SdHoareTripleChecker+Valid, 1.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 121 mSDsluCounter, 109 SdHoareTripleChecker+Invalid, 1.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 43 mSDsCounter, 350 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1732 IncrementalHoareTripleChecker+Invalid, 2082 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 350 mSolverCounterUnsat, 66 mSDtfsCounter, 1732 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont1 unkn0 SFLI0 SFLT3 conc3 concLT0 SILN6 SILU0 SILI0 SILT1 lasso0 LassoPreprocessingBenchmarks: Lassos: inital17 mio100 ax167 hnf100 lsp59 ukn100 mio100 lsp100 div100 bol100 ite100 ukn100 eq166 hnf95 smp71 dnf100 smp100 tf110 neg100 sie109 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 28ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 5 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 4 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.4s 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-01-10 07:03:26,510 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Ended with exit code 0 [2025-01-10 07:03:26,708 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Ended with exit code 0 [2025-01-10 07:03:26,902 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Ended with exit code 0 [2025-01-10 07:03:27,103 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2025-01-10 07:03:27,303 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2025-01-10 07:03:27,504 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2025-01-10 07:03:27,704 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-01-10 07:03:27,908 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, 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)