./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 8fc3dc66 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-restricted-15/NarrowKonv.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(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-?-8fc3dc6-m [2025-03-17 19:52:45,042 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-17 19:52:45,100 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2025-03-17 19:52:45,105 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-17 19:52:45,106 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-17 19:52:45,106 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2025-03-17 19:52:45,120 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-17 19:52:45,121 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-17 19:52:45,121 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-17 19:52:45,122 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-17 19:52:45,122 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Use SBE=true [2025-03-17 19:52:45,122 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Use old map elimination=false [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-03-17 19:52:45,122 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-03-17 19:52:45,122 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-17 19:52:45,123 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-17 19:52:45,123 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-17 19:52:45,123 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-17 19:52:45,123 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-03-17 19:52:45,123 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/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-03-17 19:52:45,362 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-17 19:52:45,373 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-17 19:52:45,375 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-17 19:52:45,376 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-17 19:52:45,376 INFO L274 PluginConnector]: CDTParser initialized [2025-03-17 19:52:45,377 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-restricted-15/NarrowKonv.c [2025-03-17 19:52:46,536 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6c141fb71/d8158c24c1e043738d77ae31d7dbc88d/FLAG1cee10a6c [2025-03-17 19:52:46,779 INFO L384 CDTParser]: Found 1 translation units. [2025-03-17 19:52:46,780 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-restricted-15/NarrowKonv.c [2025-03-17 19:52:46,786 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6c141fb71/d8158c24c1e043738d77ae31d7dbc88d/FLAG1cee10a6c [2025-03-17 19:52:47,118 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6c141fb71/d8158c24c1e043738d77ae31d7dbc88d [2025-03-17 19:52:47,120 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-17 19:52:47,122 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-17 19:52:47,124 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-17 19:52:47,125 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-17 19:52:47,129 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-17 19:52:47,130 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,130 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@190426d4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47, skipping insertion in model container [2025-03-17 19:52:47,131 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,144 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-17 19:52:47,243 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 19:52:47,248 INFO L200 MainTranslator]: Completed pre-run [2025-03-17 19:52:47,257 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 19:52:47,267 INFO L204 MainTranslator]: Completed translation [2025-03-17 19:52:47,268 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47 WrapperNode [2025-03-17 19:52:47,268 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-17 19:52:47,269 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-17 19:52:47,269 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-17 19:52:47,269 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-17 19:52:47,273 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,276 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,287 INFO L138 Inliner]: procedures = 4, calls = 2, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 16 [2025-03-17 19:52:47,287 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-17 19:52:47,288 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-17 19:52:47,288 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-17 19:52:47,288 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-17 19:52:47,293 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,294 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,294 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,297 INFO L175 MemorySlicer]: No memory access in input program. [2025-03-17 19:52:47,298 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,298 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,300 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,300 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,302 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,302 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,303 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-17 19:52:47,303 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-17 19:52:47,304 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-17 19:52:47,304 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-17 19:52:47,307 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (1/1) ... [2025-03-17 19:52:47,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:47,323 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:47,337 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:47,343 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-03-17 19:52:47,359 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-17 19:52:47,360 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-17 19:52:47,402 INFO L256 CfgBuilder]: Building ICFG [2025-03-17 19:52:47,403 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-17 19:52:47,455 INFO L? ?]: Removed 2 outVars from TransFormulas that were not future-live. [2025-03-17 19:52:47,455 INFO L307 CfgBuilder]: Performing block encoding [2025-03-17 19:52:47,460 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-17 19:52:47,460 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-17 19:52:47,461 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 07:52:47 BoogieIcfgContainer [2025-03-17 19:52:47,461 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-17 19:52:47,461 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-03-17 19:52:47,461 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-03-17 19:52:47,465 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-03-17 19:52:47,465 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 19:52:47,465 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.03 07:52:47" (1/3) ... [2025-03-17 19:52:47,466 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@405be3a2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.03 07:52:47, skipping insertion in model container [2025-03-17 19:52:47,466 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 19:52:47,466 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 07:52:47" (2/3) ... [2025-03-17 19:52:47,466 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@405be3a2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.03 07:52:47, skipping insertion in model container [2025-03-17 19:52:47,466 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 19:52:47,466 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 07:52:47" (3/3) ... [2025-03-17 19:52:47,467 INFO L363 chiAutomizerObserver]: Analyzing ICFG NarrowKonv.c [2025-03-17 19:52:47,502 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-03-17 19:52:47,503 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-03-17 19:52:47,503 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-03-17 19:52:47,503 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-03-17 19:52:47,504 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-03-17 19:52:47,504 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-03-17 19:52:47,504 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-03-17 19:52:47,505 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-03-17 19:52:47,508 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:47,517 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-17 19:52:47,518 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:47,518 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:47,522 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1] [2025-03-17 19:52:47,522 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:47,522 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-03-17 19:52:47,522 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:47,522 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-17 19:52:47,522 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:47,522 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:47,523 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1] [2025-03-17 19:52:47,523 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:47,528 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-03-17 19:52:47,529 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-03-17 19:52:47,533 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:47,533 INFO L85 PathProgramCache]: Analyzing trace with hash 37, now seen corresponding path program 1 times [2025-03-17 19:52:47,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:47,538 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1710445291] [2025-03-17 19:52:47,539 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:47,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:47,579 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 19:52:47,581 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 19:52:47,581 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,581 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,581 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:47,583 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 19:52:47,583 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 19:52:47,583 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,583 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,591 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:47,592 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:47,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 1 times [2025-03-17 19:52:47,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:47,593 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [677871244] [2025-03-17 19:52:47,593 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:47,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:47,598 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:47,601 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:47,601 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,601 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,601 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:47,602 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:47,603 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:47,603 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,603 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,604 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:47,605 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:47,605 INFO L85 PathProgramCache]: Analyzing trace with hash 35716, now seen corresponding path program 1 times [2025-03-17 19:52:47,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:47,605 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707094429] [2025-03-17 19:52:47,605 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:47,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:47,608 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:47,610 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:47,610 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,611 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:47,651 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:47,651 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:47,651 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [707094429] [2025-03-17 19:52:47,652 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [707094429] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 19:52:47,652 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 19:52:47,652 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2025-03-17 19:52:47,652 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1424156034] [2025-03-17 19:52:47,652 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 19:52:47,688 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:47,704 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-17 19:52:47,705 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-17 19:52:47,706 INFO L87 Difference]: Start difference. First operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 2 states have (on average 1.5) internal successors, (3), 2 states have internal predecessors, (3), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:47,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:47,723 INFO L93 Difference]: Finished difference Result 9 states and 13 transitions. [2025-03-17 19:52:47,724 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9 states and 13 transitions. [2025-03-17 19:52:47,724 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-17 19:52:47,728 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9 states to 7 states and 10 transitions. [2025-03-17 19:52:47,728 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 7 [2025-03-17 19:52:47,729 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 7 [2025-03-17 19:52:47,729 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 10 transitions. [2025-03-17 19:52:47,729 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 19:52:47,729 INFO L218 hiAutomatonCegarLoop]: Abstraction has 7 states and 10 transitions. [2025-03-17 19:52:47,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7 states and 10 transitions. [2025-03-17 19:52:47,744 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7 to 7. [2025-03-17 19:52:47,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 6 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:47,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 10 transitions. [2025-03-17 19:52:47,746 INFO L240 hiAutomatonCegarLoop]: Abstraction has 7 states and 10 transitions. [2025-03-17 19:52:47,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-17 19:52:47,753 INFO L432 stractBuchiCegarLoop]: Abstraction has 7 states and 10 transitions. [2025-03-17 19:52:47,753 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-03-17 19:52:47,753 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 7 states and 10 transitions. [2025-03-17 19:52:47,753 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-17 19:52:47,754 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:47,754 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:47,754 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1] [2025-03-17 19:52:47,754 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 19:52:47,754 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-03-17 19:52:47,754 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-03-17 19:52:47,754 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:47,755 INFO L85 PathProgramCache]: Analyzing trace with hash 37, now seen corresponding path program 2 times [2025-03-17 19:52:47,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:47,755 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307983308] [2025-03-17 19:52:47,755 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:47,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:47,758 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 1 statements into 1 equivalence classes. [2025-03-17 19:52:47,758 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 19:52:47,758 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 19:52:47,758 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,759 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:47,759 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 19:52:47,760 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 19:52:47,760 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,760 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,760 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:47,764 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:47,765 INFO L85 PathProgramCache]: Analyzing trace with hash 34691, now seen corresponding path program 1 times [2025-03-17 19:52:47,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:47,765 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1189413387] [2025-03-17 19:52:47,765 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:47,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:47,767 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:47,771 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:47,772 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,772 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,772 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:47,774 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:47,776 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:47,779 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,779 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,780 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:47,781 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:47,781 INFO L85 PathProgramCache]: Analyzing trace with hash 1107167, now seen corresponding path program 1 times [2025-03-17 19:52:47,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:47,781 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1937395512] [2025-03-17 19:52:47,781 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:47,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:47,786 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-17 19:52:47,788 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-17 19:52:47,788 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,788 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,788 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:47,789 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-17 19:52:47,791 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-17 19:52:47,791 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:47,791 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:47,792 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:47,840 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:47,841 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:47,841 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:47,841 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:47,841 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-17 19:52:47,841 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:47,841 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:47,842 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:47,842 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-03-17 19:52:47,844 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:47,844 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:47,855 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:47,864 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:47,868 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:47,938 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:47,939 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-17 19:52:47,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:47,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:47,942 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:47,944 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2025-03-17 19:52:47,945 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:47,945 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:47,964 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:47,964 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-03-17 19:52:47,970 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:47,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:47,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:47,972 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:47,973 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2025-03-17 19:52:47,973 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:47,973 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:47,991 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:47,991 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-03-17 19:52:47,997 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2025-03-17 19:52:47,997 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:47,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:47,998 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,000 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2025-03-17 19:52:48,002 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:48,002 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:48,021 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2025-03-17 19:52:48,022 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,022 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,023 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,024 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2025-03-17 19:52:48,025 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-17 19:52:48,025 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:48,068 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-17 19:52:48,072 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2025-03-17 19:52:48,072 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:48,072 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:48,072 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:48,072 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:48,072 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 19:52:48,072 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,072 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:48,072 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:48,072 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-03-17 19:52:48,072 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:48,072 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:48,074 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,076 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,079 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,132 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:48,134 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 19:52:48,135 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,137 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,139 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2025-03-17 19:52:48,140 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-03-17 19:52:48,151 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:48,151 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:48,151 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:48,151 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:48,156 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:48,157 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:48,161 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:48,166 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:48,166 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,168 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,169 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2025-03-17 19:52:48,170 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-03-17 19:52:48,179 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:48,180 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:48,180 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:48,180 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:48,182 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:48,182 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:48,186 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:48,193 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2025-03-17 19:52:48,193 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,195 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,197 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2025-03-17 19:52:48,198 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-03-17 19:52:48,208 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:48,208 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 19:52:48,209 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:48,209 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:48,209 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:48,211 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 19:52:48,211 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 19:52:48,216 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 19:52:48,219 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-17 19:52:48,221 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-03-17 19:52:48,222 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,222 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,225 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,227 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2025-03-17 19:52:48,229 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 19:52:48,230 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-17 19:52:48,230 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 19:52:48,230 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-03-17 19:52:48,241 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Ended with exit code 0 [2025-03-17 19:52:48,246 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-17 19:52:48,269 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:48,273 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1 statements into 1 equivalence classes. [2025-03-17 19:52:48,274 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1 of 1 statements. [2025-03-17 19:52:48,274 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,274 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:48,278 WARN L254 TraceCheckSpWp]: Trace formula consists of 4 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 19:52:48,278 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:48,284 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:48,286 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:48,287 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,287 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:48,289 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 19:52:48,290 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:48,312 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:48,314 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-03-17 19:52:48,315 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 7 states and 10 transitions. cyclomatic complexity: 5 Second operand has 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:48,347 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2025-03-17 19:52:48,367 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 7 states and 10 transitions. cyclomatic complexity: 5. Second operand has 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 10 states and 14 transitions. Complement of second has 5 states. [2025-03-17 19:52:48,369 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-03-17 19:52:48,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 1.3333333333333333) internal successors, (4), 2 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:48,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 4 transitions. [2025-03-17 19:52:48,373 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 4 transitions. Stem has 1 letters. Loop has 3 letters. [2025-03-17 19:52:48,374 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:48,374 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 4 transitions. Stem has 4 letters. Loop has 3 letters. [2025-03-17 19:52:48,374 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:48,374 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 4 transitions. Stem has 1 letters. Loop has 6 letters. [2025-03-17 19:52:48,374 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:48,374 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 10 states and 14 transitions. [2025-03-17 19:52:48,375 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-17 19:52:48,376 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 10 states to 10 states and 14 transitions. [2025-03-17 19:52:48,376 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 6 [2025-03-17 19:52:48,376 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 7 [2025-03-17 19:52:48,377 INFO L73 IsDeterministic]: Start isDeterministic. Operand 10 states and 14 transitions. [2025-03-17 19:52:48,377 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:48,377 INFO L218 hiAutomatonCegarLoop]: Abstraction has 10 states and 14 transitions. [2025-03-17 19:52:48,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 10 states and 14 transitions. [2025-03-17 19:52:48,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 10 to 10. [2025-03-17 19:52:48,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.4) internal successors, (14), 9 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:48,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 14 transitions. [2025-03-17 19:52:48,378 INFO L240 hiAutomatonCegarLoop]: Abstraction has 10 states and 14 transitions. [2025-03-17 19:52:48,378 INFO L432 stractBuchiCegarLoop]: Abstraction has 10 states and 14 transitions. [2025-03-17 19:52:48,378 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-03-17 19:52:48,378 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 10 states and 14 transitions. [2025-03-17 19:52:48,379 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-17 19:52:48,379 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:48,379 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:48,379 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-03-17 19:52:48,379 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:48,379 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-03-17 19:52:48,379 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-03-17 19:52:48,380 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:48,380 INFO L85 PathProgramCache]: Analyzing trace with hash 1107166, now seen corresponding path program 1 times [2025-03-17 19:52:48,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:48,380 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1299887534] [2025-03-17 19:52:48,380 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:48,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:48,383 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-17 19:52:48,384 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-17 19:52:48,384 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,384 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,385 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:48,385 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-17 19:52:48,388 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-17 19:52:48,388 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,388 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,389 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:48,389 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:48,389 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 2 times [2025-03-17 19:52:48,389 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:48,389 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1402115449] [2025-03-17 19:52:48,389 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:48,389 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:48,391 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:48,394 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:48,394 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 19:52:48,394 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,394 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:48,396 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:48,396 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:48,397 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,397 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,397 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:48,397 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:48,397 INFO L85 PathProgramCache]: Analyzing trace with hash 1063986685, now seen corresponding path program 1 times [2025-03-17 19:52:48,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:48,398 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [877573815] [2025-03-17 19:52:48,398 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:48,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:48,401 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-17 19:52:48,403 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-17 19:52:48,403 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,403 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:48,433 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:48,436 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:48,437 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [877573815] [2025-03-17 19:52:48,437 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [877573815] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 19:52:48,437 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [812821069] [2025-03-17 19:52:48,437 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:48,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 19:52:48,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,442 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,442 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2025-03-17 19:52:48,459 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-17 19:52:48,462 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-17 19:52:48,462 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,462 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:48,463 INFO L256 TraceCheckSpWp]: Trace formula consists of 19 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-03-17 19:52:48,463 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:48,498 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:48,498 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 19:52:48,519 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:48,520 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [812821069] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 19:52:48,520 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 19:52:48,520 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 5 [2025-03-17 19:52:48,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [232505506] [2025-03-17 19:52:48,520 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 19:52:48,535 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:48,535 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-03-17 19:52:48,535 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-03-17 19:52:48,536 INFO L87 Difference]: Start difference. First operand 10 states and 14 transitions. cyclomatic complexity: 6 Second operand has 7 states, 6 states have (on average 2.5) internal successors, (15), 6 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:48,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:48,581 INFO L93 Difference]: Finished difference Result 22 states and 27 transitions. [2025-03-17 19:52:48,581 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 22 states and 27 transitions. [2025-03-17 19:52:48,582 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-17 19:52:48,582 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 22 states to 22 states and 27 transitions. [2025-03-17 19:52:48,582 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19 [2025-03-17 19:52:48,582 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19 [2025-03-17 19:52:48,582 INFO L73 IsDeterministic]: Start isDeterministic. Operand 22 states and 27 transitions. [2025-03-17 19:52:48,582 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:48,582 INFO L218 hiAutomatonCegarLoop]: Abstraction has 22 states and 27 transitions. [2025-03-17 19:52:48,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states and 27 transitions. [2025-03-17 19:52:48,583 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2025-03-17 19:52:48,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 21 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:48,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 27 transitions. [2025-03-17 19:52:48,584 INFO L240 hiAutomatonCegarLoop]: Abstraction has 22 states and 27 transitions. [2025-03-17 19:52:48,584 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-03-17 19:52:48,585 INFO L432 stractBuchiCegarLoop]: Abstraction has 22 states and 27 transitions. [2025-03-17 19:52:48,585 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-03-17 19:52:48,585 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 22 states and 27 transitions. [2025-03-17 19:52:48,585 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-17 19:52:48,585 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:48,586 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:48,586 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 1, 1] [2025-03-17 19:52:48,586 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 19:52:48,586 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-03-17 19:52:48,586 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-03-17 19:52:48,586 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:48,586 INFO L85 PathProgramCache]: Analyzing trace with hash -1456421922, now seen corresponding path program 1 times [2025-03-17 19:52:48,587 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:48,587 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1703713666] [2025-03-17 19:52:48,587 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:48,587 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:48,590 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-03-17 19:52:48,597 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-03-17 19:52:48,598 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,598 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,598 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:48,600 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-03-17 19:52:48,606 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-03-17 19:52:48,608 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,608 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,609 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:48,609 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:48,610 INFO L85 PathProgramCache]: Analyzing trace with hash 34691, now seen corresponding path program 2 times [2025-03-17 19:52:48,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:48,610 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [947111859] [2025-03-17 19:52:48,610 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:48,611 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:48,613 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:48,614 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:48,614 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 19:52:48,614 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,614 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:48,615 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:48,619 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:48,619 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,619 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,620 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:48,621 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:48,621 INFO L85 PathProgramCache]: Analyzing trace with hash -505849210, now seen corresponding path program 2 times [2025-03-17 19:52:48,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:48,621 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2139350535] [2025-03-17 19:52:48,621 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:48,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:48,626 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 13 statements into 2 equivalence classes. [2025-03-17 19:52:48,633 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 19:52:48,633 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 19:52:48,633 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,633 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:48,635 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-03-17 19:52:48,644 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 19:52:48,644 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:48,644 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:48,645 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:48,673 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:48,673 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:48,673 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:48,674 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:48,674 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-17 19:52:48,674 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,674 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:48,674 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:48,674 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-03-17 19:52:48,674 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:48,674 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:48,675 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,677 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,679 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,725 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:48,725 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-17 19:52:48,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,726 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,727 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,729 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2025-03-17 19:52:48,730 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:48,730 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:48,749 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:48,749 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-03-17 19:52:48,757 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:48,757 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,757 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,761 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,762 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2025-03-17 19:52:48,763 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:48,763 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:48,784 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:48,785 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-03-17 19:52:48,795 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Ended with exit code 0 [2025-03-17 19:52:48,796 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,796 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,798 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,802 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:48,803 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:48,803 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2025-03-17 19:52:48,827 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Ended with exit code 0 [2025-03-17 19:52:48,828 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,828 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,830 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2025-03-17 19:52:48,832 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-17 19:52:48,832 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:48,874 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-17 19:52:48,882 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Ended with exit code 0 [2025-03-17 19:52:48,882 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:48,882 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:48,882 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:48,882 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:48,882 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 19:52:48,882 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,882 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:48,882 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:48,882 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-03-17 19:52:48,882 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:48,882 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:48,883 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,887 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,889 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:48,934 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:48,934 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 19:52:48,934 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,937 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,938 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2025-03-17 19:52:48,939 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-03-17 19:52:48,950 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:48,950 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:48,950 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:48,950 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:48,952 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:48,952 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:48,955 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:48,965 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:48,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,967 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,969 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2025-03-17 19:52:48,970 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-03-17 19:52:48,981 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:48,981 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:48,981 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:48,981 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:48,984 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:48,984 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:48,988 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:48,993 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:48,994 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:48,994 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:48,996 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:48,997 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2025-03-17 19:52:48,999 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-03-17 19:52:49,009 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:49,009 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 19:52:49,010 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:49,010 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:49,010 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:49,010 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 19:52:49,010 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 19:52:49,012 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 19:52:49,014 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-17 19:52:49,014 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-03-17 19:52:49,014 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,014 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,020 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,023 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2025-03-17 19:52:49,023 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 19:52:49,023 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-17 19:52:49,023 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 19:52:49,023 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-03-17 19:52:49,031 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:49,032 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-17 19:52:49,058 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,068 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 10 statements into 1 equivalence classes. [2025-03-17 19:52:49,076 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 10 of 10 statements. [2025-03-17 19:52:49,076 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,076 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,077 INFO L256 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,077 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,090 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:49,092 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:49,092 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,092 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,092 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,093 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,115 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:49,115 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-03-17 19:52:49,115 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 22 states and 27 transitions. cyclomatic complexity: 8 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,136 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 22 states and 27 transitions. cyclomatic complexity: 8. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 43 states and 49 transitions. Complement of second has 5 states. [2025-03-17 19:52:49,137 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-03-17 19:52:49,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 8 transitions. [2025-03-17 19:52:49,138 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 10 letters. Loop has 3 letters. [2025-03-17 19:52:49,138 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,138 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 13 letters. Loop has 3 letters. [2025-03-17 19:52:49,138 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,138 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 10 letters. Loop has 6 letters. [2025-03-17 19:52:49,138 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,138 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 43 states and 49 transitions. [2025-03-17 19:52:49,139 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-17 19:52:49,140 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 43 states to 37 states and 43 transitions. [2025-03-17 19:52:49,140 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2025-03-17 19:52:49,140 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2025-03-17 19:52:49,140 INFO L73 IsDeterministic]: Start isDeterministic. Operand 37 states and 43 transitions. [2025-03-17 19:52:49,140 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:49,140 INFO L218 hiAutomatonCegarLoop]: Abstraction has 37 states and 43 transitions. [2025-03-17 19:52:49,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states and 43 transitions. [2025-03-17 19:52:49,142 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2025-03-17 19:52:49,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 32 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 39 transitions. [2025-03-17 19:52:49,142 INFO L240 hiAutomatonCegarLoop]: Abstraction has 33 states and 39 transitions. [2025-03-17 19:52:49,142 INFO L432 stractBuchiCegarLoop]: Abstraction has 33 states and 39 transitions. [2025-03-17 19:52:49,142 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-03-17 19:52:49,142 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states and 39 transitions. [2025-03-17 19:52:49,143 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-17 19:52:49,143 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:49,143 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:49,143 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 1, 1] [2025-03-17 19:52:49,143 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-17 19:52:49,144 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-03-17 19:52:49,144 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-03-17 19:52:49,144 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,144 INFO L85 PathProgramCache]: Analyzing trace with hash -1589866396, now seen corresponding path program 3 times [2025-03-17 19:52:49,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:49,144 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [68762840] [2025-03-17 19:52:49,144 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 19:52:49,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:49,148 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 13 statements into 4 equivalence classes. [2025-03-17 19:52:49,153 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 19:52:49,153 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2025-03-17 19:52:49,153 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:49,153 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:49,154 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-03-17 19:52:49,157 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 19:52:49,160 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,160 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:49,161 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:49,162 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,162 INFO L85 PathProgramCache]: Analyzing trace with hash 34691, now seen corresponding path program 3 times [2025-03-17 19:52:49,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:49,162 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [140864514] [2025-03-17 19:52:49,162 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 19:52:49,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:49,164 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:49,165 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:49,165 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 19:52:49,165 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:49,165 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:49,166 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:49,167 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:49,167 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,167 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:49,167 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:49,168 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,168 INFO L85 PathProgramCache]: Analyzing trace with hash 1189541952, now seen corresponding path program 4 times [2025-03-17 19:52:49,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:49,168 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1429908373] [2025-03-17 19:52:49,168 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 19:52:49,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:49,172 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 16 statements into 2 equivalence classes. [2025-03-17 19:52:49,175 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 16 of 16 statements. [2025-03-17 19:52:49,175 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 19:52:49,175 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:49,175 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:49,178 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-03-17 19:52:49,182 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-03-17 19:52:49,182 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,182 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:49,187 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:49,225 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:49,225 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:49,225 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:49,225 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:49,225 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-17 19:52:49,225 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,226 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:49,226 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:49,226 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-03-17 19:52:49,226 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:49,226 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:49,227 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:49,229 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:49,232 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:49,284 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:49,285 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-17 19:52:49,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,291 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,293 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2025-03-17 19:52:49,295 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:49,295 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:49,312 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:49,312 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-03-17 19:52:49,317 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:49,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,318 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,319 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,320 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2025-03-17 19:52:49,321 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:49,321 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:49,337 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:49,338 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~false_5=0} Honda state: {v_rep~unnamed0~0~false_5=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-03-17 19:52:49,343 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Ended with exit code 0 [2025-03-17 19:52:49,343 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,378 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,379 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2025-03-17 19:52:49,380 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:49,380 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:49,396 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Ended with exit code 0 [2025-03-17 19:52:49,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,398 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,398 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2025-03-17 19:52:49,399 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-17 19:52:49,399 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:49,439 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-17 19:52:49,443 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Ended with exit code 0 [2025-03-17 19:52:49,443 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:49,443 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:49,443 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:49,443 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:49,443 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 19:52:49,443 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,443 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:49,443 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:49,443 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-03-17 19:52:49,443 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:49,443 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:49,444 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:49,448 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:49,450 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:49,492 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:49,492 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 19:52:49,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,494 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,496 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2025-03-17 19:52:49,497 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-03-17 19:52:49,507 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:49,508 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:49,508 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:49,508 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:49,511 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:49,511 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:49,514 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:49,520 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Ended with exit code 0 [2025-03-17 19:52:49,520 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,522 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,527 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2025-03-17 19:52:49,528 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-03-17 19:52:49,539 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:49,539 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:49,539 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:49,539 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:49,542 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:49,543 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:49,545 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:49,552 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2025-03-17 19:52:49,552 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,552 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,558 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,559 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2025-03-17 19:52:49,560 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-03-17 19:52:49,570 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:49,570 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 19:52:49,570 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:49,570 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:49,570 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:49,572 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 19:52:49,572 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 19:52:49,576 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 19:52:49,581 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2025-03-17 19:52:49,581 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-17 19:52:49,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:49,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,584 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,585 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2025-03-17 19:52:49,586 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 19:52:49,586 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-17 19:52:49,586 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 19:52:49,586 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-03-17 19:52:49,592 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:49,593 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-17 19:52:49,603 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,606 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-03-17 19:52:49,609 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 19:52:49,609 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,609 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,609 INFO L256 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,610 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,623 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:49,624 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:49,624 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,624 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,624 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,625 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,644 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Ended with exit code 0 [2025-03-17 19:52:49,648 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:49,656 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:49,657 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-03-17 19:52:49,657 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,677 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 43 states and 50 transitions. Complement of second has 5 states. [2025-03-17 19:52:49,677 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-03-17 19:52:49,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 8 transitions. [2025-03-17 19:52:49,678 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 13 letters. Loop has 3 letters. [2025-03-17 19:52:49,678 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,678 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-03-17 19:52:49,686 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,689 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-03-17 19:52:49,692 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 19:52:49,692 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,692 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,693 INFO L256 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,693 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,707 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:49,707 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:49,708 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,708 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,708 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,708 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,721 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:49,721 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-03-17 19:52:49,721 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,733 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 43 states and 50 transitions. Complement of second has 5 states. [2025-03-17 19:52:49,733 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-03-17 19:52:49,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 8 transitions. [2025-03-17 19:52:49,734 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 8 transitions. Stem has 13 letters. Loop has 3 letters. [2025-03-17 19:52:49,734 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,734 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-03-17 19:52:49,743 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,745 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 13 statements into 1 equivalence classes. [2025-03-17 19:52:49,748 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 13 of 13 statements. [2025-03-17 19:52:49,748 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,748 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,748 INFO L256 TraceCheckSpWp]: Trace formula consists of 31 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,749 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,762 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-17 19:52:49,763 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-17 19:52:49,763 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:49,763 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,763 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,763 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,781 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:49,782 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-03-17 19:52:49,782 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,803 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 33 states and 39 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 56 states and 68 transitions. Complement of second has 4 states. [2025-03-17 19:52:49,803 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-03-17 19:52:49,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 12 transitions. [2025-03-17 19:52:49,804 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 12 transitions. Stem has 13 letters. Loop has 3 letters. [2025-03-17 19:52:49,805 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,805 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 12 transitions. Stem has 16 letters. Loop has 3 letters. [2025-03-17 19:52:49,805 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,805 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 12 transitions. Stem has 13 letters. Loop has 6 letters. [2025-03-17 19:52:49,805 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:49,805 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 56 states and 68 transitions. [2025-03-17 19:52:49,806 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2025-03-17 19:52:49,807 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 56 states to 46 states and 57 transitions. [2025-03-17 19:52:49,807 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2025-03-17 19:52:49,807 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29 [2025-03-17 19:52:49,807 INFO L73 IsDeterministic]: Start isDeterministic. Operand 46 states and 57 transitions. [2025-03-17 19:52:49,807 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:49,807 INFO L218 hiAutomatonCegarLoop]: Abstraction has 46 states and 57 transitions. [2025-03-17 19:52:49,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states and 57 transitions. [2025-03-17 19:52:49,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 30. [2025-03-17 19:52:49,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.3) internal successors, (39), 29 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:49,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2025-03-17 19:52:49,810 INFO L240 hiAutomatonCegarLoop]: Abstraction has 30 states and 39 transitions. [2025-03-17 19:52:49,810 INFO L432 stractBuchiCegarLoop]: Abstraction has 30 states and 39 transitions. [2025-03-17 19:52:49,810 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-03-17 19:52:49,810 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 30 states and 39 transitions. [2025-03-17 19:52:49,810 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 11 [2025-03-17 19:52:49,810 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:49,810 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:49,811 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 3, 2, 1] [2025-03-17 19:52:49,811 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1] [2025-03-17 19:52:49,811 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-03-17 19:52:49,811 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-03-17 19:52:49,811 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:49,811 INFO L85 PathProgramCache]: Analyzing trace with hash 1286401663, now seen corresponding path program 5 times [2025-03-17 19:52:49,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:49,811 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1675840912] [2025-03-17 19:52:49,811 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 19:52:49,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:49,816 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 16 statements into 5 equivalence classes. [2025-03-17 19:52:49,820 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 16 of 16 statements. [2025-03-17 19:52:49,820 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-03-17 19:52:49,820 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,881 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:49,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:49,882 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1675840912] [2025-03-17 19:52:49,882 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1675840912] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 19:52:49,882 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [195421032] [2025-03-17 19:52:49,882 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 19:52:49,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 19:52:49,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:49,884 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 19:52:49,885 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2025-03-17 19:52:49,905 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 16 statements into 5 equivalence classes. [2025-03-17 19:52:49,911 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 16 of 16 statements. [2025-03-17 19:52:49,911 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-03-17 19:52:49,911 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:49,912 INFO L256 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-03-17 19:52:49,912 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:49,972 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:49,972 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 19:52:50,028 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:50,028 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [195421032] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 19:52:50,029 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 19:52:50,029 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 12 [2025-03-17 19:52:50,029 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1687886886] [2025-03-17 19:52:50,029 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 19:52:50,029 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 19:52:50,029 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:50,029 INFO L85 PathProgramCache]: Analyzing trace with hash 1033454690, now seen corresponding path program 1 times [2025-03-17 19:52:50,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:50,029 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1067694117] [2025-03-17 19:52:50,030 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:50,030 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:50,032 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-17 19:52:50,034 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-17 19:52:50,034 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:50,034 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:50,034 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:50,034 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-17 19:52:50,035 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-17 19:52:50,035 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:50,035 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:50,036 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:50,089 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:50,089 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:50,089 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:50,089 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:50,089 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-17 19:52:50,089 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,089 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:50,089 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:50,089 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-03-17 19:52:50,089 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:50,089 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:50,090 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:50,092 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:50,094 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:50,148 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:50,148 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-17 19:52:50,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,151 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,152 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2025-03-17 19:52:50,153 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:50,153 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:50,173 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:50,174 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~true_7=1} Honda state: {v_rep~unnamed0~0~true_7=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-03-17 19:52:50,181 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Ended with exit code 0 [2025-03-17 19:52:50,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,184 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,186 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2025-03-17 19:52:50,189 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:50,189 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:50,206 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-17 19:52:50,206 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {v_rep~unnamed0~0~false_7=0} Honda state: {v_rep~unnamed0~0~false_7=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-03-17 19:52:50,213 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Ended with exit code 0 [2025-03-17 19:52:50,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,213 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,215 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,215 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Waiting until timeout for monitored process [2025-03-17 19:52:50,216 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-17 19:52:50,216 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:50,233 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:50,233 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,235 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,236 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Waiting until timeout for monitored process [2025-03-17 19:52:50,237 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-17 19:52:50,237 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-17 19:52:50,276 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-17 19:52:50,281 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Ended with exit code 0 [2025-03-17 19:52:50,281 INFO L204 LassoAnalysis]: Preferences: [2025-03-17 19:52:50,281 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-17 19:52:50,281 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-17 19:52:50,281 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-17 19:52:50,281 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-17 19:52:50,282 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,282 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-17 19:52:50,282 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-17 19:52:50,282 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-03-17 19:52:50,282 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-17 19:52:50,282 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-17 19:52:50,282 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:50,289 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:50,293 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-17 19:52:50,367 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-17 19:52:50,367 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-17 19:52:50,367 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,367 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,370 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,371 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Waiting until timeout for monitored process [2025-03-17 19:52:50,371 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-03-17 19:52:50,381 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:50,381 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:50,381 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:50,381 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:50,382 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:50,382 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:50,385 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:50,391 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Forceful destruction successful, exit code 0 [2025-03-17 19:52:50,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,391 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,393 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,394 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Waiting until timeout for monitored process [2025-03-17 19:52:50,395 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-03-17 19:52:50,404 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:50,405 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:50,405 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:50,405 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:50,410 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-17 19:52:50,410 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-17 19:52:50,413 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-17 19:52:50,418 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Ended with exit code 0 [2025-03-17 19:52:50,419 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,420 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,421 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Waiting until timeout for monitored process [2025-03-17 19:52:50,422 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-03-17 19:52:50,432 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-17 19:52:50,432 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-17 19:52:50,432 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-17 19:52:50,432 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-17 19:52:50,432 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-17 19:52:50,433 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-17 19:52:50,433 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-17 19:52:50,435 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-17 19:52:50,437 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-17 19:52:50,437 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-17 19:52:50,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 19:52:50,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,439 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,440 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2025-03-17 19:52:50,440 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-17 19:52:50,441 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-17 19:52:50,441 INFO L474 LassoAnalysis]: Proved termination. [2025-03-17 19:52:50,441 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-03-17 19:52:50,446 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Ended with exit code 0 [2025-03-17 19:52:50,447 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-17 19:52:50,453 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:50,463 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 16 statements into 1 equivalence classes. [2025-03-17 19:52:50,467 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 16 of 16 statements. [2025-03-17 19:52:50,467 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:50,467 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:50,468 INFO L256 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-17 19:52:50,468 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:50,489 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-17 19:52:50,492 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-17 19:52:50,492 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:50,492 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:50,492 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-03-17 19:52:50,493 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:50,523 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 19:52:50,524 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-03-17 19:52:50,524 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 30 states and 39 transitions. cyclomatic complexity: 12 Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:50,548 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 30 states and 39 transitions. cyclomatic complexity: 12. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 71 states and 95 transitions. Complement of second has 6 states. [2025-03-17 19:52:50,549 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-03-17 19:52:50,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:50,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 14 transitions. [2025-03-17 19:52:50,549 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 14 transitions. Stem has 16 letters. Loop has 6 letters. [2025-03-17 19:52:50,550 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:50,550 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 14 transitions. Stem has 22 letters. Loop has 6 letters. [2025-03-17 19:52:50,550 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:50,550 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 14 transitions. Stem has 16 letters. Loop has 12 letters. [2025-03-17 19:52:50,550 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-17 19:52:50,550 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 71 states and 95 transitions. [2025-03-17 19:52:50,551 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-17 19:52:50,551 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 71 states to 54 states and 72 transitions. [2025-03-17 19:52:50,551 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 15 [2025-03-17 19:52:50,551 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-17 19:52:50,551 INFO L73 IsDeterministic]: Start isDeterministic. Operand 54 states and 72 transitions. [2025-03-17 19:52:50,551 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:50,551 INFO L218 hiAutomatonCegarLoop]: Abstraction has 54 states and 72 transitions. [2025-03-17 19:52:50,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states and 72 transitions. [2025-03-17 19:52:50,557 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 46. [2025-03-17 19:52:50,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 46 states have (on average 1.3478260869565217) internal successors, (62), 45 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:50,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 62 transitions. [2025-03-17 19:52:50,558 INFO L240 hiAutomatonCegarLoop]: Abstraction has 46 states and 62 transitions. [2025-03-17 19:52:50,558 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:50,559 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-03-17 19:52:50,559 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2025-03-17 19:52:50,560 INFO L87 Difference]: Start difference. First operand 46 states and 62 transitions. Second operand has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:50,623 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Ended with exit code 0 [2025-03-17 19:52:50,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:50,660 INFO L93 Difference]: Finished difference Result 88 states and 104 transitions. [2025-03-17 19:52:50,660 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 88 states and 104 transitions. [2025-03-17 19:52:50,661 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-17 19:52:50,662 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 88 states to 74 states and 90 transitions. [2025-03-17 19:52:50,662 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-03-17 19:52:50,662 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-03-17 19:52:50,662 INFO L73 IsDeterministic]: Start isDeterministic. Operand 74 states and 90 transitions. [2025-03-17 19:52:50,662 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:50,662 INFO L218 hiAutomatonCegarLoop]: Abstraction has 74 states and 90 transitions. [2025-03-17 19:52:50,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states and 90 transitions. [2025-03-17 19:52:50,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 70. [2025-03-17 19:52:50,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 70 states have (on average 1.2285714285714286) internal successors, (86), 69 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:50,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 86 transitions. [2025-03-17 19:52:50,665 INFO L240 hiAutomatonCegarLoop]: Abstraction has 70 states and 86 transitions. [2025-03-17 19:52:50,665 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-03-17 19:52:50,666 INFO L432 stractBuchiCegarLoop]: Abstraction has 70 states and 86 transitions. [2025-03-17 19:52:50,666 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-03-17 19:52:50,666 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 70 states and 86 transitions. [2025-03-17 19:52:50,667 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-17 19:52:50,667 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:50,667 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:50,667 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 11, 9, 2, 1] [2025-03-17 19:52:50,667 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:50,667 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-03-17 19:52:50,667 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-03-17 19:52:50,668 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:50,668 INFO L85 PathProgramCache]: Analyzing trace with hash -983332570, now seen corresponding path program 6 times [2025-03-17 19:52:50,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:50,668 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902938923] [2025-03-17 19:52:50,668 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 19:52:50,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:50,672 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 35 statements into 12 equivalence classes. [2025-03-17 19:52:50,681 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 35 of 35 statements. [2025-03-17 19:52:50,681 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-03-17 19:52:50,681 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:50,801 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-03-17 19:52:50,801 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:50,801 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1902938923] [2025-03-17 19:52:50,801 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1902938923] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 19:52:50,801 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [904728658] [2025-03-17 19:52:50,801 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 19:52:50,801 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 19:52:50,801 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:50,804 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 19:52:50,804 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2025-03-17 19:52:50,820 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 35 statements into 12 equivalence classes. [2025-03-17 19:52:50,830 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 35 of 35 statements. [2025-03-17 19:52:50,830 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-03-17 19:52:50,830 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:50,830 INFO L256 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-03-17 19:52:50,831 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:50,949 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-03-17 19:52:50,949 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 19:52:51,068 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-03-17 19:52:51,069 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [904728658] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 19:52:51,069 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 19:52:51,069 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 24 [2025-03-17 19:52:51,069 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1213421008] [2025-03-17 19:52:51,069 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 19:52:51,069 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 19:52:51,069 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:51,069 INFO L85 PathProgramCache]: Analyzing trace with hash 1090, now seen corresponding path program 3 times [2025-03-17 19:52:51,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:51,069 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [513653265] [2025-03-17 19:52:51,069 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 19:52:51,069 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:51,071 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:51,072 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:51,073 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 19:52:51,073 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:51,073 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:51,073 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:51,073 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:51,073 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:51,073 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:51,074 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:51,085 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:51,085 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-03-17 19:52:51,085 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=251, Invalid=349, Unknown=0, NotChecked=0, Total=600 [2025-03-17 19:52:51,086 INFO L87 Difference]: Start difference. First operand 70 states and 86 transitions. cyclomatic complexity: 22 Second operand has 25 states, 25 states have (on average 3.0) internal successors, (75), 24 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:51,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:51,247 INFO L93 Difference]: Finished difference Result 150 states and 166 transitions. [2025-03-17 19:52:51,247 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 150 states and 166 transitions. [2025-03-17 19:52:51,251 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-17 19:52:51,252 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 150 states to 122 states and 138 transitions. [2025-03-17 19:52:51,254 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-03-17 19:52:51,255 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-03-17 19:52:51,255 INFO L73 IsDeterministic]: Start isDeterministic. Operand 122 states and 138 transitions. [2025-03-17 19:52:51,255 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:51,255 INFO L218 hiAutomatonCegarLoop]: Abstraction has 122 states and 138 transitions. [2025-03-17 19:52:51,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states and 138 transitions. [2025-03-17 19:52:51,257 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 118. [2025-03-17 19:52:51,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 118 states have (on average 1.1355932203389831) internal successors, (134), 117 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:51,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 134 transitions. [2025-03-17 19:52:51,261 INFO L240 hiAutomatonCegarLoop]: Abstraction has 118 states and 134 transitions. [2025-03-17 19:52:51,261 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2025-03-17 19:52:51,262 INFO L432 stractBuchiCegarLoop]: Abstraction has 118 states and 134 transitions. [2025-03-17 19:52:51,262 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-03-17 19:52:51,262 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 118 states and 134 transitions. [2025-03-17 19:52:51,264 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-17 19:52:51,264 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:51,265 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:51,265 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 23, 21, 2, 1] [2025-03-17 19:52:51,267 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:51,268 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-03-17 19:52:51,268 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-03-17 19:52:51,268 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:51,268 INFO L85 PathProgramCache]: Analyzing trace with hash 634972326, now seen corresponding path program 7 times [2025-03-17 19:52:51,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:51,268 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2067030148] [2025-03-17 19:52:51,268 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 19:52:51,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:51,274 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 71 statements into 1 equivalence classes. [2025-03-17 19:52:51,284 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 71 of 71 statements. [2025-03-17 19:52:51,284 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:51,284 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:51,576 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-03-17 19:52:51,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:51,576 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2067030148] [2025-03-17 19:52:51,576 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2067030148] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 19:52:51,576 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [511113071] [2025-03-17 19:52:51,576 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 19:52:51,577 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 19:52:51,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:51,578 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 19:52:51,580 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2025-03-17 19:52:51,601 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 71 statements into 1 equivalence classes. [2025-03-17 19:52:51,615 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 71 of 71 statements. [2025-03-17 19:52:51,615 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:51,615 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:51,616 INFO L256 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-03-17 19:52:51,619 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:51,895 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-03-17 19:52:51,896 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 19:52:52,128 INFO L134 CoverageAnalysis]: Checked inductivity of 782 backedges. 352 proven. 360 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2025-03-17 19:52:52,128 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [511113071] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 19:52:52,128 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 19:52:52,128 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17, 17] total 37 [2025-03-17 19:52:52,129 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1488385684] [2025-03-17 19:52:52,129 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 19:52:52,129 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 19:52:52,129 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:52,129 INFO L85 PathProgramCache]: Analyzing trace with hash 1090, now seen corresponding path program 4 times [2025-03-17 19:52:52,129 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:52,129 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [484412168] [2025-03-17 19:52:52,129 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 19:52:52,129 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:52,131 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-17 19:52:52,131 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:52,133 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 19:52:52,133 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:52,133 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:52,134 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:52,135 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:52,135 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:52,135 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:52,135 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:52,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:52,147 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-03-17 19:52:52,147 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=545, Invalid=861, Unknown=0, NotChecked=0, Total=1406 [2025-03-17 19:52:52,147 INFO L87 Difference]: Start difference. First operand 118 states and 134 transitions. cyclomatic complexity: 22 Second operand has 38 states, 38 states have (on average 3.026315789473684) internal successors, (115), 37 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:52,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:52,328 INFO L93 Difference]: Finished difference Result 219 states and 235 transitions. [2025-03-17 19:52:52,328 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 219 states and 235 transitions. [2025-03-17 19:52:52,330 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-17 19:52:52,331 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 219 states to 185 states and 201 transitions. [2025-03-17 19:52:52,331 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17 [2025-03-17 19:52:52,331 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17 [2025-03-17 19:52:52,331 INFO L73 IsDeterministic]: Start isDeterministic. Operand 185 states and 201 transitions. [2025-03-17 19:52:52,331 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:52,331 INFO L218 hiAutomatonCegarLoop]: Abstraction has 185 states and 201 transitions. [2025-03-17 19:52:52,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states and 201 transitions. [2025-03-17 19:52:52,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 181. [2025-03-17 19:52:52,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 181 states have (on average 1.0883977900552486) internal successors, (197), 180 states have internal predecessors, (197), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:52,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 197 transitions. [2025-03-17 19:52:52,336 INFO L240 hiAutomatonCegarLoop]: Abstraction has 181 states and 197 transitions. [2025-03-17 19:52:52,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2025-03-17 19:52:52,340 INFO L432 stractBuchiCegarLoop]: Abstraction has 181 states and 197 transitions. [2025-03-17 19:52:52,341 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-03-17 19:52:52,341 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 181 states and 197 transitions. [2025-03-17 19:52:52,342 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-17 19:52:52,342 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:52,343 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:52,344 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [37, 36, 34, 2, 1] [2025-03-17 19:52:52,346 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:52,346 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-03-17 19:52:52,346 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-03-17 19:52:52,346 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:52,346 INFO L85 PathProgramCache]: Analyzing trace with hash -450641922, now seen corresponding path program 8 times [2025-03-17 19:52:52,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:52,347 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1503990257] [2025-03-17 19:52:52,347 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:52,347 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:52,353 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 110 statements into 2 equivalence classes. [2025-03-17 19:52:52,367 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 110 of 110 statements. [2025-03-17 19:52:52,368 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 19:52:52,368 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:52,368 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:52,370 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-03-17 19:52:52,381 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-03-17 19:52:52,381 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:52,381 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:52,388 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:52,389 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:52,389 INFO L85 PathProgramCache]: Analyzing trace with hash 1090, now seen corresponding path program 5 times [2025-03-17 19:52:52,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:52,391 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1445921821] [2025-03-17 19:52:52,391 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 19:52:52,391 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:52,392 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:52,393 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:52,393 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 19:52:52,393 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:52,393 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:52,393 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:52,394 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:52,394 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:52,394 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:52,394 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:52,394 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:52,395 INFO L85 PathProgramCache]: Analyzing trace with hash 724809983, now seen corresponding path program 1 times [2025-03-17 19:52:52,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:52,395 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1291259956] [2025-03-17 19:52:52,395 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 19:52:52,395 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:52,400 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 112 statements into 1 equivalence classes. [2025-03-17 19:52:52,422 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 112 of 112 statements. [2025-03-17 19:52:52,422 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:52,422 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:52,487 INFO L134 CoverageAnalysis]: Checked inductivity of 1999 backedges. 179 proven. 0 refuted. 0 times theorem prover too weak. 1820 trivial. 0 not checked. [2025-03-17 19:52:52,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:52,487 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1291259956] [2025-03-17 19:52:52,487 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1291259956] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 19:52:52,487 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 19:52:52,487 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-17 19:52:52,487 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [521581648] [2025-03-17 19:52:52,487 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 19:52:52,499 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:52,499 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-17 19:52:52,499 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-17 19:52:52,500 INFO L87 Difference]: Start difference. First operand 181 states and 197 transitions. cyclomatic complexity: 22 Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:52,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:52,512 INFO L93 Difference]: Finished difference Result 179 states and 191 transitions. [2025-03-17 19:52:52,512 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 179 states and 191 transitions. [2025-03-17 19:52:52,513 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:52,513 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 179 states to 131 states and 139 transitions. [2025-03-17 19:52:52,513 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2025-03-17 19:52:52,513 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2025-03-17 19:52:52,514 INFO L73 IsDeterministic]: Start isDeterministic. Operand 131 states and 139 transitions. [2025-03-17 19:52:52,514 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:52,514 INFO L218 hiAutomatonCegarLoop]: Abstraction has 131 states and 139 transitions. [2025-03-17 19:52:52,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states and 139 transitions. [2025-03-17 19:52:52,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 128. [2025-03-17 19:52:52,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 128 states have (on average 1.0625) internal successors, (136), 127 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:52,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 136 transitions. [2025-03-17 19:52:52,522 INFO L240 hiAutomatonCegarLoop]: Abstraction has 128 states and 136 transitions. [2025-03-17 19:52:52,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-17 19:52:52,525 INFO L432 stractBuchiCegarLoop]: Abstraction has 128 states and 136 transitions. [2025-03-17 19:52:52,525 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-03-17 19:52:52,525 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 128 states and 136 transitions. [2025-03-17 19:52:52,525 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:52,526 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:52,526 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:52,526 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [38, 37, 34, 3, 1, 1] [2025-03-17 19:52:52,526 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:52,526 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-03-17 19:52:52,528 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-03-17 19:52:52,528 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:52,528 INFO L85 PathProgramCache]: Analyzing trace with hash 757658235, now seen corresponding path program 2 times [2025-03-17 19:52:52,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:52,528 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2037778477] [2025-03-17 19:52:52,528 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:52,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:52,534 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 114 statements into 2 equivalence classes. [2025-03-17 19:52:52,540 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 114 of 114 statements. [2025-03-17 19:52:52,541 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 19:52:52,541 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:52,634 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 0 proven. 1142 refuted. 0 times theorem prover too weak. 930 trivial. 0 not checked. [2025-03-17 19:52:52,634 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:52,634 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2037778477] [2025-03-17 19:52:52,634 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2037778477] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 19:52:52,634 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2053806418] [2025-03-17 19:52:52,634 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:52,635 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 19:52:52,635 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:52,636 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 19:52:52,638 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2025-03-17 19:52:52,657 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 114 statements into 2 equivalence classes. [2025-03-17 19:52:52,677 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 114 of 114 statements. [2025-03-17 19:52:52,677 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 19:52:52,677 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:52,678 INFO L256 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 20 conjuncts are in the unsatisfiable core [2025-03-17 19:52:52,680 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:53,017 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 74 proven. 1428 refuted. 0 times theorem prover too weak. 570 trivial. 0 not checked. [2025-03-17 19:52:53,017 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 19:52:53,329 INFO L134 CoverageAnalysis]: Checked inductivity of 2072 backedges. 74 proven. 1428 refuted. 0 times theorem prover too weak. 570 trivial. 0 not checked. [2025-03-17 19:52:53,330 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2053806418] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 19:52:53,330 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 19:52:53,330 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 19, 19] total 37 [2025-03-17 19:52:53,330 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [909471136] [2025-03-17 19:52:53,330 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 19:52:53,331 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 19:52:53,332 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:53,332 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 6 times [2025-03-17 19:52:53,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:53,332 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [414962237] [2025-03-17 19:52:53,332 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 19:52:53,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:53,333 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:53,334 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:53,334 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-17 19:52:53,334 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:53,334 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:53,334 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:53,335 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:53,335 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:53,335 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:53,335 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:53,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:53,348 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-03-17 19:52:53,348 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=516, Invalid=890, Unknown=0, NotChecked=0, Total=1406 [2025-03-17 19:52:53,349 INFO L87 Difference]: Start difference. First operand 128 states and 136 transitions. cyclomatic complexity: 12 Second operand has 38 states, 38 states have (on average 3.0789473684210527) internal successors, (117), 37 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:53,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:53,987 INFO L93 Difference]: Finished difference Result 313 states and 323 transitions. [2025-03-17 19:52:53,987 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 313 states and 323 transitions. [2025-03-17 19:52:53,989 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:53,990 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 313 states to 247 states and 257 transitions. [2025-03-17 19:52:53,990 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2025-03-17 19:52:53,990 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2025-03-17 19:52:53,990 INFO L73 IsDeterministic]: Start isDeterministic. Operand 247 states and 257 transitions. [2025-03-17 19:52:53,990 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:53,990 INFO L218 hiAutomatonCegarLoop]: Abstraction has 247 states and 257 transitions. [2025-03-17 19:52:53,991 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 247 states and 257 transitions. [2025-03-17 19:52:53,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 247 to 239. [2025-03-17 19:52:53,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 239 states, 239 states have (on average 1.0418410041841004) internal successors, (249), 238 states have internal predecessors, (249), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:53,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 249 transitions. [2025-03-17 19:52:53,995 INFO L240 hiAutomatonCegarLoop]: Abstraction has 239 states and 249 transitions. [2025-03-17 19:52:54,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 75 states. [2025-03-17 19:52:54,001 INFO L432 stractBuchiCegarLoop]: Abstraction has 239 states and 249 transitions. [2025-03-17 19:52:54,001 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-03-17 19:52:54,001 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 239 states and 249 transitions. [2025-03-17 19:52:54,002 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:54,002 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:54,002 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:54,006 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [75, 74, 69, 5, 1, 1] [2025-03-17 19:52:54,008 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:54,008 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-03-17 19:52:54,008 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-03-17 19:52:54,009 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:54,009 INFO L85 PathProgramCache]: Analyzing trace with hash 31783717, now seen corresponding path program 3 times [2025-03-17 19:52:54,009 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:54,009 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493077111] [2025-03-17 19:52:54,009 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 19:52:54,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:54,019 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 225 statements into 75 equivalence classes. [2025-03-17 19:52:54,024 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 18 of 225 statements. [2025-03-17 19:52:54,024 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-03-17 19:52:54,024 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:54,115 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-03-17 19:52:54,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:54,115 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493077111] [2025-03-17 19:52:54,115 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1493077111] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 19:52:54,115 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [745206585] [2025-03-17 19:52:54,115 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 19:52:54,116 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 19:52:54,116 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:54,120 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 19:52:54,121 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Waiting until timeout for monitored process [2025-03-17 19:52:54,153 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 225 statements into 75 equivalence classes. [2025-03-17 19:52:54,159 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 18 of 225 statements. [2025-03-17 19:52:54,159 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-03-17 19:52:54,159 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:54,160 INFO L256 TraceCheckSpWp]: Trace formula consists of 46 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-17 19:52:54,164 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:54,194 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-03-17 19:52:54,194 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 19:52:54,225 INFO L134 CoverageAnalysis]: Checked inductivity of 8251 backedges. 720 proven. 5 refuted. 0 times theorem prover too weak. 7526 trivial. 0 not checked. [2025-03-17 19:52:54,225 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [745206585] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 19:52:54,225 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 19:52:54,225 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 7 [2025-03-17 19:52:54,225 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [722423755] [2025-03-17 19:52:54,225 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 19:52:54,226 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 19:52:54,226 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:54,226 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 7 times [2025-03-17 19:52:54,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:54,226 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342669480] [2025-03-17 19:52:54,226 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 19:52:54,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:54,228 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:54,228 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:54,228 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:54,228 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:54,228 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:54,229 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:54,229 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:54,229 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:54,230 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:54,230 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:54,242 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:54,243 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2025-03-17 19:52:54,243 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2025-03-17 19:52:54,243 INFO L87 Difference]: Start difference. First operand 239 states and 249 transitions. cyclomatic complexity: 16 Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 8 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:54,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:54,276 INFO L93 Difference]: Finished difference Result 259 states and 273 transitions. [2025-03-17 19:52:54,277 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 259 states and 273 transitions. [2025-03-17 19:52:54,278 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:54,279 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 259 states to 259 states and 273 transitions. [2025-03-17 19:52:54,279 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-03-17 19:52:54,279 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-03-17 19:52:54,279 INFO L73 IsDeterministic]: Start isDeterministic. Operand 259 states and 273 transitions. [2025-03-17 19:52:54,279 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:54,280 INFO L218 hiAutomatonCegarLoop]: Abstraction has 259 states and 273 transitions. [2025-03-17 19:52:54,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states and 273 transitions. [2025-03-17 19:52:54,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 244. [2025-03-17 19:52:54,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 244 states, 244 states have (on average 1.0450819672131149) internal successors, (255), 243 states have internal predecessors, (255), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:54,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 255 transitions. [2025-03-17 19:52:54,283 INFO L240 hiAutomatonCegarLoop]: Abstraction has 244 states and 255 transitions. [2025-03-17 19:52:54,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-17 19:52:54,285 INFO L432 stractBuchiCegarLoop]: Abstraction has 244 states and 255 transitions. [2025-03-17 19:52:54,285 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-03-17 19:52:54,285 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 244 states and 255 transitions. [2025-03-17 19:52:54,286 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:54,287 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:54,287 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:54,288 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [76, 75, 69, 6, 1, 1] [2025-03-17 19:52:54,289 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:54,289 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-03-17 19:52:54,289 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-03-17 19:52:54,290 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:54,290 INFO L85 PathProgramCache]: Analyzing trace with hash 1975879356, now seen corresponding path program 4 times [2025-03-17 19:52:54,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:54,290 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1860852910] [2025-03-17 19:52:54,290 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 19:52:54,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:54,299 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 228 statements into 2 equivalence classes. [2025-03-17 19:52:54,310 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 227 of 228 statements. [2025-03-17 19:52:54,310 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-17 19:52:54,310 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:54,378 INFO L134 CoverageAnalysis]: Checked inductivity of 8475 backedges. 372 proven. 0 refuted. 0 times theorem prover too weak. 8103 trivial. 0 not checked. [2025-03-17 19:52:54,379 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:54,379 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1860852910] [2025-03-17 19:52:54,379 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1860852910] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 19:52:54,379 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 19:52:54,379 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-17 19:52:54,379 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1195352570] [2025-03-17 19:52:54,379 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 19:52:54,380 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 19:52:54,380 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:54,380 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 8 times [2025-03-17 19:52:54,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:54,380 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [617232952] [2025-03-17 19:52:54,380 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 19:52:54,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:54,381 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:54,382 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:54,382 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 19:52:54,382 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:54,382 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:54,382 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:54,383 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:54,383 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:54,383 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:54,383 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:54,396 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:54,396 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-17 19:52:54,396 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-03-17 19:52:54,396 INFO L87 Difference]: Start difference. First operand 244 states and 255 transitions. cyclomatic complexity: 17 Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:54,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:52:54,411 INFO L93 Difference]: Finished difference Result 244 states and 254 transitions. [2025-03-17 19:52:54,411 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 244 states and 254 transitions. [2025-03-17 19:52:54,412 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:54,413 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 244 states to 244 states and 254 transitions. [2025-03-17 19:52:54,413 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 11 [2025-03-17 19:52:54,413 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 11 [2025-03-17 19:52:54,413 INFO L73 IsDeterministic]: Start isDeterministic. Operand 244 states and 254 transitions. [2025-03-17 19:52:54,413 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:52:54,413 INFO L218 hiAutomatonCegarLoop]: Abstraction has 244 states and 254 transitions. [2025-03-17 19:52:54,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states and 254 transitions. [2025-03-17 19:52:54,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 244. [2025-03-17 19:52:54,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 244 states, 244 states have (on average 1.040983606557377) internal successors, (254), 243 states have internal predecessors, (254), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:52:54,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 254 transitions. [2025-03-17 19:52:54,417 INFO L240 hiAutomatonCegarLoop]: Abstraction has 244 states and 254 transitions. [2025-03-17 19:52:54,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-17 19:52:54,417 INFO L432 stractBuchiCegarLoop]: Abstraction has 244 states and 254 transitions. [2025-03-17 19:52:54,417 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-03-17 19:52:54,417 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 244 states and 254 transitions. [2025-03-17 19:52:54,418 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:52:54,418 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:52:54,419 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:52:54,420 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [77, 76, 70, 6, 1, 1] [2025-03-17 19:52:54,420 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:52:54,420 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-03-17 19:52:54,421 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-03-17 19:52:54,421 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:54,421 INFO L85 PathProgramCache]: Analyzing trace with hash 923703396, now seen corresponding path program 5 times [2025-03-17 19:52:54,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:54,421 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1504334937] [2025-03-17 19:52:54,421 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 19:52:54,421 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:54,431 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 231 statements into 77 equivalence classes. [2025-03-17 19:52:54,461 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 231 statements. [2025-03-17 19:52:54,461 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-03-17 19:52:54,461 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:55,314 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6037 proven. 1463 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-03-17 19:52:55,314 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 19:52:55,314 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1504334937] [2025-03-17 19:52:55,314 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1504334937] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 19:52:55,314 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [665567832] [2025-03-17 19:52:55,314 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 19:52:55,315 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 19:52:55,315 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 19:52:55,316 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 19:52:55,319 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2025-03-17 19:52:55,343 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 231 statements into 77 equivalence classes. [2025-03-17 19:52:55,393 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 231 statements. [2025-03-17 19:52:55,393 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-03-17 19:52:55,393 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 19:52:55,394 INFO L256 TraceCheckSpWp]: Trace formula consists of 299 conjuncts, 39 conjuncts are in the unsatisfiable core [2025-03-17 19:52:55,397 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 19:52:55,921 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6104 proven. 1396 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-03-17 19:52:55,921 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 19:52:56,490 INFO L134 CoverageAnalysis]: Checked inductivity of 8702 backedges. 6104 proven. 1396 refuted. 0 times theorem prover too weak. 1202 trivial. 0 not checked. [2025-03-17 19:52:56,493 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [665567832] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 19:52:56,494 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 19:52:56,494 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 39, 39] total 58 [2025-03-17 19:52:56,494 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [362447067] [2025-03-17 19:52:56,494 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 19:52:56,495 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-17 19:52:56,496 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:52:56,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 9 times [2025-03-17 19:52:56,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:52:56,496 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1817848114] [2025-03-17 19:52:56,497 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 19:52:56,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:52:56,498 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:56,499 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:56,499 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 19:52:56,499 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:56,500 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:52:56,501 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:52:56,501 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:52:56,501 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:52:56,501 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:52:56,502 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:52:56,514 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 19:52:56,515 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 58 interpolants. [2025-03-17 19:52:56,516 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=726, Invalid=2580, Unknown=0, NotChecked=0, Total=3306 [2025-03-17 19:52:56,516 INFO L87 Difference]: Start difference. First operand 244 states and 254 transitions. cyclomatic complexity: 16 Second operand has 58 states, 58 states have (on average 3.0517241379310347) internal successors, (177), 58 states have internal predecessors, (177), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:53:00,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 19:53:00,238 INFO L93 Difference]: Finished difference Result 1209 states and 1255 transitions. [2025-03-17 19:53:00,238 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1209 states and 1255 transitions. [2025-03-17 19:53:00,243 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:53:00,248 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1209 states to 935 states and 981 transitions. [2025-03-17 19:53:00,248 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2025-03-17 19:53:00,248 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2025-03-17 19:53:00,248 INFO L73 IsDeterministic]: Start isDeterministic. Operand 935 states and 981 transitions. [2025-03-17 19:53:00,248 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-17 19:53:00,248 INFO L218 hiAutomatonCegarLoop]: Abstraction has 935 states and 981 transitions. [2025-03-17 19:53:00,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 935 states and 981 transitions. [2025-03-17 19:53:00,255 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 935 to 646. [2025-03-17 19:53:00,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 646 states, 646 states have (on average 1.0371517027863777) internal successors, (670), 645 states have internal predecessors, (670), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-17 19:53:00,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 646 states to 646 states and 670 transitions. [2025-03-17 19:53:00,259 INFO L240 hiAutomatonCegarLoop]: Abstraction has 646 states and 670 transitions. [2025-03-17 19:53:00,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 197 states. [2025-03-17 19:53:00,265 INFO L432 stractBuchiCegarLoop]: Abstraction has 646 states and 670 transitions. [2025-03-17 19:53:00,266 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-03-17 19:53:00,266 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 646 states and 670 transitions. [2025-03-17 19:53:00,268 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-17 19:53:00,268 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 19:53:00,268 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 19:53:00,274 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [211, 210, 190, 20, 1, 1] [2025-03-17 19:53:00,274 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-17 19:53:00,274 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-03-17 19:53:00,275 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-03-17 19:53:00,275 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:53:00,275 INFO L85 PathProgramCache]: Analyzing trace with hash -271245116, now seen corresponding path program 6 times [2025-03-17 19:53:00,275 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:53:00,275 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1019613134] [2025-03-17 19:53:00,275 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 19:53:00,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:53:00,292 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 633 statements into 211 equivalence classes. [2025-03-17 19:53:00,513 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) and asserted 633 of 633 statements. [2025-03-17 19:53:00,514 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) [2025-03-17 19:53:00,514 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:00,514 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:53:00,523 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 633 statements into 1 equivalence classes. [2025-03-17 19:53:00,625 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 633 of 633 statements. [2025-03-17 19:53:00,625 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:53:00,625 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:00,636 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:53:00,636 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:53:00,636 INFO L85 PathProgramCache]: Analyzing trace with hash 1120, now seen corresponding path program 10 times [2025-03-17 19:53:00,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:53:00,637 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1077242365] [2025-03-17 19:53:00,637 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 19:53:00,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:53:00,638 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-17 19:53:00,638 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:53:00,639 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 19:53:00,639 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:00,639 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:53:00,640 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 19:53:00,640 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 19:53:00,640 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:53:00,640 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:00,640 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:53:00,641 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 19:53:00,641 INFO L85 PathProgramCache]: Analyzing trace with hash 1326448739, now seen corresponding path program 7 times [2025-03-17 19:53:00,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 19:53:00,641 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1591270154] [2025-03-17 19:53:00,641 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 19:53:00,642 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 19:53:00,656 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 635 statements into 1 equivalence classes. [2025-03-17 19:53:00,730 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 635 of 635 statements. [2025-03-17 19:53:00,731 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:53:00,731 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:00,731 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:53:00,741 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 635 statements into 1 equivalence classes. [2025-03-17 19:53:00,815 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 635 of 635 statements. [2025-03-17 19:53:00,815 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:53:00,815 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:00,835 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 19:53:30,761 WARN L286 SmtUtils]: Spent 29.75s on a formula simplification. DAG size of input: 2131 DAG size of output: 660 (called from [L 276] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2025-03-17 19:53:32,217 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 633 statements into 1 equivalence classes. [2025-03-17 19:53:32,281 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 633 of 633 statements. [2025-03-17 19:53:32,281 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:53:32,281 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:32,281 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 19:53:32,296 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 633 statements into 1 equivalence classes. [2025-03-17 19:53:32,352 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 633 of 633 statements. [2025-03-17 19:53:32,352 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 19:53:32,352 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 19:53:32,505 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 17.03 07:53:32 BoogieIcfgContainer [2025-03-17 19:53:32,506 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-03-17 19:53:32,506 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-03-17 19:53:32,506 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-03-17 19:53:32,506 INFO L274 PluginConnector]: Witness Printer initialized [2025-03-17 19:53:32,507 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 07:52:47" (3/4) ... [2025-03-17 19:53:32,508 INFO L143 WitnessPrinter]: Generating witness for non-termination counterexample [2025-03-17 19:53:32,600 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-03-17 19:53:32,600 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-03-17 19:53:32,601 INFO L158 Benchmark]: Toolchain (without parser) took 45479.22ms. Allocated memory was 142.6MB in the beginning and 478.2MB in the end (delta: 335.5MB). Free memory was 102.4MB in the beginning and 264.0MB in the end (delta: -161.6MB). Peak memory consumption was 172.1MB. Max. memory is 16.1GB. [2025-03-17 19:53:32,601 INFO L158 Benchmark]: CDTParser took 0.60ms. Allocated memory is still 201.3MB. Free memory is still 114.6MB. There was no memory consumed. Max. memory is 16.1GB. [2025-03-17 19:53:32,601 INFO L158 Benchmark]: CACSL2BoogieTranslator took 144.41ms. Allocated memory is still 142.6MB. Free memory was 102.4MB in the beginning and 92.3MB in the end (delta: 10.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-17 19:53:32,601 INFO L158 Benchmark]: Boogie Procedure Inliner took 18.52ms. Allocated memory is still 142.6MB. Free memory was 92.3MB in the beginning and 92.1MB in the end (delta: 195.9kB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-17 19:53:32,602 INFO L158 Benchmark]: Boogie Preprocessor took 15.03ms. Allocated memory is still 142.6MB. Free memory was 92.1MB in the beginning and 91.2MB in the end (delta: 937.4kB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-17 19:53:32,603 INFO L158 Benchmark]: IcfgBuilder took 157.59ms. Allocated memory is still 142.6MB. Free memory was 91.2MB in the beginning and 81.9MB in the end (delta: 9.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-17 19:53:32,603 INFO L158 Benchmark]: BuchiAutomizer took 45044.17ms. Allocated memory was 142.6MB in the beginning and 478.2MB in the end (delta: 335.5MB). Free memory was 81.9MB in the beginning and 285.0MB in the end (delta: -203.0MB). Peak memory consumption was 130.1MB. Max. memory is 16.1GB. [2025-03-17 19:53:32,603 INFO L158 Benchmark]: Witness Printer took 94.26ms. Allocated memory is still 478.2MB. Free memory was 285.0MB in the beginning and 264.0MB in the end (delta: 21.0MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-03-17 19:53:32,604 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.60ms. Allocated memory is still 201.3MB. Free memory is still 114.6MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 144.41ms. Allocated memory is still 142.6MB. Free memory was 102.4MB in the beginning and 92.3MB in the end (delta: 10.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 18.52ms. Allocated memory is still 142.6MB. Free memory was 92.3MB in the beginning and 92.1MB in the end (delta: 195.9kB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 15.03ms. Allocated memory is still 142.6MB. Free memory was 92.1MB in the beginning and 91.2MB in the end (delta: 937.4kB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * IcfgBuilder took 157.59ms. Allocated memory is still 142.6MB. Free memory was 91.2MB in the beginning and 81.9MB in the end (delta: 9.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * BuchiAutomizer took 45044.17ms. Allocated memory was 142.6MB in the beginning and 478.2MB in the end (delta: 335.5MB). Free memory was 81.9MB in the beginning and 285.0MB in the end (delta: -203.0MB). Peak memory consumption was 130.1MB. Max. memory is 16.1GB. * Witness Printer took 94.26ms. Allocated memory is still 478.2MB. Free memory was 285.0MB in the beginning and 264.0MB in the end (delta: 21.0MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 14 terminating modules (10 trivial, 3 deterministic, 1 nondeterministic) and one nonterminating remainder module.One deterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. One deterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. One deterministic module has affine ranking function range and consists of 4 locations. One nondeterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. 10 modules have a trivial ranking function, the largest among these consists of 58 locations. The remainder module has 646 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 44.8s and 14 iterations. TraceHistogramMax:211. Analysis of lassos took 39.1s. Construction of modules took 0.9s. Büchi inclusion checks took 4.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, 118 SdHoareTripleChecker+Valid, 1.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 112 mSDsluCounter, 50 SdHoareTripleChecker+Invalid, 0.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1 mSDsCounter, 329 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1911 IncrementalHoareTripleChecker+Invalid, 2240 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 329 mSolverCounterUnsat, 49 mSDtfsCounter, 1911 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont1 unkn0 SFLI0 SFLT3 conc3 concLT0 SILN6 SILU0 SILI0 SILT1 lasso0 LassoPreprocessingBenchmarks: Lassos: inital18 mio100 ax165 hnf100 lsp60 ukn100 mio100 lsp100 div100 bol100 ite100 ukn100 eq167 hnf95 smp67 dnf100 smp100 tf110 neg100 sie109 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 26ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 8 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 4 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.5s InitialAbstractionConstructionTime: 0.0s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - LassoShapedNonTerminationArgument [Line: 11]: Nontermination argument in form of an infinite program execution. Nontermination argument in form of an infinite program execution. Stem: [L6] int i; [L7] int range; [L8] i = __VERIFIER_nondet_int() [L9] range = 20 VAL [range=20] [L11] COND TRUE 0 <= i && i <= range VAL [i=20, range=20] [L12] COND TRUE !(0 == i && i == range) VAL [i=20, range=20] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=19, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=19, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=19, range=19] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=18] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=17] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=16] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=15] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=14] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=13] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=12] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=11] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=10] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=9] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=8] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=7] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=6] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=5] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=4] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=3] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=2] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=1] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=1] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=0] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=0] [L12] COND FALSE !(!(0 == i && i == range)) VAL [i=0, range=0] Loop: [L11] COND TRUE 0 <= i && i <= range [L12] COND FALSE !(!(0 == i && i == range)) End of lasso representation. - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 11]: Nonterminating execution Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L6] int i; [L7] int range; [L8] i = __VERIFIER_nondet_int() [L9] range = 20 VAL [range=20] [L11] COND TRUE 0 <= i && i <= range VAL [i=20, range=20] [L12] COND TRUE !(0 == i && i == range) VAL [i=20, range=20] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=19, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=19, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=19, range=19] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=18] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=17] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=16] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=15] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=14] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=13] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=12] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=11] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=10] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=9] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=8] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=7] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=6] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=5] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=4] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=3] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=2] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=1] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=1] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=0] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=0] [L12] COND FALSE !(!(0 == i && i == range)) VAL [i=0, range=0] Loop: [L11] COND TRUE 0 <= i && i <= range [L12] COND FALSE !(!(0 == i && i == range)) End of lasso representation. RESULT: Ultimate proved your program to be incorrect! [2025-03-17 19:53:32,646 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Ended with exit code 0 [2025-03-17 19:53:32,846 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Ended with exit code 0 [2025-03-17 19:53:33,046 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Ended with exit code 0 [2025-03-17 19:53:33,247 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Ended with exit code 0 [2025-03-17 19:53:33,447 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Ended with exit code 0 [2025-03-17 19:53:33,648 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2025-03-17 19:53:33,848 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2025-03-17 19:53:34,052 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE(TERM)