./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 e2fb8bed 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-?-e2fb8be-m [2025-03-09 06:49:55,367 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-09 06:49:55,425 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2025-03-09 06:49:55,429 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-09 06:49:55,430 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-09 06:49:55,430 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2025-03-09 06:49:55,445 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-09 06:49:55,445 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-09 06:49:55,446 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-09 06:49:55,446 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-09 06:49:55,446 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-09 06:49:55,446 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-09 06:49:55,446 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-09 06:49:55,446 INFO L153 SettingsManager]: * Use SBE=true [2025-03-09 06:49:55,446 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Use old map elimination=false [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-03-09 06:49:55,447 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-03-09 06:49:55,447 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-03-09 06:49:55,448 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-03-09 06:49:55,448 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-09 06:49:55,448 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-03-09 06:49:55,448 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-09 06:49:55,448 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-09 06:49:55,448 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-09 06:49:55,448 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-09 06:49:55,448 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-09 06:49:55,448 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-09 06:49:55,449 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-03-09 06:49:55,449 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-09 06:49:55,707 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-09 06:49:55,721 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-09 06:49:55,722 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-09 06:49:55,723 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-09 06:49:55,723 INFO L274 PluginConnector]: CDTParser initialized [2025-03-09 06:49:55,728 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-09 06:49:57,025 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a525705b7/783f2356b6e04c599179608f001ca265/FLAG33eb0df72 [2025-03-09 06:49:57,227 INFO L384 CDTParser]: Found 1 translation units. [2025-03-09 06:49:57,227 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-restricted-15/NarrowKonv.c [2025-03-09 06:49:57,233 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a525705b7/783f2356b6e04c599179608f001ca265/FLAG33eb0df72 [2025-03-09 06:49:57,259 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a525705b7/783f2356b6e04c599179608f001ca265 [2025-03-09 06:49:57,261 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-09 06:49:57,262 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-09 06:49:57,263 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-09 06:49:57,263 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-09 06:49:57,266 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-09 06:49:57,266 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,267 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4c31e32e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57, skipping insertion in model container [2025-03-09 06:49:57,267 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,277 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-09 06:49:57,375 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-09 06:49:57,378 INFO L200 MainTranslator]: Completed pre-run [2025-03-09 06:49:57,385 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-09 06:49:57,394 INFO L204 MainTranslator]: Completed translation [2025-03-09 06:49:57,395 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57 WrapperNode [2025-03-09 06:49:57,395 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-09 06:49:57,396 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-09 06:49:57,396 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-09 06:49:57,396 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-09 06:49:57,401 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,404 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,415 INFO L138 Inliner]: procedures = 4, calls = 2, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 16 [2025-03-09 06:49:57,415 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-09 06:49:57,415 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-09 06:49:57,416 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-09 06:49:57,416 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-09 06:49:57,421 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,421 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,422 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,425 INFO L175 MemorySlicer]: No memory access in input program. [2025-03-09 06:49:57,425 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,425 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,426 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,428 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,429 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,429 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,429 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-09 06:49:57,430 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-09 06:49:57,430 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-09 06:49:57,430 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-09 06:49:57,431 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (1/1) ... [2025-03-09 06:49:57,435 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:57,444 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:57,456 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-09 06:49:57,459 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-09 06:49:57,479 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-09 06:49:57,480 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-09 06:49:57,522 INFO L256 CfgBuilder]: Building ICFG [2025-03-09 06:49:57,523 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-09 06:49:57,582 INFO L? ?]: Removed 4 outVars from TransFormulas that were not future-live. [2025-03-09 06:49:57,582 INFO L307 CfgBuilder]: Performing block encoding [2025-03-09 06:49:57,591 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-09 06:49:57,592 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-09 06:49:57,592 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 09.03 06:49:57 BoogieIcfgContainer [2025-03-09 06:49:57,592 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-09 06:49:57,593 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-03-09 06:49:57,593 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-03-09 06:49:57,598 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-03-09 06:49:57,599 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-09 06:49:57,599 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 09.03 06:49:57" (1/3) ... [2025-03-09 06:49:57,601 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@54d186b9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.03 06:49:57, skipping insertion in model container [2025-03-09 06:49:57,601 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-09 06:49:57,602 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.03 06:49:57" (2/3) ... [2025-03-09 06:49:57,602 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@54d186b9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.03 06:49:57, skipping insertion in model container [2025-03-09 06:49:57,602 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-09 06:49:57,602 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 09.03 06:49:57" (3/3) ... [2025-03-09 06:49:57,603 INFO L363 chiAutomizerObserver]: Analyzing ICFG NarrowKonv.c [2025-03-09 06:49:57,650 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-03-09 06:49:57,651 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-03-09 06:49:57,651 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-03-09 06:49:57,651 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-03-09 06:49:57,651 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-03-09 06:49:57,652 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-03-09 06:49:57,652 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-03-09 06:49:57,652 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-03-09 06:49:57,657 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 8 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:57,670 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-09 06:49:57,670 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:49:57,670 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:49:57,676 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-09 06:49:57,676 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:49:57,677 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-03-09 06:49:57,677 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 8 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:57,678 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-09 06:49:57,678 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:49:57,679 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:49:57,679 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-09 06:49:57,679 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:49:57,685 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-09 06:49:57,685 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-09 06:49:57,690 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:57,691 INFO L85 PathProgramCache]: Analyzing trace with hash 1248, now seen corresponding path program 1 times [2025-03-09 06:49:57,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:57,697 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [864752317] [2025-03-09 06:49:57,697 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:57,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:57,758 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:57,762 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:57,764 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:57,764 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:57,764 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:57,768 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:57,770 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:57,771 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:57,771 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:57,783 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:57,787 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:57,787 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 1 times [2025-03-09 06:49:57,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:57,788 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223826772] [2025-03-09 06:49:57,788 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:57,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:57,795 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:57,798 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:57,798 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:57,798 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:57,798 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:57,799 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:57,801 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:57,801 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:57,801 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:57,802 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:57,803 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:57,803 INFO L85 PathProgramCache]: Analyzing trace with hash 1199551, now seen corresponding path program 1 times [2025-03-09 06:49:57,803 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:57,803 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [510492016] [2025-03-09 06:49:57,803 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:57,803 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:57,806 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-09 06:49:57,808 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-09 06:49:57,808 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:57,808 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:57,865 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-09 06:49:57,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:49:57,866 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [510492016] [2025-03-09 06:49:57,866 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [510492016] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-09 06:49:57,866 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-09 06:49:57,866 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-09 06:49:57,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [331716984] [2025-03-09 06:49:57,868 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-09 06:49:57,905 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:49:57,926 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-09 06:49:57,926 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-09 06:49:57,928 INFO L87 Difference]: Start difference. First operand has 8 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 2 states have (on average 2.0) internal successors, (4), 3 states have internal predecessors, (4), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:57,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:49:57,956 INFO L93 Difference]: Finished difference Result 11 states and 15 transitions. [2025-03-09 06:49:57,957 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 11 states and 15 transitions. [2025-03-09 06:49:57,958 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-09 06:49:57,964 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 11 states to 8 states and 11 transitions. [2025-03-09 06:49:57,966 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 8 [2025-03-09 06:49:57,966 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2025-03-09 06:49:57,966 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 11 transitions. [2025-03-09 06:49:57,967 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-09 06:49:57,967 INFO L218 hiAutomatonCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-03-09 06:49:57,978 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states and 11 transitions. [2025-03-09 06:49:57,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2025-03-09 06:49:57,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 1.375) internal successors, (11), 7 states have internal predecessors, (11), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:57,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 11 transitions. [2025-03-09 06:49:57,989 INFO L240 hiAutomatonCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-03-09 06:49:57,990 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-09 06:49:57,993 INFO L432 stractBuchiCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-03-09 06:49:57,993 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-03-09 06:49:57,993 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 8 states and 11 transitions. [2025-03-09 06:49:57,993 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-09 06:49:57,993 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:49:57,993 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:49:57,993 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-09 06:49:57,993 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-09 06:49:57,994 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-09 06:49:57,994 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-09 06:49:57,994 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:57,994 INFO L85 PathProgramCache]: Analyzing trace with hash 1248, now seen corresponding path program 2 times [2025-03-09 06:49:57,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:57,994 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195163175] [2025-03-09 06:49:57,994 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:49:57,994 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:57,998 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:57,999 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:57,999 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-09 06:49:57,999 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,000 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,001 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:58,001 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:58,001 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,001 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,002 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,002 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,003 INFO L85 PathProgramCache]: Analyzing trace with hash 36677, now seen corresponding path program 1 times [2025-03-09 06:49:58,003 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,003 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [229361340] [2025-03-09 06:49:58,003 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:58,003 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,006 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:58,009 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:58,010 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,010 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,010 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,011 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:58,013 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:58,014 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,014 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,015 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,015 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,015 INFO L85 PathProgramCache]: Analyzing trace with hash 37186054, now seen corresponding path program 1 times [2025-03-09 06:49:58,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,015 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1589448210] [2025-03-09 06:49:58,016 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:58,016 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,019 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-09 06:49:58,021 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-09 06:49:58,022 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,022 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,022 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,023 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-09 06:49:58,025 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-09 06:49:58,025 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,025 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,028 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,069 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:49:58,070 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:49:58,070 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:49:58,070 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:49:58,070 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-09 06:49:58,070 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,070 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:49:58,070 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:49:58,070 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-03-09 06:49:58,070 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:49:58,070 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:49:58,080 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:58,095 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:58,100 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:58,186 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:49:58,187 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-09 06:49:58,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,191 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-09 06:49:58,191 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-09 06:49:58,192 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:58,192 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:58,214 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-09 06:49:58,214 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-09 06:49:58,221 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2025-03-09 06:49:58,222 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,222 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,224 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-09 06:49:58,225 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-09 06:49:58,226 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:58,226 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:58,247 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-09 06:49:58,248 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-09 06:49:58,253 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-09 06:49:58,254 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,254 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,255 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-09 06:49:58,256 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-09 06:49:58,257 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:58,257 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:58,280 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-09 06:49:58,281 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,281 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,282 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-09 06:49:58,284 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-09 06:49:58,285 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-09 06:49:58,285 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:58,328 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-09 06:49:58,332 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-09 06:49:58,333 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:49:58,333 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:49:58,333 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:49:58,333 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:49:58,333 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-09 06:49:58,333 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,333 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:49:58,333 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:49:58,333 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-03-09 06:49:58,333 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:49:58,333 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:49:58,335 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:58,339 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:58,341 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:58,411 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:49:58,414 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-09 06:49:58,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,415 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,417 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-09 06:49:58,418 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-09 06:49:58,420 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-09 06:49:58,430 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-09 06:49:58,430 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-09 06:49:58,430 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-09 06:49:58,430 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-09 06:49:58,435 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-09 06:49:58,435 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-09 06:49:58,439 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-09 06:49:58,445 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-09 06:49:58,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,447 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-09 06:49:58,449 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-09 06:49:58,449 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-09 06:49:58,461 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-09 06:49:58,462 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-09 06:49:58,462 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-09 06:49:58,462 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-09 06:49:58,465 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-09 06:49:58,465 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-09 06:49:58,472 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-09 06:49:58,479 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-09 06:49:58,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,488 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-09 06:49:58,497 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-09 06:49:58,498 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-09 06:49:58,510 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-09 06:49:58,510 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-09 06:49:58,511 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-09 06:49:58,511 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-09 06:49:58,512 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-09 06:49:58,514 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-09 06:49:58,514 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-09 06:49:58,519 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-09 06:49:58,524 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-09 06:49:58,528 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-03-09 06:49:58,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,536 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-09 06:49:58,537 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-09 06:49:58,537 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-09 06:49:58,538 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-09 06:49:58,538 INFO L474 LassoAnalysis]: Proved termination. [2025-03-09 06:49:58,538 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-09 06:49:58,545 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-09 06:49:58,548 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-09 06:49:58,568 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,579 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:58,581 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:58,582 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,582 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:58,587 INFO L256 TraceCheckSpWp]: Trace formula consists of 5 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-09 06:49:58,588 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:58,594 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:58,595 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:58,595 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,596 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:58,596 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-09 06:49:58,596 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:58,617 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-09 06:49:58,621 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-09 06:49:58,622 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 8 states and 11 transitions. cyclomatic complexity: 5 Second operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:58,659 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 8 states and 11 transitions. cyclomatic complexity: 5. Second operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 11 states and 15 transitions. Complement of second has 5 states. [2025-03-09 06:49:58,661 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-09 06:49:58,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:58,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 5 transitions. [2025-03-09 06:49:58,674 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 2 letters. Loop has 3 letters. [2025-03-09 06:49:58,679 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:58,679 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 5 letters. Loop has 3 letters. [2025-03-09 06:49:58,679 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:58,679 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 2 letters. Loop has 6 letters. [2025-03-09 06:49:58,679 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:58,679 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 11 states and 15 transitions. [2025-03-09 06:49:58,680 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-09 06:49:58,680 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 11 states to 11 states and 15 transitions. [2025-03-09 06:49:58,680 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 7 [2025-03-09 06:49:58,680 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2025-03-09 06:49:58,680 INFO L73 IsDeterministic]: Start isDeterministic. Operand 11 states and 15 transitions. [2025-03-09 06:49:58,680 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:49:58,680 INFO L218 hiAutomatonCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-03-09 06:49:58,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 11 states and 15 transitions. [2025-03-09 06:49:58,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 11 to 11. [2025-03-09 06:49:58,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.3636363636363635) internal successors, (15), 10 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:58,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 15 transitions. [2025-03-09 06:49:58,681 INFO L240 hiAutomatonCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-03-09 06:49:58,683 INFO L432 stractBuchiCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-03-09 06:49:58,683 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-03-09 06:49:58,684 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 11 states and 15 transitions. [2025-03-09 06:49:58,685 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-09 06:49:58,685 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:49:58,685 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:49:58,685 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-03-09 06:49:58,685 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:49:58,686 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-09 06:49:58,686 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-09 06:49:58,686 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,686 INFO L85 PathProgramCache]: Analyzing trace with hash 37186053, now seen corresponding path program 1 times [2025-03-09 06:49:58,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,687 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1830285682] [2025-03-09 06:49:58,687 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:58,687 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,687 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2025-03-09 06:49:58,694 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-09 06:49:58,700 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-09 06:49:58,700 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,700 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,700 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,701 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-09 06:49:58,703 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-09 06:49:58,703 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,703 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,704 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,705 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,705 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 2 times [2025-03-09 06:49:58,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,705 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [620425784] [2025-03-09 06:49:58,705 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:49:58,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,708 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:58,709 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:58,709 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-09 06:49:58,709 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,709 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,710 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:49:58,711 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:49:58,711 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,711 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,712 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,712 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,712 INFO L85 PathProgramCache]: Analyzing trace with hash 1376058788, now seen corresponding path program 1 times [2025-03-09 06:49:58,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,712 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890947033] [2025-03-09 06:49:58,713 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:58,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,715 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-03-09 06:49:58,718 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-03-09 06:49:58,718 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,718 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:58,756 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-09 06:49:58,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:49:58,756 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [890947033] [2025-03-09 06:49:58,756 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [890947033] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-09 06:49:58,756 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1019431374] [2025-03-09 06:49:58,756 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:58,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-09 06:49:58,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:58,758 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-09 06:49:58,759 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-09 06:49:58,778 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-03-09 06:49:58,781 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-03-09 06:49:58,782 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,782 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:58,782 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-03-09 06:49:58,783 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:58,820 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-09 06:49:58,820 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-09 06:49:58,847 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-09 06:49:58,847 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1019431374] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-09 06:49:58,847 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-09 06:49:58,847 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 6 [2025-03-09 06:49:58,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2031747956] [2025-03-09 06:49:58,848 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-09 06:49:58,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:49:58,864 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-03-09 06:49:58,864 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-03-09 06:49:58,865 INFO L87 Difference]: Start difference. First operand 11 states and 15 transitions. cyclomatic complexity: 6 Second operand has 7 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 7 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:58,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:49:58,904 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2025-03-09 06:49:58,904 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 23 states and 28 transitions. [2025-03-09 06:49:58,905 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-09 06:49:58,905 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 23 states to 23 states and 28 transitions. [2025-03-09 06:49:58,905 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2025-03-09 06:49:58,906 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 20 [2025-03-09 06:49:58,906 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 28 transitions. [2025-03-09 06:49:58,906 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:49:58,906 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-03-09 06:49:58,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 28 transitions. [2025-03-09 06:49:58,909 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2025-03-09 06:49:58,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 22 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:58,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 28 transitions. [2025-03-09 06:49:58,910 INFO L240 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-03-09 06:49:58,910 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-03-09 06:49:58,911 INFO L432 stractBuchiCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-03-09 06:49:58,911 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-03-09 06:49:58,911 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 23 states and 28 transitions. [2025-03-09 06:49:58,911 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-09 06:49:58,911 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:49:58,911 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:49:58,912 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 1, 1, 1] [2025-03-09 06:49:58,912 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-09 06:49:58,912 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-09 06:49:58,912 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-09 06:49:58,912 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1506189179, now seen corresponding path program 1 times [2025-03-09 06:49:58,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,912 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [653163398] [2025-03-09 06:49:58,912 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:49:58,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,916 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-03-09 06:49:58,919 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-03-09 06:49:58,920 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,920 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,920 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,921 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-03-09 06:49:58,932 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-03-09 06:49:58,932 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,932 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,933 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,934 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,934 INFO L85 PathProgramCache]: Analyzing trace with hash 36677, now seen corresponding path program 2 times [2025-03-09 06:49:58,934 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,934 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1025768217] [2025-03-09 06:49:58,934 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:49:58,934 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,940 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:58,942 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:58,944 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-09 06:49:58,945 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,945 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,946 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:58,947 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:58,947 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,948 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,948 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,949 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:58,949 INFO L85 PathProgramCache]: Analyzing trace with hash -1358483391, now seen corresponding path program 2 times [2025-03-09 06:49:58,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:58,949 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [999303639] [2025-03-09 06:49:58,949 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:49:58,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:58,952 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 14 statements into 2 equivalence classes. [2025-03-09 06:49:58,956 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 14 of 14 statements. [2025-03-09 06:49:58,956 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-09 06:49:58,956 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,956 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:58,957 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-09 06:49:58,960 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-09 06:49:58,961 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:58,961 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:58,964 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:58,995 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:49:58,995 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:49:58,995 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:49:58,995 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:49:58,995 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-09 06:49:58,995 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:58,995 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:49:58,995 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:49:58,995 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-03-09 06:49:58,995 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:49:58,995 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:49:58,996 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,000 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,002 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,052 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:49:59,053 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-09 06:49:59,053 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,053 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,055 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-09 06:49:59,056 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-09 06:49:59,058 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:59,058 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:59,075 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-09 06:49:59,075 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-09 06:49:59,081 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-09 06:49:59,081 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,081 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,083 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-09 06:49:59,085 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-09 06:49:59,086 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:59,086 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:59,103 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-09 06:49:59,103 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-09 06:49:59,108 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2025-03-09 06:49:59,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,111 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-09 06:49:59,111 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-09 06:49:59,113 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:59,113 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:59,132 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2025-03-09 06:49:59,132 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,133 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,134 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-09 06:49:59,136 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-09 06:49:59,137 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-09 06:49:59,137 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:59,178 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-09 06:49:59,184 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-09 06:49:59,185 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:49:59,185 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:49:59,185 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:49:59,185 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:49:59,185 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-09 06:49:59,185 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,185 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:49:59,185 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:49:59,185 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-03-09 06:49:59,185 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:49:59,185 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:49:59,186 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,190 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,200 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,249 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:49:59,249 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-09 06:49:59,250 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,250 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,252 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-09 06:49:59,254 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-09 06:49:59,255 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-09 06:49:59,265 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-09 06:49:59,265 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-09 06:49:59,265 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-09 06:49:59,265 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-09 06:49:59,267 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-09 06:49:59,267 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-09 06:49:59,270 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-09 06:49:59,276 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Ended with exit code 0 [2025-03-09 06:49:59,278 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,278 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,279 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-09 06:49:59,281 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-09 06:49:59,281 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-09 06:49:59,291 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-09 06:49:59,291 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-09 06:49:59,291 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-09 06:49:59,291 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-09 06:49:59,291 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-09 06:49:59,292 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-09 06:49:59,292 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-09 06:49:59,294 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-09 06:49:59,296 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-09 06:49:59,296 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-03-09 06:49:59,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,299 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-09 06:49:59,301 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-09 06:49:59,301 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-09 06:49:59,301 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-09 06:49:59,301 INFO L474 LassoAnalysis]: Proved termination. [2025-03-09 06:49:59,301 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-09 06:49:59,307 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Ended with exit code 0 [2025-03-09 06:49:59,308 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-09 06:49:59,318 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,321 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-03-09 06:49:59,325 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-03-09 06:49:59,325 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,325 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,325 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,326 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,337 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:59,339 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:59,339 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,339 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,339 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,339 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,354 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-09 06:49:59,355 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-09 06:49:59,355 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 23 states and 28 transitions. cyclomatic complexity: 8 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,369 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 23 states and 28 transitions. cyclomatic complexity: 8. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 44 states and 50 transitions. Complement of second has 5 states. [2025-03-09 06:49:59,370 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-09 06:49:59,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-03-09 06:49:59,371 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 11 letters. Loop has 3 letters. [2025-03-09 06:49:59,371 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,371 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-09 06:49:59,371 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,371 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 11 letters. Loop has 6 letters. [2025-03-09 06:49:59,371 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,371 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 44 states and 50 transitions. [2025-03-09 06:49:59,373 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-09 06:49:59,373 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 44 states to 38 states and 44 transitions. [2025-03-09 06:49:59,373 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-03-09 06:49:59,373 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2025-03-09 06:49:59,373 INFO L73 IsDeterministic]: Start isDeterministic. Operand 38 states and 44 transitions. [2025-03-09 06:49:59,373 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:49:59,373 INFO L218 hiAutomatonCegarLoop]: Abstraction has 38 states and 44 transitions. [2025-03-09 06:49:59,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states and 44 transitions. [2025-03-09 06:49:59,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2025-03-09 06:49:59,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 33 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2025-03-09 06:49:59,375 INFO L240 hiAutomatonCegarLoop]: Abstraction has 34 states and 40 transitions. [2025-03-09 06:49:59,375 INFO L432 stractBuchiCegarLoop]: Abstraction has 34 states and 40 transitions. [2025-03-09 06:49:59,375 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-03-09 06:49:59,375 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 34 states and 40 transitions. [2025-03-09 06:49:59,376 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-09 06:49:59,376 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:49:59,376 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:49:59,376 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 1, 1, 1] [2025-03-09 06:49:59,376 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-09 06:49:59,377 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-09 06:49:59,377 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-09 06:49:59,377 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,377 INFO L85 PathProgramCache]: Analyzing trace with hash 1852466719, now seen corresponding path program 3 times [2025-03-09 06:49:59,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:59,377 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [27158034] [2025-03-09 06:49:59,377 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-09 06:49:59,377 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:59,381 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 14 statements into 4 equivalence classes. [2025-03-09 06:49:59,390 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) and asserted 14 of 14 statements. [2025-03-09 06:49:59,392 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2025-03-09 06:49:59,392 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:59,392 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:59,393 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-09 06:49:59,399 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-09 06:49:59,402 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,403 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:59,404 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:59,404 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,404 INFO L85 PathProgramCache]: Analyzing trace with hash 36677, now seen corresponding path program 3 times [2025-03-09 06:49:59,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:59,404 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469418635] [2025-03-09 06:49:59,404 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-09 06:49:59,404 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:59,406 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:59,410 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:59,412 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-09 06:49:59,412 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:59,412 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:59,413 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:59,414 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:59,415 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,415 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:59,416 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:59,417 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,417 INFO L85 PathProgramCache]: Analyzing trace with hash 801246311, now seen corresponding path program 4 times [2025-03-09 06:49:59,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:59,417 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [200524879] [2025-03-09 06:49:59,417 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-09 06:49:59,417 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:59,423 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 17 statements into 2 equivalence classes. [2025-03-09 06:49:59,429 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 17 of 17 statements. [2025-03-09 06:49:59,431 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-09 06:49:59,432 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:59,432 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:49:59,433 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-03-09 06:49:59,440 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-03-09 06:49:59,440 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,440 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:49:59,441 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:49:59,478 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:49:59,478 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:49:59,478 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:49:59,478 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:49:59,478 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-09 06:49:59,478 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,478 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:49:59,478 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:49:59,478 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-03-09 06:49:59,478 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:49:59,478 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:49:59,479 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,482 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,488 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,523 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:49:59,524 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-09 06:49:59,524 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,524 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,526 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-09 06:49:59,528 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-09 06:49:59,530 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:59,530 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:59,547 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-09 06:49:59,547 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-09 06:49:59,553 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Ended with exit code 0 [2025-03-09 06:49:59,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,556 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-09 06:49:59,557 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-09 06:49:59,558 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:49:59,558 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:59,575 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Ended with exit code 0 [2025-03-09 06:49:59,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,577 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-09 06:49:59,578 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-09 06:49:59,579 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-09 06:49:59,579 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:49:59,617 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-09 06:49:59,620 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-09 06:49:59,621 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:49:59,621 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:49:59,621 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:49:59,621 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:49:59,621 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-09 06:49:59,621 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,621 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:49:59,621 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:49:59,621 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-03-09 06:49:59,621 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:49:59,621 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:49:59,622 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,629 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,635 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:49:59,666 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:49:59,666 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-09 06:49:59,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,668 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-09 06:49:59,669 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-09 06:49:59,670 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-09 06:49:59,679 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-09 06:49:59,679 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-09 06:49:59,679 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-09 06:49:59,679 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-09 06:49:59,679 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-09 06:49:59,680 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-09 06:49:59,680 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-09 06:49:59,682 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-09 06:49:59,684 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-09 06:49:59,684 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-09 06:49:59,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:49:59,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:49:59,687 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-09 06:49:59,688 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-09 06:49:59,688 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-09 06:49:59,688 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-09 06:49:59,688 INFO L474 LassoAnalysis]: Proved termination. [2025-03-09 06:49:59,688 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-09 06:49:59,693 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-09 06:49:59,695 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-09 06:49:59,709 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,714 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-09 06:49:59,718 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-09 06:49:59,718 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,718 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,718 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,719 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,734 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:59,736 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:59,736 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,736 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,737 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,737 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,766 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-09 06:49:59,767 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-09 06:49:59,767 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,789 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 44 states and 51 transitions. Complement of second has 5 states. [2025-03-09 06:49:59,792 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-09 06:49:59,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-03-09 06:49:59,793 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-09 06:49:59,793 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,793 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-03-09 06:49:59,802 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,805 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-09 06:49:59,809 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-09 06:49:59,809 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,809 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,809 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,809 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,824 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:59,825 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:59,825 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,825 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,825 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,826 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,857 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-09 06:49:59,858 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-09 06:49:59,858 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,862 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-09 06:49:59,870 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-09 06:49:59,874 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 44 states and 51 transitions. Complement of second has 5 states. [2025-03-09 06:49:59,875 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-09 06:49:59,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-03-09 06:49:59,876 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-09 06:49:59,876 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,876 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-03-09 06:49:59,884 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,887 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-09 06:49:59,890 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-09 06:49:59,891 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,891 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,891 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,891 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,907 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-09 06:49:59,908 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-09 06:49:59,908 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:49:59,908 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:49:59,908 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-09 06:49:59,908 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:49:59,926 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-09 06:49:59,926 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-09 06:49:59,926 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10 Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,948 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 34 states and 40 transitions. cyclomatic complexity: 10. Second operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 57 states and 69 transitions. Complement of second has 4 states. [2025-03-09 06:49:59,948 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-09 06:49:59,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 3 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 13 transitions. [2025-03-09 06:49:59,949 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-09 06:49:59,949 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,949 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 17 letters. Loop has 3 letters. [2025-03-09 06:49:59,949 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,949 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 14 letters. Loop has 6 letters. [2025-03-09 06:49:59,950 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:49:59,950 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 57 states and 69 transitions. [2025-03-09 06:49:59,951 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2025-03-09 06:49:59,951 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 57 states to 47 states and 58 transitions. [2025-03-09 06:49:59,951 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-03-09 06:49:59,951 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2025-03-09 06:49:59,951 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 58 transitions. [2025-03-09 06:49:59,951 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:49:59,951 INFO L218 hiAutomatonCegarLoop]: Abstraction has 47 states and 58 transitions. [2025-03-09 06:49:59,952 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 58 transitions. [2025-03-09 06:49:59,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2025-03-09 06:49:59,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.2903225806451613) internal successors, (40), 30 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:49:59,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 40 transitions. [2025-03-09 06:49:59,954 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31 states and 40 transitions. [2025-03-09 06:49:59,954 INFO L432 stractBuchiCegarLoop]: Abstraction has 31 states and 40 transitions. [2025-03-09 06:49:59,954 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-03-09 06:49:59,954 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 40 transitions. [2025-03-09 06:49:59,954 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 11 [2025-03-09 06:49:59,954 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:49:59,954 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:49:59,955 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 3, 2, 1, 1] [2025-03-09 06:49:59,955 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1] [2025-03-09 06:49:59,955 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-09 06:49:59,955 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-09 06:49:59,955 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:49:59,955 INFO L85 PathProgramCache]: Analyzing trace with hash 898106022, now seen corresponding path program 5 times [2025-03-09 06:49:59,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:49:59,956 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1003900159] [2025-03-09 06:49:59,956 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-09 06:49:59,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:49:59,959 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 5 equivalence classes. [2025-03-09 06:49:59,963 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 17 of 17 statements. [2025-03-09 06:49:59,963 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-03-09 06:49:59,963 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:00,033 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-09 06:50:00,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:00,034 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1003900159] [2025-03-09 06:50:00,034 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1003900159] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-09 06:50:00,034 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1743417439] [2025-03-09 06:50:00,034 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-09 06:50:00,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-09 06:50:00,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:00,036 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-09 06:50:00,037 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2025-03-09 06:50:00,053 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 5 equivalence classes. [2025-03-09 06:50:00,058 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 17 of 17 statements. [2025-03-09 06:50:00,058 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-03-09 06:50:00,058 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:00,059 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-03-09 06:50:00,060 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:00,121 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-09 06:50:00,121 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-09 06:50:00,175 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-09 06:50:00,175 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1743417439] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-09 06:50:00,175 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-09 06:50:00,175 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 13 [2025-03-09 06:50:00,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1700197032] [2025-03-09 06:50:00,176 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-09 06:50:00,176 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-09 06:50:00,176 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:00,176 INFO L85 PathProgramCache]: Analyzing trace with hash 1092621602, now seen corresponding path program 1 times [2025-03-09 06:50:00,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:00,176 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1809376139] [2025-03-09 06:50:00,176 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:50:00,176 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:00,178 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-09 06:50:00,179 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-09 06:50:00,179 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:00,179 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:00,179 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:00,180 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-09 06:50:00,180 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-09 06:50:00,180 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:00,181 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:00,181 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:00,226 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:50:00,226 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:50:00,226 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:50:00,226 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:50:00,226 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-09 06:50:00,226 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:50:00,226 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:50:00,226 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:50:00,226 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-03-09 06:50:00,226 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:50:00,226 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:50:00,227 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:50:00,234 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:50:00,236 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:50:00,285 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:50:00,285 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-09 06:50:00,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:50:00,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:00,287 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-09 06:50:00,289 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-09 06:50:00,290 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-09 06:50:00,290 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:50:00,307 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2025-03-09 06:50:00,307 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:50:00,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:00,309 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-09 06:50:00,311 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-09 06:50:00,312 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-09 06:50:00,312 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-09 06:50:00,361 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-09 06:50:00,368 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Ended with exit code 0 [2025-03-09 06:50:00,369 INFO L204 LassoAnalysis]: Preferences: [2025-03-09 06:50:00,369 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-09 06:50:00,369 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-09 06:50:00,369 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-09 06:50:00,369 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-09 06:50:00,369 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:50:00,369 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-09 06:50:00,369 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-09 06:50:00,369 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-03-09 06:50:00,369 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-09 06:50:00,369 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-09 06:50:00,370 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:50:00,382 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:50:00,385 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-09 06:50:00,448 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-09 06:50:00,448 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-09 06:50:00,448 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:50:00,448 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:00,451 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-09 06:50:00,453 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-09 06:50:00,454 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-09 06:50:00,465 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-09 06:50:00,466 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-09 06:50:00,466 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-09 06:50:00,466 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-09 06:50:00,466 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-09 06:50:00,469 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-09 06:50:00,469 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-09 06:50:00,472 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-09 06:50:00,476 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-09 06:50:00,476 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-09 06:50:00,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-09 06:50:00,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:00,481 INFO L229 MonitoredProcess]: Starting monitored process 27 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-09 06:50:00,483 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2025-03-09 06:50:00,483 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-09 06:50:00,484 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-09 06:50:00,484 INFO L474 LassoAnalysis]: Proved termination. [2025-03-09 06:50:00,484 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-09 06:50:00,491 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Forceful destruction successful, exit code 0 [2025-03-09 06:50:00,492 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-09 06:50:00,501 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:00,504 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-03-09 06:50:00,513 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-03-09 06:50:00,513 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:00,513 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:00,514 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-09 06:50:00,514 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:00,543 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-09 06:50:00,545 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-09 06:50:00,545 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:00,545 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:00,545 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-03-09 06:50:00,546 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:00,577 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-09 06:50:00,578 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-09 06:50:00,578 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 31 states and 40 transitions. cyclomatic complexity: 12 Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:00,596 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 31 states and 40 transitions. cyclomatic complexity: 12. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 72 states and 96 transitions. Complement of second has 6 states. [2025-03-09 06:50:00,596 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-09 06:50:00,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:00,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 15 transitions. [2025-03-09 06:50:00,597 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 17 letters. Loop has 6 letters. [2025-03-09 06:50:00,597 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:50:00,597 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 23 letters. Loop has 6 letters. [2025-03-09 06:50:00,597 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:50:00,597 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 17 letters. Loop has 12 letters. [2025-03-09 06:50:00,597 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-09 06:50:00,598 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 72 states and 96 transitions. [2025-03-09 06:50:00,602 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-09 06:50:00,602 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 72 states to 55 states and 73 transitions. [2025-03-09 06:50:00,603 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16 [2025-03-09 06:50:00,603 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19 [2025-03-09 06:50:00,603 INFO L73 IsDeterministic]: Start isDeterministic. Operand 55 states and 73 transitions. [2025-03-09 06:50:00,603 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:00,603 INFO L218 hiAutomatonCegarLoop]: Abstraction has 55 states and 73 transitions. [2025-03-09 06:50:00,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states and 73 transitions. [2025-03-09 06:50:00,604 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 47. [2025-03-09 06:50:00,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 47 states have (on average 1.3404255319148937) internal successors, (63), 46 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:00,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 63 transitions. [2025-03-09 06:50:00,605 INFO L240 hiAutomatonCegarLoop]: Abstraction has 47 states and 63 transitions. [2025-03-09 06:50:00,605 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:00,605 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-03-09 06:50:00,609 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2025-03-09 06:50:00,610 INFO L87 Difference]: Start difference. First operand 47 states and 63 transitions. Second operand has 13 states, 13 states have (on average 3.076923076923077) internal successors, (40), 13 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:00,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:00,693 INFO L93 Difference]: Finished difference Result 89 states and 105 transitions. [2025-03-09 06:50:00,693 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 89 states and 105 transitions. [2025-03-09 06:50:00,694 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-09 06:50:00,695 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 89 states to 75 states and 91 transitions. [2025-03-09 06:50:00,695 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-03-09 06:50:00,695 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-09 06:50:00,695 INFO L73 IsDeterministic]: Start isDeterministic. Operand 75 states and 91 transitions. [2025-03-09 06:50:00,695 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:00,695 INFO L218 hiAutomatonCegarLoop]: Abstraction has 75 states and 91 transitions. [2025-03-09 06:50:00,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states and 91 transitions. [2025-03-09 06:50:00,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 71. [2025-03-09 06:50:00,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 71 states have (on average 1.2253521126760563) internal successors, (87), 70 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:00,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 87 transitions. [2025-03-09 06:50:00,700 INFO L240 hiAutomatonCegarLoop]: Abstraction has 71 states and 87 transitions. [2025-03-09 06:50:00,703 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-03-09 06:50:00,703 INFO L432 stractBuchiCegarLoop]: Abstraction has 71 states and 87 transitions. [2025-03-09 06:50:00,703 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-03-09 06:50:00,703 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 71 states and 87 transitions. [2025-03-09 06:50:00,704 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-09 06:50:00,704 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:00,704 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:00,705 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 11, 9, 2, 1, 1] [2025-03-09 06:50:00,705 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:00,705 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-09 06:50:00,705 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-09 06:50:00,705 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:00,706 INFO L85 PathProgramCache]: Analyzing trace with hash -1814682783, now seen corresponding path program 6 times [2025-03-09 06:50:00,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:00,706 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1123895714] [2025-03-09 06:50:00,706 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-09 06:50:00,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:00,712 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 36 statements into 12 equivalence classes. [2025-03-09 06:50:00,723 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 36 of 36 statements. [2025-03-09 06:50:00,723 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-03-09 06:50:00,724 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:00,782 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Ended with exit code 0 [2025-03-09 06:50:00,901 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-09 06:50:00,901 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:00,901 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1123895714] [2025-03-09 06:50:00,901 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1123895714] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-09 06:50:00,901 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [305772784] [2025-03-09 06:50:00,901 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-09 06:50:00,901 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-09 06:50:00,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:00,903 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-09 06:50:00,911 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2025-03-09 06:50:00,933 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 36 statements into 12 equivalence classes. [2025-03-09 06:50:00,945 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 36 of 36 statements. [2025-03-09 06:50:00,945 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-03-09 06:50:00,945 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:00,946 INFO L256 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-03-09 06:50:00,947 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:01,086 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-09 06:50:01,086 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-09 06:50:01,214 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-09 06:50:01,214 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [305772784] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-09 06:50:01,214 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-09 06:50:01,214 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 25 [2025-03-09 06:50:01,214 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1690241263] [2025-03-09 06:50:01,214 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-09 06:50:01,214 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-09 06:50:01,215 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:01,215 INFO L85 PathProgramCache]: Analyzing trace with hash 1154, now seen corresponding path program 3 times [2025-03-09 06:50:01,215 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:01,215 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2067030252] [2025-03-09 06:50:01,215 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-09 06:50:01,215 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:01,216 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:01,220 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:01,220 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-09 06:50:01,220 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:01,220 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:01,221 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:01,221 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:01,222 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:01,222 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:01,222 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:01,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:01,235 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-03-09 06:50:01,235 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=251, Invalid=349, Unknown=0, NotChecked=0, Total=600 [2025-03-09 06:50:01,236 INFO L87 Difference]: Start difference. First operand 71 states and 87 transitions. cyclomatic complexity: 22 Second operand has 25 states, 25 states have (on average 3.04) internal successors, (76), 25 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:01,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:01,400 INFO L93 Difference]: Finished difference Result 151 states and 167 transitions. [2025-03-09 06:50:01,400 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 151 states and 167 transitions. [2025-03-09 06:50:01,402 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-09 06:50:01,402 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 151 states to 123 states and 139 transitions. [2025-03-09 06:50:01,402 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-03-09 06:50:01,403 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-09 06:50:01,403 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 139 transitions. [2025-03-09 06:50:01,403 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:01,403 INFO L218 hiAutomatonCegarLoop]: Abstraction has 123 states and 139 transitions. [2025-03-09 06:50:01,403 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 139 transitions. [2025-03-09 06:50:01,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 119. [2025-03-09 06:50:01,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 119 states have (on average 1.134453781512605) internal successors, (135), 118 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:01,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 135 transitions. [2025-03-09 06:50:01,407 INFO L240 hiAutomatonCegarLoop]: Abstraction has 119 states and 135 transitions. [2025-03-09 06:50:01,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2025-03-09 06:50:01,407 INFO L432 stractBuchiCegarLoop]: Abstraction has 119 states and 135 transitions. [2025-03-09 06:50:01,407 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-03-09 06:50:01,407 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 119 states and 135 transitions. [2025-03-09 06:50:01,408 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-09 06:50:01,408 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:01,408 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:01,409 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 23, 21, 2, 1, 1] [2025-03-09 06:50:01,409 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:01,410 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-09 06:50:01,410 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-09 06:50:01,410 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:01,410 INFO L85 PathProgramCache]: Analyzing trace with hash -1585203743, now seen corresponding path program 7 times [2025-03-09 06:50:01,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:01,410 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [276575376] [2025-03-09 06:50:01,410 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-09 06:50:01,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:01,414 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-03-09 06:50:01,426 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-03-09 06:50:01,427 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:01,427 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:01,733 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-09 06:50:01,733 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:01,733 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [276575376] [2025-03-09 06:50:01,733 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [276575376] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-09 06:50:01,733 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1708706398] [2025-03-09 06:50:01,733 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-09 06:50:01,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-09 06:50:01,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:01,735 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-09 06:50:01,737 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2025-03-09 06:50:01,756 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-03-09 06:50:01,769 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-03-09 06:50:01,769 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:01,769 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:01,770 INFO L256 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-03-09 06:50:01,771 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:02,063 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-09 06:50:02,063 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-09 06:50:02,294 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-09 06:50:02,294 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1708706398] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-09 06:50:02,294 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-09 06:50:02,294 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18, 18] total 38 [2025-03-09 06:50:02,294 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [526134911] [2025-03-09 06:50:02,294 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-09 06:50:02,295 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-09 06:50:02,295 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:02,295 INFO L85 PathProgramCache]: Analyzing trace with hash 1154, now seen corresponding path program 4 times [2025-03-09 06:50:02,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:02,295 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585888684] [2025-03-09 06:50:02,295 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-09 06:50:02,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:02,297 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-09 06:50:02,298 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:02,298 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-09 06:50:02,298 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:02,298 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:02,298 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:02,299 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:02,299 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:02,299 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:02,299 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:02,314 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:02,315 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-03-09 06:50:02,315 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=545, Invalid=861, Unknown=0, NotChecked=0, Total=1406 [2025-03-09 06:50:02,316 INFO L87 Difference]: Start difference. First operand 119 states and 135 transitions. cyclomatic complexity: 22 Second operand has 38 states, 38 states have (on average 3.0526315789473686) internal successors, (116), 38 states have internal predecessors, (116), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:02,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:02,475 INFO L93 Difference]: Finished difference Result 220 states and 236 transitions. [2025-03-09 06:50:02,475 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 220 states and 236 transitions. [2025-03-09 06:50:02,477 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-09 06:50:02,478 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 220 states to 186 states and 202 transitions. [2025-03-09 06:50:02,478 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-03-09 06:50:02,478 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-09 06:50:02,478 INFO L73 IsDeterministic]: Start isDeterministic. Operand 186 states and 202 transitions. [2025-03-09 06:50:02,478 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:02,478 INFO L218 hiAutomatonCegarLoop]: Abstraction has 186 states and 202 transitions. [2025-03-09 06:50:02,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states and 202 transitions. [2025-03-09 06:50:02,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 182. [2025-03-09 06:50:02,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 182 states have (on average 1.0879120879120878) internal successors, (198), 181 states have internal predecessors, (198), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:02,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 198 transitions. [2025-03-09 06:50:02,491 INFO L240 hiAutomatonCegarLoop]: Abstraction has 182 states and 198 transitions. [2025-03-09 06:50:02,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2025-03-09 06:50:02,492 INFO L432 stractBuchiCegarLoop]: Abstraction has 182 states and 198 transitions. [2025-03-09 06:50:02,492 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-03-09 06:50:02,492 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 182 states and 198 transitions. [2025-03-09 06:50:02,493 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-09 06:50:02,494 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:02,494 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:02,496 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [37, 36, 34, 2, 1, 1] [2025-03-09 06:50:02,498 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:02,498 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-09 06:50:02,499 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-09 06:50:02,499 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:02,499 INFO L85 PathProgramCache]: Analyzing trace with hash -1991698011, now seen corresponding path program 8 times [2025-03-09 06:50:02,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:02,500 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [881031063] [2025-03-09 06:50:02,500 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:50:02,500 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:02,507 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 111 statements into 2 equivalence classes. [2025-03-09 06:50:02,520 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 111 of 111 statements. [2025-03-09 06:50:02,521 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-09 06:50:02,521 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:02,521 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:02,524 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-03-09 06:50:02,536 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-03-09 06:50:02,538 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:02,538 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:02,543 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:02,547 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:02,547 INFO L85 PathProgramCache]: Analyzing trace with hash 1154, now seen corresponding path program 5 times [2025-03-09 06:50:02,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:02,548 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [936993995] [2025-03-09 06:50:02,548 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-09 06:50:02,548 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:02,550 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:02,551 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:02,551 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-09 06:50:02,551 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:02,551 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:02,552 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:02,553 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:02,553 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:02,553 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:02,554 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:02,555 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:02,555 INFO L85 PathProgramCache]: Analyzing trace with hash 1533625638, now seen corresponding path program 1 times [2025-03-09 06:50:02,555 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:02,555 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [186947460] [2025-03-09 06:50:02,555 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-09 06:50:02,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:02,561 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 113 statements into 1 equivalence classes. [2025-03-09 06:50:02,571 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 113 of 113 statements. [2025-03-09 06:50:02,572 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:02,572 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:02,635 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-09 06:50:02,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:02,636 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [186947460] [2025-03-09 06:50:02,636 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [186947460] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-09 06:50:02,636 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-09 06:50:02,636 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-09 06:50:02,636 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1951278056] [2025-03-09 06:50:02,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-09 06:50:02,649 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:02,650 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-09 06:50:02,650 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-09 06:50:02,650 INFO L87 Difference]: Start difference. First operand 182 states and 198 transitions. cyclomatic complexity: 22 Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:02,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:02,665 INFO L93 Difference]: Finished difference Result 180 states and 192 transitions. [2025-03-09 06:50:02,665 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 180 states and 192 transitions. [2025-03-09 06:50:02,666 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:02,668 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 180 states to 132 states and 140 transitions. [2025-03-09 06:50:02,668 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-03-09 06:50:02,668 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-03-09 06:50:02,668 INFO L73 IsDeterministic]: Start isDeterministic. Operand 132 states and 140 transitions. [2025-03-09 06:50:02,668 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:02,668 INFO L218 hiAutomatonCegarLoop]: Abstraction has 132 states and 140 transitions. [2025-03-09 06:50:02,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states and 140 transitions. [2025-03-09 06:50:02,672 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 129. [2025-03-09 06:50:02,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 129 states have (on average 1.062015503875969) internal successors, (137), 128 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:02,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 137 transitions. [2025-03-09 06:50:02,676 INFO L240 hiAutomatonCegarLoop]: Abstraction has 129 states and 137 transitions. [2025-03-09 06:50:02,676 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-09 06:50:02,677 INFO L432 stractBuchiCegarLoop]: Abstraction has 129 states and 137 transitions. [2025-03-09 06:50:02,679 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-03-09 06:50:02,680 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 129 states and 137 transitions. [2025-03-09 06:50:02,680 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:02,680 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:02,680 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:02,681 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [38, 37, 34, 3, 1, 1, 1] [2025-03-09 06:50:02,681 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:02,681 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-09 06:50:02,681 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-09 06:50:02,682 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:02,682 INFO L85 PathProgramCache]: Analyzing trace with hash 640422178, now seen corresponding path program 2 times [2025-03-09 06:50:02,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:02,682 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1974289832] [2025-03-09 06:50:02,682 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:50:02,682 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:02,688 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 115 statements into 2 equivalence classes. [2025-03-09 06:50:02,695 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 115 of 115 statements. [2025-03-09 06:50:02,695 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-09 06:50:02,695 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:02,811 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-09 06:50:02,812 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:02,812 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1974289832] [2025-03-09 06:50:02,812 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1974289832] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-09 06:50:02,812 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1051084916] [2025-03-09 06:50:02,812 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:50:02,812 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-09 06:50:02,812 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:02,814 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-09 06:50:02,816 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2025-03-09 06:50:02,835 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 115 statements into 2 equivalence classes. [2025-03-09 06:50:02,859 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 115 of 115 statements. [2025-03-09 06:50:02,859 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-09 06:50:02,860 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:02,861 INFO L256 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 20 conjuncts are in the unsatisfiable core [2025-03-09 06:50:02,862 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:03,294 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-09 06:50:03,295 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-09 06:50:03,625 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-09 06:50:03,626 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1051084916] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-09 06:50:03,626 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-09 06:50:03,627 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 20, 20] total 38 [2025-03-09 06:50:03,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1742824990] [2025-03-09 06:50:03,627 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-09 06:50:03,628 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-09 06:50:03,628 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:03,629 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 6 times [2025-03-09 06:50:03,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:03,629 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1804101502] [2025-03-09 06:50:03,629 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-09 06:50:03,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:03,630 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:03,632 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:03,632 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-09 06:50:03,632 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:03,632 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:03,632 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:03,633 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:03,633 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:03,633 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:03,633 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:03,644 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:03,645 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-03-09 06:50:03,645 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=516, Invalid=890, Unknown=0, NotChecked=0, Total=1406 [2025-03-09 06:50:03,646 INFO L87 Difference]: Start difference. First operand 129 states and 137 transitions. cyclomatic complexity: 12 Second operand has 38 states, 38 states have (on average 3.1052631578947367) internal successors, (118), 38 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:04,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:04,314 INFO L93 Difference]: Finished difference Result 314 states and 324 transitions. [2025-03-09 06:50:04,314 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 314 states and 324 transitions. [2025-03-09 06:50:04,316 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:04,317 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 314 states to 248 states and 258 transitions. [2025-03-09 06:50:04,317 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-03-09 06:50:04,317 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-03-09 06:50:04,317 INFO L73 IsDeterministic]: Start isDeterministic. Operand 248 states and 258 transitions. [2025-03-09 06:50:04,317 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:04,317 INFO L218 hiAutomatonCegarLoop]: Abstraction has 248 states and 258 transitions. [2025-03-09 06:50:04,318 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states and 258 transitions. [2025-03-09 06:50:04,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 240. [2025-03-09 06:50:04,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 240 states, 240 states have (on average 1.0416666666666667) internal successors, (250), 239 states have internal predecessors, (250), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:04,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 240 states to 240 states and 250 transitions. [2025-03-09 06:50:04,322 INFO L240 hiAutomatonCegarLoop]: Abstraction has 240 states and 250 transitions. [2025-03-09 06:50:04,322 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 75 states. [2025-03-09 06:50:04,322 INFO L432 stractBuchiCegarLoop]: Abstraction has 240 states and 250 transitions. [2025-03-09 06:50:04,323 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-03-09 06:50:04,323 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 240 states and 250 transitions. [2025-03-09 06:50:04,324 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:04,324 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:04,324 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:04,326 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [75, 74, 69, 5, 1, 1, 1] [2025-03-09 06:50:04,326 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:04,326 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-09 06:50:04,326 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-09 06:50:04,327 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:04,327 INFO L85 PathProgramCache]: Analyzing trace with hash -1174083616, now seen corresponding path program 3 times [2025-03-09 06:50:04,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:04,327 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1525641708] [2025-03-09 06:50:04,327 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-09 06:50:04,327 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:04,341 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 226 statements into 75 equivalence classes. [2025-03-09 06:50:04,344 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 19 of 226 statements. [2025-03-09 06:50:04,345 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-03-09 06:50:04,345 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:04,433 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-09 06:50:04,433 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:04,433 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1525641708] [2025-03-09 06:50:04,433 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1525641708] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-09 06:50:04,433 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1683515369] [2025-03-09 06:50:04,434 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-09 06:50:04,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-09 06:50:04,434 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:04,435 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-09 06:50:04,436 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2025-03-09 06:50:04,462 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 226 statements into 75 equivalence classes. [2025-03-09 06:50:04,468 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 19 of 226 statements. [2025-03-09 06:50:04,468 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-03-09 06:50:04,468 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:04,469 INFO L256 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-09 06:50:04,471 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:04,496 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-09 06:50:04,496 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-09 06:50:04,527 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-09 06:50:04,528 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1683515369] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-09 06:50:04,528 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-09 06:50:04,528 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 6 [2025-03-09 06:50:04,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2110775574] [2025-03-09 06:50:04,528 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-09 06:50:04,529 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-09 06:50:04,529 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:04,529 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 7 times [2025-03-09 06:50:04,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:04,529 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1510979177] [2025-03-09 06:50:04,529 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-09 06:50:04,529 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:04,531 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:04,531 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:04,531 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:04,531 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:04,531 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:04,532 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:04,532 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:04,532 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:04,532 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:04,532 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:04,544 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:04,544 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-03-09 06:50:04,544 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-03-09 06:50:04,545 INFO L87 Difference]: Start difference. First operand 240 states and 250 transitions. cyclomatic complexity: 16 Second operand has 7 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 7 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:04,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:04,589 INFO L93 Difference]: Finished difference Result 260 states and 274 transitions. [2025-03-09 06:50:04,589 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 260 states and 274 transitions. [2025-03-09 06:50:04,592 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:04,593 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 260 states to 260 states and 274 transitions. [2025-03-09 06:50:04,593 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13 [2025-03-09 06:50:04,593 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13 [2025-03-09 06:50:04,593 INFO L73 IsDeterministic]: Start isDeterministic. Operand 260 states and 274 transitions. [2025-03-09 06:50:04,593 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:04,593 INFO L218 hiAutomatonCegarLoop]: Abstraction has 260 states and 274 transitions. [2025-03-09 06:50:04,594 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states and 274 transitions. [2025-03-09 06:50:04,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 245. [2025-03-09 06:50:04,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 245 states have (on average 1.0448979591836736) internal successors, (256), 244 states have internal predecessors, (256), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:04,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 256 transitions. [2025-03-09 06:50:04,602 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 256 transitions. [2025-03-09 06:50:04,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-09 06:50:04,605 INFO L432 stractBuchiCegarLoop]: Abstraction has 245 states and 256 transitions. [2025-03-09 06:50:04,605 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-03-09 06:50:04,605 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 256 transitions. [2025-03-09 06:50:04,606 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:04,607 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:04,607 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:04,609 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [76, 75, 69, 6, 1, 1, 1] [2025-03-09 06:50:04,609 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:04,609 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-09 06:50:04,610 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-09 06:50:04,610 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:04,610 INFO L85 PathProgramCache]: Analyzing trace with hash 1088627683, now seen corresponding path program 4 times [2025-03-09 06:50:04,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:04,610 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [720506548] [2025-03-09 06:50:04,610 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-09 06:50:04,611 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:04,623 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 229 statements into 2 equivalence classes. [2025-03-09 06:50:04,637 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 228 of 229 statements. [2025-03-09 06:50:04,637 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-09 06:50:04,638 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:04,736 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-09 06:50:04,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:04,737 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [720506548] [2025-03-09 06:50:04,737 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [720506548] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-09 06:50:04,737 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-09 06:50:04,737 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-09 06:50:04,738 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [923396581] [2025-03-09 06:50:04,738 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-09 06:50:04,738 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-09 06:50:04,738 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:04,738 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 8 times [2025-03-09 06:50:04,739 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:04,739 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1848979580] [2025-03-09 06:50:04,739 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-09 06:50:04,739 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:04,740 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:04,741 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:04,741 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-09 06:50:04,741 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:04,741 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:04,741 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:04,742 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:04,742 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:04,742 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:04,742 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:04,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:04,756 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-09 06:50:04,756 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-03-09 06:50:04,756 INFO L87 Difference]: Start difference. First operand 245 states and 256 transitions. cyclomatic complexity: 17 Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:04,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:04,773 INFO L93 Difference]: Finished difference Result 245 states and 255 transitions. [2025-03-09 06:50:04,773 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 245 states and 255 transitions. [2025-03-09 06:50:04,775 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:04,776 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 245 states to 245 states and 255 transitions. [2025-03-09 06:50:04,776 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-03-09 06:50:04,776 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-03-09 06:50:04,776 INFO L73 IsDeterministic]: Start isDeterministic. Operand 245 states and 255 transitions. [2025-03-09 06:50:04,776 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:04,777 INFO L218 hiAutomatonCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-03-09 06:50:04,777 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 245 states and 255 transitions. [2025-03-09 06:50:04,779 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 245 to 245. [2025-03-09 06:50:04,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 245 states, 245 states have (on average 1.0408163265306123) internal successors, (255), 244 states have internal predecessors, (255), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:04,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 255 transitions. [2025-03-09 06:50:04,780 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-03-09 06:50:04,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-09 06:50:04,781 INFO L432 stractBuchiCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-03-09 06:50:04,781 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-03-09 06:50:04,781 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 255 transitions. [2025-03-09 06:50:04,782 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:04,782 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:04,782 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:04,784 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [77, 76, 70, 6, 1, 1, 1] [2025-03-09 06:50:04,784 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:04,784 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-09 06:50:04,784 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-09 06:50:04,785 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:04,785 INFO L85 PathProgramCache]: Analyzing trace with hash 37854623, now seen corresponding path program 5 times [2025-03-09 06:50:04,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:04,785 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [554094309] [2025-03-09 06:50:04,785 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-09 06:50:04,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:04,793 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 77 equivalence classes. [2025-03-09 06:50:04,820 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 232 statements. [2025-03-09 06:50:04,820 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-03-09 06:50:04,820 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:05,865 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-09 06:50:05,865 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-09 06:50:05,866 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [554094309] [2025-03-09 06:50:05,866 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [554094309] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-09 06:50:05,866 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1775176528] [2025-03-09 06:50:05,866 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-09 06:50:05,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-09 06:50:05,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-09 06:50:05,871 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-09 06:50:05,872 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2025-03-09 06:50:05,896 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 77 equivalence classes. [2025-03-09 06:50:05,947 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 232 statements. [2025-03-09 06:50:05,947 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-03-09 06:50:05,947 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-09 06:50:05,949 INFO L256 TraceCheckSpWp]: Trace formula consists of 299 conjuncts, 39 conjuncts are in the unsatisfiable core [2025-03-09 06:50:05,951 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-09 06:50:06,546 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-09 06:50:06,547 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-09 06:50:07,087 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-09 06:50:07,087 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1775176528] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-09 06:50:07,087 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-09 06:50:07,087 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 39, 39] total 58 [2025-03-09 06:50:07,087 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1918769101] [2025-03-09 06:50:07,088 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-09 06:50:07,088 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-09 06:50:07,088 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:07,088 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 9 times [2025-03-09 06:50:07,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:07,088 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1666844509] [2025-03-09 06:50:07,088 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-09 06:50:07,088 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:07,090 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:07,090 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:07,090 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-09 06:50:07,090 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:07,090 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:07,091 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:07,091 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:07,091 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:07,091 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:07,091 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:07,104 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-09 06:50:07,105 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 58 interpolants. [2025-03-09 06:50:07,106 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=726, Invalid=2580, Unknown=0, NotChecked=0, Total=3306 [2025-03-09 06:50:07,106 INFO L87 Difference]: Start difference. First operand 245 states and 255 transitions. cyclomatic complexity: 16 Second operand has 58 states, 58 states have (on average 3.0689655172413794) internal successors, (178), 58 states have internal predecessors, (178), 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-09 06:50:11,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-09 06:50:11,297 INFO L93 Difference]: Finished difference Result 1210 states and 1256 transitions. [2025-03-09 06:50:11,297 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1210 states and 1256 transitions. [2025-03-09 06:50:11,301 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:11,306 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1210 states to 936 states and 982 transitions. [2025-03-09 06:50:11,306 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29 [2025-03-09 06:50:11,307 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29 [2025-03-09 06:50:11,307 INFO L73 IsDeterministic]: Start isDeterministic. Operand 936 states and 982 transitions. [2025-03-09 06:50:11,307 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-09 06:50:11,307 INFO L218 hiAutomatonCegarLoop]: Abstraction has 936 states and 982 transitions. [2025-03-09 06:50:11,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 936 states and 982 transitions. [2025-03-09 06:50:11,314 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 936 to 647. [2025-03-09 06:50:11,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 647 states, 647 states have (on average 1.0370942812983) internal successors, (671), 646 states have internal predecessors, (671), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-03-09 06:50:11,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 647 states to 647 states and 671 transitions. [2025-03-09 06:50:11,319 INFO L240 hiAutomatonCegarLoop]: Abstraction has 647 states and 671 transitions. [2025-03-09 06:50:11,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 197 states. [2025-03-09 06:50:11,320 INFO L432 stractBuchiCegarLoop]: Abstraction has 647 states and 671 transitions. [2025-03-09 06:50:11,320 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-03-09 06:50:11,320 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 647 states and 671 transitions. [2025-03-09 06:50:11,322 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-09 06:50:11,322 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-09 06:50:11,322 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-09 06:50:11,329 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [211, 210, 190, 20, 1, 1, 1] [2025-03-09 06:50:11,329 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-09 06:50:11,330 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-09 06:50:11,330 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-09 06:50:11,331 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:11,331 INFO L85 PathProgramCache]: Analyzing trace with hash -2049355905, now seen corresponding path program 6 times [2025-03-09 06:50:11,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:11,331 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [360123147] [2025-03-09 06:50:11,331 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-09 06:50:11,331 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:11,350 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 634 statements into 211 equivalence classes. [2025-03-09 06:50:11,609 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) and asserted 634 of 634 statements. [2025-03-09 06:50:11,610 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) [2025-03-09 06:50:11,610 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:11,610 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:11,617 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-03-09 06:50:11,698 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-03-09 06:50:11,698 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:11,698 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:11,710 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:11,711 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:11,711 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 10 times [2025-03-09 06:50:11,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:11,711 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608570183] [2025-03-09 06:50:11,711 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-09 06:50:11,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:11,712 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-09 06:50:11,714 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:11,714 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-09 06:50:11,714 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:11,715 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:11,715 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-09 06:50:11,715 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-09 06:50:11,715 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:11,715 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:11,716 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:11,716 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-09 06:50:11,716 INFO L85 PathProgramCache]: Analyzing trace with hash 1958964382, now seen corresponding path program 7 times [2025-03-09 06:50:11,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-09 06:50:11,716 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1880362863] [2025-03-09 06:50:11,716 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-09 06:50:11,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-09 06:50:11,730 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 636 statements into 1 equivalence classes. [2025-03-09 06:50:11,801 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 636 of 636 statements. [2025-03-09 06:50:11,802 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:11,802 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:11,802 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:11,813 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 636 statements into 1 equivalence classes. [2025-03-09 06:50:11,901 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 636 of 636 statements. [2025-03-09 06:50:11,901 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:11,901 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:11,918 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-09 06:50:47,177 WARN L286 SmtUtils]: Spent 35.09s on a formula simplification. DAG size of input: 2131 DAG size of output: 667 (called from [L 276] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2025-03-09 06:50:48,893 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-03-09 06:50:48,960 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-03-09 06:50:48,961 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:48,961 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:48,964 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-09 06:50:48,985 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-03-09 06:50:49,040 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-03-09 06:50:49,041 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-09 06:50:49,041 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-09 06:50:49,213 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 09.03 06:50:49 BoogieIcfgContainer [2025-03-09 06:50:49,213 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-03-09 06:50:49,214 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-03-09 06:50:49,214 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-03-09 06:50:49,214 INFO L274 PluginConnector]: Witness Printer initialized [2025-03-09 06:50:49,215 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 09.03 06:49:57" (3/4) ... [2025-03-09 06:50:49,216 INFO L143 WitnessPrinter]: Generating witness for non-termination counterexample [2025-03-09 06:50:49,301 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-03-09 06:50:49,302 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-03-09 06:50:49,302 INFO L158 Benchmark]: Toolchain (without parser) took 52040.54ms. Allocated memory was 142.6MB in the beginning and 469.8MB in the end (delta: 327.2MB). Free memory was 107.6MB in the beginning and 224.3MB in the end (delta: -116.7MB). Peak memory consumption was 205.0MB. Max. memory is 16.1GB. [2025-03-09 06:50:49,302 INFO L158 Benchmark]: CDTParser took 0.32ms. Allocated memory is still 201.3MB. Free memory is still 129.3MB. There was no memory consumed. Max. memory is 16.1GB. [2025-03-09 06:50:49,303 INFO L158 Benchmark]: CACSL2BoogieTranslator took 132.67ms. Allocated memory is still 142.6MB. Free memory was 107.6MB in the beginning and 97.0MB in the end (delta: 10.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-09 06:50:49,303 INFO L158 Benchmark]: Boogie Procedure Inliner took 19.32ms. Allocated memory is still 142.6MB. Free memory was 97.0MB in the beginning and 96.1MB in the end (delta: 891.1kB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-09 06:50:49,303 INFO L158 Benchmark]: Boogie Preprocessor took 14.12ms. Allocated memory is still 142.6MB. Free memory was 96.1MB in the beginning and 95.2MB in the end (delta: 847.8kB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-09 06:50:49,304 INFO L158 Benchmark]: IcfgBuilder took 162.25ms. Allocated memory is still 142.6MB. Free memory was 95.2MB in the beginning and 86.2MB in the end (delta: 9.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-09 06:50:49,304 INFO L158 Benchmark]: BuchiAutomizer took 51620.40ms. Allocated memory was 142.6MB in the beginning and 469.8MB in the end (delta: 327.2MB). Free memory was 86.2MB in the beginning and 245.2MB in the end (delta: -159.0MB). Peak memory consumption was 171.5MB. Max. memory is 16.1GB. [2025-03-09 06:50:49,305 INFO L158 Benchmark]: Witness Printer took 87.66ms. Allocated memory is still 469.8MB. Free memory was 245.2MB in the beginning and 224.3MB in the end (delta: 21.0MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-03-09 06:50:49,306 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.32ms. Allocated memory is still 201.3MB. Free memory is still 129.3MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 132.67ms. Allocated memory is still 142.6MB. Free memory was 107.6MB in the beginning and 97.0MB in the end (delta: 10.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 19.32ms. Allocated memory is still 142.6MB. Free memory was 97.0MB in the beginning and 96.1MB in the end (delta: 891.1kB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 14.12ms. Allocated memory is still 142.6MB. Free memory was 96.1MB in the beginning and 95.2MB in the end (delta: 847.8kB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 162.25ms. Allocated memory is still 142.6MB. Free memory was 95.2MB in the beginning and 86.2MB in the end (delta: 9.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * BuchiAutomizer took 51620.40ms. Allocated memory was 142.6MB in the beginning and 469.8MB in the end (delta: 327.2MB). Free memory was 86.2MB in the beginning and 245.2MB in the end (delta: -159.0MB). Peak memory consumption was 171.5MB. Max. memory is 16.1GB. * Witness Printer took 87.66ms. Allocated memory is still 469.8MB. Free memory was 245.2MB in the beginning and 224.3MB 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 647 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 51.4s and 14 iterations. TraceHistogramMax:211. Analysis of lassos took 45.1s. Construction of modules took 0.9s. Büchi inclusion checks took 5.1s. 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, 117 SdHoareTripleChecker+Valid, 1.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 111 mSDsluCounter, 107 SdHoareTripleChecker+Invalid, 1.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 41 mSDsCounter, 339 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1941 IncrementalHoareTripleChecker+Invalid, 2280 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 339 mSolverCounterUnsat, 66 mSDtfsCounter, 1941 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont1 unkn0 SFLI0 SFLT3 conc3 concLT0 SILN6 SILU0 SILI0 SILT1 lasso0 LassoPreprocessingBenchmarks: Lassos: inital17 mio100 ax167 hnf100 lsp59 ukn100 mio100 lsp100 div100 bol100 ite100 ukn100 eq166 hnf95 smp71 dnf100 smp100 tf110 neg100 sie109 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 24ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 5 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 4 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.4s InitialAbstractionConstructionTime: 0.0s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - LassoShapedNonTerminationArgument [Line: 11]: Nontermination argument in form of an infinite program execution. Nontermination argument in form of an infinite program execution. Stem: [L6] int i; [L7] int range; [L8] i = __VERIFIER_nondet_int() [L9] range = 20 VAL [range=20] [L11] COND TRUE 0 <= i && i <= range VAL [i=20, range=20] [L12] COND TRUE !(0 == i && i == range) VAL [i=20, range=20] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=19, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=19, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=19, range=19] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=18] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=17] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=16] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=15] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=14] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=13] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=12] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=11] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=10] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=9] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=8] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=7] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=6] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=5] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=4] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=3] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=2] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=1] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=1] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=0] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=0] [L12] COND FALSE !(!(0 == i && i == range)) VAL [i=0, range=0] Loop: [L11] COND TRUE 0 <= i && i <= range [L12] COND FALSE !(!(0 == i && i == range)) End of lasso representation. - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 11]: Nonterminating execution Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L6] int i; [L7] int range; [L8] i = __VERIFIER_nondet_int() [L9] range = 20 VAL [range=20] [L11] COND TRUE 0 <= i && i <= range VAL [i=20, range=20] [L12] COND TRUE !(0 == i && i == range) VAL [i=20, range=20] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=19] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=19, range=19] [L11] COND TRUE 0 <= i && i <= range VAL [i=19, range=19] [L12] COND TRUE !(0 == i && i == range) VAL [i=19, range=19] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=18] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=18, range=18] [L11] COND TRUE 0 <= i && i <= range VAL [i=18, range=18] [L12] COND TRUE !(0 == i && i == range) VAL [i=18, range=18] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=17] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=17, range=17] [L11] COND TRUE 0 <= i && i <= range VAL [i=17, range=17] [L12] COND TRUE !(0 == i && i == range) VAL [i=17, range=17] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=16] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=16, range=16] [L11] COND TRUE 0 <= i && i <= range VAL [i=16, range=16] [L12] COND TRUE !(0 == i && i == range) VAL [i=16, range=16] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=15] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=15, range=15] [L11] COND TRUE 0 <= i && i <= range VAL [i=15, range=15] [L12] COND TRUE !(0 == i && i == range) VAL [i=15, range=15] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=14] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=14, range=14] [L11] COND TRUE 0 <= i && i <= range VAL [i=14, range=14] [L12] COND TRUE !(0 == i && i == range) VAL [i=14, range=14] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=13] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=13, range=13] [L11] COND TRUE 0 <= i && i <= range VAL [i=13, range=13] [L12] COND TRUE !(0 == i && i == range) VAL [i=13, range=13] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=12] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=12, range=12] [L11] COND TRUE 0 <= i && i <= range VAL [i=12, range=12] [L12] COND TRUE !(0 == i && i == range) VAL [i=12, range=12] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=11] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=11, range=11] [L11] COND TRUE 0 <= i && i <= range VAL [i=11, range=11] [L12] COND TRUE !(0 == i && i == range) VAL [i=11, range=11] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=10] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=10, range=10] [L11] COND TRUE 0 <= i && i <= range VAL [i=10, range=10] [L12] COND TRUE !(0 == i && i == range) VAL [i=10, range=10] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=9] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=9, range=9] [L11] COND TRUE 0 <= i && i <= range VAL [i=9, range=9] [L12] COND TRUE !(0 == i && i == range) VAL [i=9, range=9] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=8] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=8, range=8] [L11] COND TRUE 0 <= i && i <= range VAL [i=8, range=8] [L12] COND TRUE !(0 == i && i == range) VAL [i=8, range=8] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=7] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=7, range=7] [L11] COND TRUE 0 <= i && i <= range VAL [i=7, range=7] [L12] COND TRUE !(0 == i && i == range) VAL [i=7, range=7] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=6] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=6, range=6] [L11] COND TRUE 0 <= i && i <= range VAL [i=6, range=6] [L12] COND TRUE !(0 == i && i == range) VAL [i=6, range=6] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=5] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=5, range=5] [L11] COND TRUE 0 <= i && i <= range VAL [i=5, range=5] [L12] COND TRUE !(0 == i && i == range) VAL [i=5, range=5] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=4] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=4, range=4] [L11] COND TRUE 0 <= i && i <= range VAL [i=4, range=4] [L12] COND TRUE !(0 == i && i == range) VAL [i=4, range=4] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=3] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=3, range=3] [L11] COND TRUE 0 <= i && i <= range VAL [i=3, range=3] [L12] COND TRUE !(0 == i && i == range) VAL [i=3, range=3] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=2] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=2, range=2] [L11] COND TRUE 0 <= i && i <= range VAL [i=2, range=2] [L12] COND TRUE !(0 == i && i == range) VAL [i=2, range=2] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=0, range=1] [L13] COND FALSE !(i == range) [L17] i = i+1 VAL [i=1, range=1] [L11] COND TRUE 0 <= i && i <= range VAL [i=1, range=1] [L12] COND TRUE !(0 == i && i == range) VAL [i=1, range=1] [L13] COND TRUE i == range [L14] i = 0 [L15] range = range-1 VAL [i=0, range=0] [L11] COND TRUE 0 <= i && i <= range VAL [i=0, range=0] [L12] COND FALSE !(!(0 == i && i == range)) VAL [i=0, range=0] Loop: [L11] COND TRUE 0 <= i && i <= range [L12] COND FALSE !(!(0 == i && i == range)) End of lasso representation. RESULT: Ultimate proved your program to be incorrect! [2025-03-09 06:50:49,355 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Ended with exit code 0 [2025-03-09 06:50:49,556 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Ended with exit code 0 [2025-03-09 06:50:49,753 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Ended with exit code 0 [2025-03-09 06:50:49,952 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2025-03-09 06:50:50,151 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2025-03-09 06:50:50,352 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2025-03-09 06:50:50,552 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-09 06:50:50,757 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)