./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 798a7b37 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-?-798a7b3-m [2025-03-04 15:36:14,586 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-04 15:36:14,640 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2025-03-04 15:36:14,646 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-04 15:36:14,646 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-04 15:36:14,646 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2025-03-04 15:36:14,666 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-04 15:36:14,668 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-04 15:36:14,668 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-04 15:36:14,668 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-04 15:36:14,669 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-04 15:36:14,669 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-04 15:36:14,669 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-04 15:36:14,669 INFO L153 SettingsManager]: * Use SBE=true [2025-03-04 15:36:14,670 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-03-04 15:36:14,670 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-03-04 15:36:14,670 INFO L153 SettingsManager]: * Use old map elimination=false [2025-03-04 15:36:14,670 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-03-04 15:36:14,670 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-03-04 15:36:14,670 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-03-04 15:36:14,670 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-04 15:36:14,670 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-03-04 15:36:14,670 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-04 15:36:14,671 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-04 15:36:14,671 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-04 15:36:14,672 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-04 15:36:14,672 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-04 15:36:14,672 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-04 15:36:14,672 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-03-04 15:36:14,672 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-04 15:36:14,865 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-04 15:36:14,869 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-04 15:36:14,871 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-04 15:36:14,871 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-04 15:36:14,872 INFO L274 PluginConnector]: CDTParser initialized [2025-03-04 15:36:14,875 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-04 15:36:16,074 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa0347c99/a7c9ac30a683481bb42b23357ed6ea25/FLAG7f856852d [2025-03-04 15:36:16,272 INFO L384 CDTParser]: Found 1 translation units. [2025-03-04 15:36:16,273 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-restricted-15/NarrowKonv.c [2025-03-04 15:36:16,280 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa0347c99/a7c9ac30a683481bb42b23357ed6ea25/FLAG7f856852d [2025-03-04 15:36:16,316 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/aa0347c99/a7c9ac30a683481bb42b23357ed6ea25 [2025-03-04 15:36:16,318 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-04 15:36:16,319 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-04 15:36:16,326 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-04 15:36:16,327 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-04 15:36:16,330 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-04 15:36:16,331 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,333 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@64231e4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16, skipping insertion in model container [2025-03-04 15:36:16,333 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,344 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-04 15:36:16,432 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-04 15:36:16,436 INFO L200 MainTranslator]: Completed pre-run [2025-03-04 15:36:16,446 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-04 15:36:16,455 INFO L204 MainTranslator]: Completed translation [2025-03-04 15:36:16,456 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16 WrapperNode [2025-03-04 15:36:16,456 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-04 15:36:16,456 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-04 15:36:16,456 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-04 15:36:16,457 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-04 15:36:16,462 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,464 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,473 INFO L138 Inliner]: procedures = 4, calls = 2, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 16 [2025-03-04 15:36:16,473 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-04 15:36:16,474 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-04 15:36:16,475 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-04 15:36:16,475 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-04 15:36:16,479 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,480 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,480 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,484 INFO L175 MemorySlicer]: No memory access in input program. [2025-03-04 15:36:16,485 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,485 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,485 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,486 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,486 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,486 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,487 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-04 15:36:16,490 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-04 15:36:16,490 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-04 15:36:16,490 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-04 15:36:16,491 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (1/1) ... [2025-03-04 15:36:16,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:16,504 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:16,518 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-04 15:36:16,523 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-04 15:36:16,538 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-04 15:36:16,538 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-04 15:36:16,582 INFO L256 CfgBuilder]: Building ICFG [2025-03-04 15:36:16,584 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-04 15:36:16,634 INFO L? ?]: Removed 4 outVars from TransFormulas that were not future-live. [2025-03-04 15:36:16,635 INFO L307 CfgBuilder]: Performing block encoding [2025-03-04 15:36:16,640 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-04 15:36:16,640 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-04 15:36:16,640 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 04.03 03:36:16 BoogieIcfgContainer [2025-03-04 15:36:16,641 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-04 15:36:16,641 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-03-04 15:36:16,641 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-03-04 15:36:16,645 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-03-04 15:36:16,645 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-04 15:36:16,646 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 04.03 03:36:16" (1/3) ... [2025-03-04 15:36:16,646 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2bbcb54b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 04.03 03:36:16, skipping insertion in model container [2025-03-04 15:36:16,646 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-04 15:36:16,647 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 04.03 03:36:16" (2/3) ... [2025-03-04 15:36:16,647 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2bbcb54b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 04.03 03:36:16, skipping insertion in model container [2025-03-04 15:36:16,647 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-04 15:36:16,647 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 04.03 03:36:16" (3/3) ... [2025-03-04 15:36:16,648 INFO L363 chiAutomizerObserver]: Analyzing ICFG NarrowKonv.c [2025-03-04 15:36:16,680 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-03-04 15:36:16,680 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-03-04 15:36:16,680 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-03-04 15:36:16,680 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-03-04 15:36:16,680 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-03-04 15:36:16,681 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-03-04 15:36:16,681 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-03-04 15:36:16,681 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-03-04 15:36:16,683 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-04 15:36:16,691 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-04 15:36:16,692 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:16,692 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:16,695 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-04 15:36:16,695 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:16,695 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-03-04 15:36:16,695 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-04 15:36:16,696 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-04 15:36:16,696 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:16,696 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:16,696 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-04 15:36:16,696 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:16,700 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-04 15:36:16,700 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-04 15:36:16,703 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:16,704 INFO L85 PathProgramCache]: Analyzing trace with hash 1248, now seen corresponding path program 1 times [2025-03-04 15:36:16,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:16,708 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1041755224] [2025-03-04 15:36:16,709 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:16,709 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:16,756 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:16,757 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:16,757 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,757 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,758 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:16,759 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:16,759 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:16,759 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,759 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,767 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:16,768 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:16,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 1 times [2025-03-04 15:36:16,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:16,769 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [855917219] [2025-03-04 15:36:16,769 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:16,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:16,773 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:16,775 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:16,776 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,776 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,776 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:16,778 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:16,779 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:16,779 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,779 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,779 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:16,780 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:16,780 INFO L85 PathProgramCache]: Analyzing trace with hash 1199551, now seen corresponding path program 1 times [2025-03-04 15:36:16,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:16,780 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [546902861] [2025-03-04 15:36:16,780 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:16,780 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:16,786 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-03-04 15:36:16,790 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-03-04 15:36:16,790 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,790 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:16,841 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-04 15:36:16,842 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:16,843 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [546902861] [2025-03-04 15:36:16,843 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [546902861] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-04 15:36:16,843 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-04 15:36:16,843 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-03-04 15:36:16,844 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1707899742] [2025-03-04 15:36:16,844 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-04 15:36:16,877 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:16,892 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-03-04 15:36:16,892 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-03-04 15:36:16,893 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-04 15:36:16,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:16,911 INFO L93 Difference]: Finished difference Result 11 states and 15 transitions. [2025-03-04 15:36:16,912 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 11 states and 15 transitions. [2025-03-04 15:36:16,912 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-04 15:36:16,915 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 11 states to 8 states and 11 transitions. [2025-03-04 15:36:16,916 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 8 [2025-03-04 15:36:16,916 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2025-03-04 15:36:16,917 INFO L73 IsDeterministic]: Start isDeterministic. Operand 8 states and 11 transitions. [2025-03-04 15:36:16,917 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-04 15:36:16,917 INFO L218 hiAutomatonCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-03-04 15:36:16,925 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states and 11 transitions. [2025-03-04 15:36:16,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2025-03-04 15:36:16,931 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-04 15:36:16,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 11 transitions. [2025-03-04 15:36:16,932 INFO L240 hiAutomatonCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-03-04 15:36:16,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-03-04 15:36:16,935 INFO L432 stractBuchiCegarLoop]: Abstraction has 8 states and 11 transitions. [2025-03-04 15:36:16,936 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-03-04 15:36:16,936 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 8 states and 11 transitions. [2025-03-04 15:36:16,936 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-04 15:36:16,936 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:16,936 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:16,936 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-04 15:36:16,936 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-04 15:36:16,937 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-04 15:36:16,937 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-04 15:36:16,937 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:16,937 INFO L85 PathProgramCache]: Analyzing trace with hash 1248, now seen corresponding path program 2 times [2025-03-04 15:36:16,937 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:16,937 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [741800146] [2025-03-04 15:36:16,937 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:16,938 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:16,940 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:16,941 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:16,941 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-04 15:36:16,941 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,941 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:16,942 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:16,942 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:16,942 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,942 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,943 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:16,943 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:16,943 INFO L85 PathProgramCache]: Analyzing trace with hash 36677, now seen corresponding path program 1 times [2025-03-04 15:36:16,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:16,943 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195689974] [2025-03-04 15:36:16,943 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:16,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:16,948 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:16,950 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:16,950 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,950 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,950 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:16,953 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:16,954 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:16,954 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,954 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,955 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:16,955 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:16,956 INFO L85 PathProgramCache]: Analyzing trace with hash 37186054, now seen corresponding path program 1 times [2025-03-04 15:36:16,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:16,956 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90692918] [2025-03-04 15:36:16,956 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:16,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:16,958 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-04 15:36:16,960 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-04 15:36:16,960 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,960 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,960 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:16,961 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-04 15:36:16,964 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-04 15:36:16,964 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:16,964 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:16,965 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:17,008 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:17,009 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:17,009 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:17,009 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:17,009 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-04 15:36:17,009 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,010 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:17,010 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:17,010 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-03-04 15:36:17,010 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:17,010 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:17,021 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,030 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,033 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,111 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:17,112 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-04 15:36:17,113 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,115 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-04 15:36:17,117 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-04 15:36:17,118 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:17,118 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:17,137 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-04 15:36:17,137 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-04 15:36:17,142 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-04 15:36:17,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,143 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,145 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-04 15:36:17,145 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-04 15:36:17,146 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:17,147 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:17,163 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-04 15:36:17,163 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-04 15:36:17,170 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-04 15:36:17,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,171 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,172 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-04 15:36:17,173 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-04 15:36:17,174 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:17,174 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:17,193 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-04 15:36:17,193 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,194 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-04 15:36:17,196 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-04 15:36:17,196 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-04 15:36:17,196 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:17,235 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-04 15:36:17,239 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-04 15:36:17,239 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:17,239 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:17,239 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:17,239 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:17,239 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-04 15:36:17,239 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,239 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:17,239 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:17,239 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration2_Loop [2025-03-04 15:36:17,239 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:17,239 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:17,241 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,244 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,246 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,308 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:17,311 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-04 15:36:17,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,314 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-04 15:36:17,315 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-04 15:36:17,317 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-04 15:36:17,327 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-04 15:36:17,327 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-04 15:36:17,327 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-04 15:36:17,327 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-04 15:36:17,335 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-04 15:36:17,336 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-04 15:36:17,341 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-04 15:36:17,347 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2025-03-04 15:36:17,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,349 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-04 15:36:17,350 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-04 15:36:17,352 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-04 15:36:17,362 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-04 15:36:17,362 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-04 15:36:17,362 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-04 15:36:17,362 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-04 15:36:17,365 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-04 15:36:17,366 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-04 15:36:17,370 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-04 15:36:17,376 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-04 15:36:17,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,378 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-04 15:36:17,379 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-04 15:36:17,380 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-04 15:36:17,390 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-04 15:36:17,390 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-04 15:36:17,391 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-04 15:36:17,391 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-04 15:36:17,391 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-04 15:36:17,392 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-04 15:36:17,393 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-04 15:36:17,395 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-04 15:36:17,398 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-04 15:36:17,399 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-03-04 15:36:17,400 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,400 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,405 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-04 15:36:17,406 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-04 15:36:17,406 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-04 15:36:17,407 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-04 15:36:17,407 INFO L474 LassoAnalysis]: Proved termination. [2025-03-04 15:36:17,407 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-04 15:36:17,413 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2025-03-04 15:36:17,416 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-04 15:36:17,436 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:17,441 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:17,441 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:17,442 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,442 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:17,446 INFO L256 TraceCheckSpWp]: Trace formula consists of 5 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-04 15:36:17,446 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:17,455 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:17,457 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:17,457 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,457 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:17,457 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-04 15:36:17,458 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:17,479 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-04 15:36:17,481 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-04 15:36:17,482 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-04 15:36:17,514 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-04 15:36:17,516 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-04 15:36:17,516 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-04 15:36:17,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 5 transitions. [2025-03-04 15:36:17,519 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 2 letters. Loop has 3 letters. [2025-03-04 15:36:17,519 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:17,519 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 5 letters. Loop has 3 letters. [2025-03-04 15:36:17,519 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:17,519 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 5 transitions. Stem has 2 letters. Loop has 6 letters. [2025-03-04 15:36:17,519 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:17,519 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 11 states and 15 transitions. [2025-03-04 15:36:17,521 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-04 15:36:17,525 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 11 states to 11 states and 15 transitions. [2025-03-04 15:36:17,525 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 7 [2025-03-04 15:36:17,525 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 8 [2025-03-04 15:36:17,525 INFO L73 IsDeterministic]: Start isDeterministic. Operand 11 states and 15 transitions. [2025-03-04 15:36:17,525 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:17,525 INFO L218 hiAutomatonCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-03-04 15:36:17,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 11 states and 15 transitions. [2025-03-04 15:36:17,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 11 to 11. [2025-03-04 15:36:17,526 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-04 15:36:17,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 15 transitions. [2025-03-04 15:36:17,526 INFO L240 hiAutomatonCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-03-04 15:36:17,526 INFO L432 stractBuchiCegarLoop]: Abstraction has 11 states and 15 transitions. [2025-03-04 15:36:17,526 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-03-04 15:36:17,526 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 11 states and 15 transitions. [2025-03-04 15:36:17,526 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2025-03-04 15:36:17,526 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:17,526 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:17,526 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-03-04 15:36:17,526 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:17,527 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet0#1, main_~i~0#1, main_~range~0#1;havoc main_~i~0#1;havoc main_~range~0#1;havoc main_#t~nondet0#1;main_~i~0#1 := main_#t~nondet0#1;havoc main_#t~nondet0#1;main_~range~0#1 := 20;" "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" "assume main_~i~0#1 == main_~range~0#1;main_~i~0#1 := 0;main_~range~0#1 := main_~range~0#1 - 1;" [2025-03-04 15:36:17,527 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 <= main_~i~0#1 && main_~i~0#1 <= main_~range~0#1;" "assume !!(0 == main_~i~0#1 && main_~i~0#1 == main_~range~0#1);" [2025-03-04 15:36:17,527 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:17,527 INFO L85 PathProgramCache]: Analyzing trace with hash 37186053, now seen corresponding path program 1 times [2025-03-04 15:36:17,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:17,527 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [806680682] [2025-03-04 15:36:17,527 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:17,527 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:17,530 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-04 15:36:17,535 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-04 15:36:17,535 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,535 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,535 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:17,536 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-03-04 15:36:17,538 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-03-04 15:36:17,538 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,538 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,543 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:17,543 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:17,543 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 2 times [2025-03-04 15:36:17,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:17,543 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1824729533] [2025-03-04 15:36:17,543 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:17,544 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:17,546 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:17,549 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:17,549 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-04 15:36:17,549 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,549 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:17,550 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:17,551 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:17,551 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,551 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,551 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:17,552 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:17,552 INFO L85 PathProgramCache]: Analyzing trace with hash 1376058788, now seen corresponding path program 1 times [2025-03-04 15:36:17,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:17,552 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1492754766] [2025-03-04 15:36:17,552 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:17,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:17,555 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-03-04 15:36:17,558 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-03-04 15:36:17,558 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,558 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:17,599 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-04 15:36:17,599 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:17,599 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1492754766] [2025-03-04 15:36:17,599 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1492754766] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-04 15:36:17,600 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [471046549] [2025-03-04 15:36:17,600 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:17,600 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-04 15:36:17,600 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,602 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-04 15:36:17,604 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-04 15:36:17,621 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-03-04 15:36:17,625 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-03-04 15:36:17,625 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,625 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:17,625 INFO L256 TraceCheckSpWp]: Trace formula consists of 20 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-03-04 15:36:17,626 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:17,664 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-04 15:36:17,664 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-04 15:36:17,687 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-04 15:36:17,687 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [471046549] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-04 15:36:17,687 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-04 15:36:17,687 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 6 [2025-03-04 15:36:17,687 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [122760513] [2025-03-04 15:36:17,687 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-04 15:36:17,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:17,705 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-03-04 15:36:17,705 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-03-04 15:36:17,706 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-04 15:36:17,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:17,745 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2025-03-04 15:36:17,745 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 23 states and 28 transitions. [2025-03-04 15:36:17,746 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-04 15:36:17,746 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 23 states to 23 states and 28 transitions. [2025-03-04 15:36:17,746 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 20 [2025-03-04 15:36:17,746 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 20 [2025-03-04 15:36:17,747 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 28 transitions. [2025-03-04 15:36:17,747 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:17,747 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-03-04 15:36:17,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 28 transitions. [2025-03-04 15:36:17,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2025-03-04 15:36:17,748 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-04 15:36:17,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 28 transitions. [2025-03-04 15:36:17,749 INFO L240 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-03-04 15:36:17,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-03-04 15:36:17,750 INFO L432 stractBuchiCegarLoop]: Abstraction has 23 states and 28 transitions. [2025-03-04 15:36:17,750 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-03-04 15:36:17,750 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 23 states and 28 transitions. [2025-03-04 15:36:17,751 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-04 15:36:17,751 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:17,751 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:17,751 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 1, 1, 1] [2025-03-04 15:36:17,751 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-04 15:36:17,751 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-04 15:36:17,751 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-04 15:36:17,752 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:17,752 INFO L85 PathProgramCache]: Analyzing trace with hash -1506189179, now seen corresponding path program 1 times [2025-03-04 15:36:17,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:17,752 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1401358642] [2025-03-04 15:36:17,752 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:17,752 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:17,755 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-03-04 15:36:17,777 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-03-04 15:36:17,777 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,777 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,777 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:17,781 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2025-03-04 15:36:17,782 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-03-04 15:36:17,786 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-03-04 15:36:17,787 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,787 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,788 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:17,788 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:17,788 INFO L85 PathProgramCache]: Analyzing trace with hash 36677, now seen corresponding path program 2 times [2025-03-04 15:36:17,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:17,788 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631955780] [2025-03-04 15:36:17,788 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:17,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:17,793 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:17,794 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:17,794 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-04 15:36:17,794 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,794 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:17,794 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:17,795 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:17,795 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,795 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,797 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:17,797 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:17,798 INFO L85 PathProgramCache]: Analyzing trace with hash -1358483391, now seen corresponding path program 2 times [2025-03-04 15:36:17,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:17,798 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [791352667] [2025-03-04 15:36:17,798 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:17,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:17,801 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 14 statements into 2 equivalence classes. [2025-03-04 15:36:17,808 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 14 of 14 statements. [2025-03-04 15:36:17,810 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-04 15:36:17,810 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,810 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:17,811 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-04 15:36:17,813 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-04 15:36:17,813 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:17,813 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:17,817 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:17,845 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:17,845 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:17,845 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:17,845 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:17,845 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-04 15:36:17,845 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,845 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:17,845 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:17,845 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-03-04 15:36:17,845 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:17,845 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:17,846 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,848 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,850 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:17,897 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:17,897 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-04 15:36:17,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,900 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-04 15:36:17,902 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-04 15:36:17,903 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:17,903 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:17,920 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-04 15:36:17,920 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-04 15:36:17,928 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2025-03-04 15:36:17,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,928 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,930 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-04 15:36:17,931 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-04 15:36:17,932 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:17,933 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:17,949 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-04 15:36:17,949 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-04 15:36:17,954 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Ended with exit code 0 [2025-03-04 15:36:17,955 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,955 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,957 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-04 15:36:17,958 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-04 15:36:17,959 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:17,959 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:17,976 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-04 15:36:17,976 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:17,976 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:17,978 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-04 15:36:17,979 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-04 15:36:17,981 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-04 15:36:17,981 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:18,022 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-04 15:36:18,025 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2025-03-04 15:36:18,026 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:18,026 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:18,026 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:18,026 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:18,026 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-04 15:36:18,026 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,026 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:18,027 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:18,027 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration4_Loop [2025-03-04 15:36:18,027 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:18,027 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:18,028 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,032 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,052 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,097 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:18,097 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-04 15:36:18,097 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,097 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,100 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-04 15:36:18,100 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-04 15:36:18,101 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-04 15:36:18,110 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-04 15:36:18,113 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-04 15:36:18,113 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-04 15:36:18,113 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-04 15:36:18,114 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2025-03-04 15:36:18,115 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2025-03-04 15:36:18,117 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-03-04 15:36:18,122 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-04 15:36:18,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,124 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-04 15:36:18,126 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-04 15:36:18,127 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-04 15:36:18,137 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-04 15:36:18,137 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-04 15:36:18,137 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-04 15:36:18,137 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-04 15:36:18,137 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-04 15:36:18,138 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-04 15:36:18,138 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-04 15:36:18,139 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-04 15:36:18,142 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-04 15:36:18,142 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-03-04 15:36:18,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,144 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-04 15:36:18,146 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-04 15:36:18,147 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-04 15:36:18,147 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-04 15:36:18,147 INFO L474 LassoAnalysis]: Proved termination. [2025-03-04 15:36:18,147 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-04 15:36:18,152 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-04 15:36:18,153 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-04 15:36:18,164 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,167 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-03-04 15:36:18,172 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-03-04 15:36:18,172 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,172 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,172 INFO L256 TraceCheckSpWp]: Trace formula consists of 26 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,173 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,186 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:18,187 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:18,187 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,187 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,187 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,187 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,200 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-04 15:36:18,200 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-04 15:36:18,200 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-04 15:36:18,214 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-04 15:36:18,214 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-04 15:36:18,214 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-04 15:36:18,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-03-04 15:36:18,215 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 11 letters. Loop has 3 letters. [2025-03-04 15:36:18,216 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,216 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-04 15:36:18,216 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,216 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 11 letters. Loop has 6 letters. [2025-03-04 15:36:18,216 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,216 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 44 states and 50 transitions. [2025-03-04 15:36:18,217 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-04 15:36:18,218 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 44 states to 38 states and 44 transitions. [2025-03-04 15:36:18,218 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-03-04 15:36:18,218 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2025-03-04 15:36:18,218 INFO L73 IsDeterministic]: Start isDeterministic. Operand 38 states and 44 transitions. [2025-03-04 15:36:18,218 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:18,218 INFO L218 hiAutomatonCegarLoop]: Abstraction has 38 states and 44 transitions. [2025-03-04 15:36:18,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states and 44 transitions. [2025-03-04 15:36:18,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 34. [2025-03-04 15:36:18,219 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-04 15:36:18,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2025-03-04 15:36:18,222 INFO L240 hiAutomatonCegarLoop]: Abstraction has 34 states and 40 transitions. [2025-03-04 15:36:18,222 INFO L432 stractBuchiCegarLoop]: Abstraction has 34 states and 40 transitions. [2025-03-04 15:36:18,222 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-03-04 15:36:18,222 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 34 states and 40 transitions. [2025-03-04 15:36:18,224 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2025-03-04 15:36:18,224 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:18,224 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:18,225 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 1, 1, 1] [2025-03-04 15:36:18,225 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-03-04 15:36:18,225 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-04 15:36:18,225 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-04 15:36:18,225 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,225 INFO L85 PathProgramCache]: Analyzing trace with hash 1852466719, now seen corresponding path program 3 times [2025-03-04 15:36:18,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:18,225 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1271401774] [2025-03-04 15:36:18,226 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-04 15:36:18,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:18,230 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 14 statements into 4 equivalence classes. [2025-03-04 15:36:18,234 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) and asserted 14 of 14 statements. [2025-03-04 15:36:18,237 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2025-03-04 15:36:18,237 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,237 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:18,238 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-04 15:36:18,245 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-04 15:36:18,245 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,245 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,246 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:18,246 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,246 INFO L85 PathProgramCache]: Analyzing trace with hash 36677, now seen corresponding path program 3 times [2025-03-04 15:36:18,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:18,246 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [139121118] [2025-03-04 15:36:18,246 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-04 15:36:18,247 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:18,248 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:18,249 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:18,249 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-04 15:36:18,249 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,249 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:18,249 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:18,250 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:18,250 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,250 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,251 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:18,251 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,251 INFO L85 PathProgramCache]: Analyzing trace with hash 801246311, now seen corresponding path program 4 times [2025-03-04 15:36:18,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:18,251 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431128965] [2025-03-04 15:36:18,251 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-04 15:36:18,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:18,253 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 17 statements into 2 equivalence classes. [2025-03-04 15:36:18,256 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 17 of 17 statements. [2025-03-04 15:36:18,256 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-04 15:36:18,256 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,256 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:18,257 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-03-04 15:36:18,260 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-03-04 15:36:18,260 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,260 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,261 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:18,292 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:18,292 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:18,292 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:18,292 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:18,292 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-04 15:36:18,292 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,292 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:18,292 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:18,292 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-03-04 15:36:18,292 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:18,292 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:18,293 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,295 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,304 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,345 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:18,345 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-04 15:36:18,346 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,346 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,349 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-04 15:36:18,350 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-04 15:36:18,352 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:18,352 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:18,369 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-03-04 15:36:18,369 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-04 15:36:18,374 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-04 15:36:18,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,377 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-04 15:36:18,378 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-04 15:36:18,378 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:18,378 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:18,394 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-04 15:36:18,394 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,396 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-04 15:36:18,396 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-04 15:36:18,397 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-04 15:36:18,397 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:18,435 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-04 15:36:18,439 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2025-03-04 15:36:18,439 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:18,439 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:18,439 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:18,439 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:18,440 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-04 15:36:18,440 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,440 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:18,440 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:18,440 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration5_Loop [2025-03-04 15:36:18,440 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:18,440 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:18,440 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,453 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,455 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:18,483 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:18,483 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-04 15:36:18,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,485 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-04 15:36:18,485 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-04 15:36:18,486 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-04 15:36:18,495 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-04 15:36:18,495 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-04 15:36:18,495 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-04 15:36:18,496 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-04 15:36:18,496 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-04 15:36:18,496 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-04 15:36:18,496 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-04 15:36:18,498 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-04 15:36:18,500 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-04 15:36:18,500 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-04 15:36:18,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:18,500 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,503 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-04 15:36:18,504 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-04 15:36:18,504 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-04 15:36:18,504 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-04 15:36:18,504 INFO L474 LassoAnalysis]: Proved termination. [2025-03-04 15:36:18,504 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-04 15:36:18,510 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-04 15:36:18,510 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-04 15:36:18,521 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,525 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-04 15:36:18,528 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-04 15:36:18,528 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,528 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,528 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,529 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,545 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:18,549 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:18,549 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,549 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,550 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,550 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,571 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-04 15:36:18,571 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-04 15:36:18,571 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-04 15:36:18,584 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-04 15:36:18,585 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-04 15:36:18,585 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-04 15:36:18,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-03-04 15:36:18,585 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-04 15:36:18,585 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,585 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-03-04 15:36:18,592 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,596 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-04 15:36:18,600 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-04 15:36:18,600 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,600 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,601 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,601 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,616 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:18,618 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:18,618 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,618 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,618 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,618 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,632 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-04 15:36:18,632 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-04 15:36:18,632 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-04 15:36:18,647 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-04 15:36:18,647 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-04 15:36:18,647 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-04 15:36:18,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 9 transitions. [2025-03-04 15:36:18,648 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 9 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-04 15:36:18,648 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,648 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-03-04 15:36:18,659 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,661 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 14 statements into 1 equivalence classes. [2025-03-04 15:36:18,663 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 14 of 14 statements. [2025-03-04 15:36:18,664 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,664 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,664 INFO L256 TraceCheckSpWp]: Trace formula consists of 32 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,664 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,686 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-03-04 15:36:18,688 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-03-04 15:36:18,688 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,688 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,688 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,688 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,700 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-04 15:36:18,701 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-04 15:36:18,701 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-04 15:36:18,719 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-04 15:36:18,719 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-04 15:36:18,719 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-04 15:36:18,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 13 transitions. [2025-03-04 15:36:18,720 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 14 letters. Loop has 3 letters. [2025-03-04 15:36:18,720 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,720 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 17 letters. Loop has 3 letters. [2025-03-04 15:36:18,720 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,720 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 14 letters. Loop has 6 letters. [2025-03-04 15:36:18,720 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:18,720 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 57 states and 69 transitions. [2025-03-04 15:36:18,721 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2025-03-04 15:36:18,722 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 57 states to 47 states and 58 transitions. [2025-03-04 15:36:18,722 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-03-04 15:36:18,722 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2025-03-04 15:36:18,722 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 58 transitions. [2025-03-04 15:36:18,722 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:18,722 INFO L218 hiAutomatonCegarLoop]: Abstraction has 47 states and 58 transitions. [2025-03-04 15:36:18,722 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 58 transitions. [2025-03-04 15:36:18,723 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2025-03-04 15:36:18,723 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-04 15:36:18,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 40 transitions. [2025-03-04 15:36:18,723 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31 states and 40 transitions. [2025-03-04 15:36:18,723 INFO L432 stractBuchiCegarLoop]: Abstraction has 31 states and 40 transitions. [2025-03-04 15:36:18,723 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-03-04 15:36:18,723 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 40 transitions. [2025-03-04 15:36:18,724 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 11 [2025-03-04 15:36:18,724 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:18,724 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:18,724 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 3, 2, 1, 1] [2025-03-04 15:36:18,724 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1] [2025-03-04 15:36:18,724 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-04 15:36:18,724 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-04 15:36:18,724 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,724 INFO L85 PathProgramCache]: Analyzing trace with hash 898106022, now seen corresponding path program 5 times [2025-03-04 15:36:18,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:18,725 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1688003030] [2025-03-04 15:36:18,725 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-04 15:36:18,725 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:18,728 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 5 equivalence classes. [2025-03-04 15:36:18,734 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 17 of 17 statements. [2025-03-04 15:36:18,734 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-03-04 15:36:18,734 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,801 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-04 15:36:18,801 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:18,801 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1688003030] [2025-03-04 15:36:18,801 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1688003030] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-04 15:36:18,801 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1561097613] [2025-03-04 15:36:18,801 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-04 15:36:18,801 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-04 15:36:18,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:18,803 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-04 15:36:18,805 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-04 15:36:18,820 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 17 statements into 5 equivalence classes. [2025-03-04 15:36:18,826 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) and asserted 17 of 17 statements. [2025-03-04 15:36:18,827 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2025-03-04 15:36:18,827 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:18,827 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-03-04 15:36:18,828 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:18,891 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Forceful destruction successful, exit code 0 [2025-03-04 15:36:18,897 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Ended with exit code 0 [2025-03-04 15:36:18,899 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-04 15:36:18,899 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-04 15:36:18,949 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-04 15:36:18,949 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1561097613] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-04 15:36:18,949 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-04 15:36:18,949 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 13 [2025-03-04 15:36:18,949 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1000101542] [2025-03-04 15:36:18,949 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-04 15:36:18,949 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-04 15:36:18,950 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:18,950 INFO L85 PathProgramCache]: Analyzing trace with hash 1092621602, now seen corresponding path program 1 times [2025-03-04 15:36:18,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:18,950 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [662071423] [2025-03-04 15:36:18,950 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:18,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:18,952 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-04 15:36:18,953 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-04 15:36:18,953 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,953 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,954 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:18,954 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-04 15:36:18,955 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-04 15:36:18,955 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:18,955 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:18,956 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:19,002 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:19,003 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:19,003 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:19,003 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:19,003 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-03-04 15:36:19,003 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:19,003 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:19,003 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:19,003 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-03-04 15:36:19,003 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:19,003 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:19,004 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:19,012 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:19,014 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:19,058 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:19,058 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-03-04 15:36:19,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:19,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:19,060 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-04 15:36:19,061 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-04 15:36:19,062 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-03-04 15:36:19,062 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:19,077 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2025-03-04 15:36:19,077 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:19,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:19,079 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-04 15:36:19,079 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-04 15:36:19,080 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-03-04 15:36:19,080 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-03-04 15:36:19,119 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-03-04 15:36:19,127 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-04 15:36:19,127 INFO L204 LassoAnalysis]: Preferences: [2025-03-04 15:36:19,127 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-03-04 15:36:19,127 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-03-04 15:36:19,127 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-03-04 15:36:19,127 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-03-04 15:36:19,127 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:19,127 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-03-04 15:36:19,127 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-03-04 15:36:19,127 INFO L132 ssoRankerPreferences]: Filename of dumped script: NarrowKonv.c_Iteration6_Loop [2025-03-04 15:36:19,127 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-03-04 15:36:19,127 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-03-04 15:36:19,128 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:19,138 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:19,143 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-03-04 15:36:19,192 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-03-04 15:36:19,192 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-03-04 15:36:19,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:19,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:19,194 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-04 15:36:19,197 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-04 15:36:19,198 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-03-04 15:36:19,208 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-03-04 15:36:19,208 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-03-04 15:36:19,208 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-03-04 15:36:19,208 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-03-04 15:36:19,208 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-03-04 15:36:19,211 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-03-04 15:36:19,211 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-03-04 15:36:19,214 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-03-04 15:36:19,217 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-03-04 15:36:19,217 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-03-04 15:36:19,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-04 15:36:19,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:19,219 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-04 15:36:19,220 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-04 15:36:19,221 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-03-04 15:36:19,221 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-03-04 15:36:19,221 INFO L474 LassoAnalysis]: Proved termination. [2025-03-04 15:36:19,221 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-04 15:36:19,227 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Ended with exit code 0 [2025-03-04 15:36:19,227 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-03-04 15:36:19,236 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:19,240 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 17 statements into 1 equivalence classes. [2025-03-04 15:36:19,245 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 17 of 17 statements. [2025-03-04 15:36:19,245 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:19,245 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:19,245 INFO L256 TraceCheckSpWp]: Trace formula consists of 41 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-03-04 15:36:19,245 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:19,270 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-03-04 15:36:19,272 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-03-04 15:36:19,272 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:19,272 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:19,273 INFO L256 TraceCheckSpWp]: Trace formula consists of 17 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-03-04 15:36:19,274 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:19,301 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-04 15:36:19,302 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-04 15:36:19,302 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-04 15:36:19,318 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-04 15:36:19,318 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-04 15:36:19,319 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-04 15:36:19,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 15 transitions. [2025-03-04 15:36:19,319 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 17 letters. Loop has 6 letters. [2025-03-04 15:36:19,319 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:19,319 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 23 letters. Loop has 6 letters. [2025-03-04 15:36:19,319 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:19,319 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 15 transitions. Stem has 17 letters. Loop has 12 letters. [2025-03-04 15:36:19,319 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-03-04 15:36:19,319 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 72 states and 96 transitions. [2025-03-04 15:36:19,320 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-04 15:36:19,321 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 72 states to 55 states and 73 transitions. [2025-03-04 15:36:19,321 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16 [2025-03-04 15:36:19,321 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19 [2025-03-04 15:36:19,321 INFO L73 IsDeterministic]: Start isDeterministic. Operand 55 states and 73 transitions. [2025-03-04 15:36:19,321 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:19,321 INFO L218 hiAutomatonCegarLoop]: Abstraction has 55 states and 73 transitions. [2025-03-04 15:36:19,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states and 73 transitions. [2025-03-04 15:36:19,324 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 47. [2025-03-04 15:36:19,324 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-04 15:36:19,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 63 transitions. [2025-03-04 15:36:19,324 INFO L240 hiAutomatonCegarLoop]: Abstraction has 47 states and 63 transitions. [2025-03-04 15:36:19,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:19,325 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-03-04 15:36:19,325 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2025-03-04 15:36:19,325 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-04 15:36:19,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:19,387 INFO L93 Difference]: Finished difference Result 89 states and 105 transitions. [2025-03-04 15:36:19,388 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 89 states and 105 transitions. [2025-03-04 15:36:19,389 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-04 15:36:19,389 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 89 states to 75 states and 91 transitions. [2025-03-04 15:36:19,389 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-03-04 15:36:19,389 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-04 15:36:19,389 INFO L73 IsDeterministic]: Start isDeterministic. Operand 75 states and 91 transitions. [2025-03-04 15:36:19,389 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:19,389 INFO L218 hiAutomatonCegarLoop]: Abstraction has 75 states and 91 transitions. [2025-03-04 15:36:19,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states and 91 transitions. [2025-03-04 15:36:19,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 71. [2025-03-04 15:36:19,394 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-04 15:36:19,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 87 transitions. [2025-03-04 15:36:19,395 INFO L240 hiAutomatonCegarLoop]: Abstraction has 71 states and 87 transitions. [2025-03-04 15:36:19,395 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-03-04 15:36:19,396 INFO L432 stractBuchiCegarLoop]: Abstraction has 71 states and 87 transitions. [2025-03-04 15:36:19,396 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-03-04 15:36:19,396 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 71 states and 87 transitions. [2025-03-04 15:36:19,397 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-04 15:36:19,397 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:19,397 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:19,399 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [12, 11, 9, 2, 1, 1] [2025-03-04 15:36:19,399 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:19,399 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-04 15:36:19,399 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-04 15:36:19,399 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:19,399 INFO L85 PathProgramCache]: Analyzing trace with hash -1814682783, now seen corresponding path program 6 times [2025-03-04 15:36:19,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:19,399 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [34073376] [2025-03-04 15:36:19,399 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-04 15:36:19,399 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:19,403 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 36 statements into 12 equivalence classes. [2025-03-04 15:36:19,413 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 36 of 36 statements. [2025-03-04 15:36:19,413 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-03-04 15:36:19,413 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:19,542 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-04 15:36:19,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:19,542 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [34073376] [2025-03-04 15:36:19,542 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [34073376] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-04 15:36:19,542 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1366572067] [2025-03-04 15:36:19,542 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-04 15:36:19,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-04 15:36:19,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:19,544 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-04 15:36:19,545 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-04 15:36:19,563 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 36 statements into 12 equivalence classes. [2025-03-04 15:36:19,572 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) and asserted 36 of 36 statements. [2025-03-04 15:36:19,572 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 12 check-sat command(s) [2025-03-04 15:36:19,572 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:19,573 INFO L256 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-03-04 15:36:19,574 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:19,684 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-04 15:36:19,684 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-04 15:36:19,802 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-04 15:36:19,802 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1366572067] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-04 15:36:19,802 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-04 15:36:19,803 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10, 10] total 25 [2025-03-04 15:36:19,803 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332955349] [2025-03-04 15:36:19,803 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-04 15:36:19,803 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-04 15:36:19,803 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:19,803 INFO L85 PathProgramCache]: Analyzing trace with hash 1154, now seen corresponding path program 3 times [2025-03-04 15:36:19,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:19,804 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1189469742] [2025-03-04 15:36:19,804 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-04 15:36:19,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:19,805 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:19,807 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:19,808 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-04 15:36:19,808 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:19,808 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:19,808 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:19,809 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:19,809 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:19,809 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:19,809 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:19,821 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:19,822 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-03-04 15:36:19,822 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=251, Invalid=349, Unknown=0, NotChecked=0, Total=600 [2025-03-04 15:36:19,823 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-04 15:36:19,857 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-04 15:36:20,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:20,009 INFO L93 Difference]: Finished difference Result 151 states and 167 transitions. [2025-03-04 15:36:20,009 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 151 states and 167 transitions. [2025-03-04 15:36:20,011 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-04 15:36:20,011 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 151 states to 123 states and 139 transitions. [2025-03-04 15:36:20,011 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-03-04 15:36:20,011 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-04 15:36:20,011 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 139 transitions. [2025-03-04 15:36:20,012 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:20,012 INFO L218 hiAutomatonCegarLoop]: Abstraction has 123 states and 139 transitions. [2025-03-04 15:36:20,012 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 139 transitions. [2025-03-04 15:36:20,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 119. [2025-03-04 15:36:20,018 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-04 15:36:20,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 135 transitions. [2025-03-04 15:36:20,019 INFO L240 hiAutomatonCegarLoop]: Abstraction has 119 states and 135 transitions. [2025-03-04 15:36:20,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2025-03-04 15:36:20,019 INFO L432 stractBuchiCegarLoop]: Abstraction has 119 states and 135 transitions. [2025-03-04 15:36:20,021 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-03-04 15:36:20,021 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 119 states and 135 transitions. [2025-03-04 15:36:20,022 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-04 15:36:20,022 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:20,022 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:20,023 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [24, 23, 21, 2, 1, 1] [2025-03-04 15:36:20,023 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:20,023 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-04 15:36:20,023 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-04 15:36:20,023 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:20,024 INFO L85 PathProgramCache]: Analyzing trace with hash -1585203743, now seen corresponding path program 7 times [2025-03-04 15:36:20,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:20,024 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [43745096] [2025-03-04 15:36:20,024 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-04 15:36:20,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:20,028 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-03-04 15:36:20,038 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-03-04 15:36:20,038 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:20,038 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:20,314 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-04 15:36:20,314 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:20,314 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [43745096] [2025-03-04 15:36:20,314 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [43745096] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-04 15:36:20,314 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1758872600] [2025-03-04 15:36:20,314 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-04 15:36:20,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-04 15:36:20,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:20,316 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-04 15:36:20,317 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-04 15:36:20,336 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-03-04 15:36:20,349 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-03-04 15:36:20,349 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:20,349 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:20,350 INFO L256 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-03-04 15:36:20,351 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:20,641 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-04 15:36:20,642 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-04 15:36:20,901 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-04 15:36:20,901 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1758872600] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-04 15:36:20,901 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-04 15:36:20,901 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18, 18] total 38 [2025-03-04 15:36:20,901 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2100218763] [2025-03-04 15:36:20,901 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-04 15:36:20,902 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-04 15:36:20,902 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:20,902 INFO L85 PathProgramCache]: Analyzing trace with hash 1154, now seen corresponding path program 4 times [2025-03-04 15:36:20,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:20,902 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958475369] [2025-03-04 15:36:20,902 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-04 15:36:20,902 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:20,905 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-04 15:36:20,907 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:20,907 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-04 15:36:20,907 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:20,907 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:20,907 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:20,907 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:20,907 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:20,907 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:20,908 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:20,923 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:20,923 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-03-04 15:36:20,924 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=545, Invalid=861, Unknown=0, NotChecked=0, Total=1406 [2025-03-04 15:36:20,924 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-04 15:36:21,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:21,088 INFO L93 Difference]: Finished difference Result 220 states and 236 transitions. [2025-03-04 15:36:21,088 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 220 states and 236 transitions. [2025-03-04 15:36:21,089 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-04 15:36:21,090 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 220 states to 186 states and 202 transitions. [2025-03-04 15:36:21,090 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 18 [2025-03-04 15:36:21,090 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 18 [2025-03-04 15:36:21,090 INFO L73 IsDeterministic]: Start isDeterministic. Operand 186 states and 202 transitions. [2025-03-04 15:36:21,091 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:21,091 INFO L218 hiAutomatonCegarLoop]: Abstraction has 186 states and 202 transitions. [2025-03-04 15:36:21,091 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states and 202 transitions. [2025-03-04 15:36:21,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 182. [2025-03-04 15:36:21,101 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-04 15:36:21,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 198 transitions. [2025-03-04 15:36:21,102 INFO L240 hiAutomatonCegarLoop]: Abstraction has 182 states and 198 transitions. [2025-03-04 15:36:21,103 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2025-03-04 15:36:21,104 INFO L432 stractBuchiCegarLoop]: Abstraction has 182 states and 198 transitions. [2025-03-04 15:36:21,104 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-03-04 15:36:21,104 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 182 states and 198 transitions. [2025-03-04 15:36:21,106 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 4 [2025-03-04 15:36:21,106 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:21,106 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:21,109 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [37, 36, 34, 2, 1, 1] [2025-03-04 15:36:21,110 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:21,110 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-04 15:36:21,110 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-04 15:36:21,110 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:21,110 INFO L85 PathProgramCache]: Analyzing trace with hash -1991698011, now seen corresponding path program 8 times [2025-03-04 15:36:21,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:21,110 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [724519222] [2025-03-04 15:36:21,110 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:21,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:21,116 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 111 statements into 2 equivalence classes. [2025-03-04 15:36:21,129 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 111 of 111 statements. [2025-03-04 15:36:21,129 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-04 15:36:21,129 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:21,129 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:21,131 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 111 statements into 1 equivalence classes. [2025-03-04 15:36:21,141 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 111 of 111 statements. [2025-03-04 15:36:21,142 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:21,142 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:21,148 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:21,149 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:21,149 INFO L85 PathProgramCache]: Analyzing trace with hash 1154, now seen corresponding path program 5 times [2025-03-04 15:36:21,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:21,149 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [200609670] [2025-03-04 15:36:21,149 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-04 15:36:21,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:21,152 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:21,153 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:21,153 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-04 15:36:21,153 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:21,153 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:21,153 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:21,154 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:21,154 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:21,154 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:21,155 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:21,155 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:21,155 INFO L85 PathProgramCache]: Analyzing trace with hash 1533625638, now seen corresponding path program 1 times [2025-03-04 15:36:21,155 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:21,155 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1217678587] [2025-03-04 15:36:21,155 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-04 15:36:21,155 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:21,159 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 113 statements into 1 equivalence classes. [2025-03-04 15:36:21,165 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 113 of 113 statements. [2025-03-04 15:36:21,165 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:21,165 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:21,232 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-04 15:36:21,232 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:21,232 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1217678587] [2025-03-04 15:36:21,232 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1217678587] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-04 15:36:21,232 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-04 15:36:21,233 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-04 15:36:21,233 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [102791297] [2025-03-04 15:36:21,233 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-04 15:36:21,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:21,244 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-04 15:36:21,244 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2025-03-04 15:36:21,245 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-04 15:36:21,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:21,256 INFO L93 Difference]: Finished difference Result 180 states and 192 transitions. [2025-03-04 15:36:21,256 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 180 states and 192 transitions. [2025-03-04 15:36:21,257 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:21,257 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 180 states to 132 states and 140 transitions. [2025-03-04 15:36:21,258 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-03-04 15:36:21,258 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-03-04 15:36:21,258 INFO L73 IsDeterministic]: Start isDeterministic. Operand 132 states and 140 transitions. [2025-03-04 15:36:21,258 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:21,258 INFO L218 hiAutomatonCegarLoop]: Abstraction has 132 states and 140 transitions. [2025-03-04 15:36:21,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states and 140 transitions. [2025-03-04 15:36:21,260 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 129. [2025-03-04 15:36:21,262 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-04 15:36:21,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 137 transitions. [2025-03-04 15:36:21,262 INFO L240 hiAutomatonCegarLoop]: Abstraction has 129 states and 137 transitions. [2025-03-04 15:36:21,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-04 15:36:21,265 INFO L432 stractBuchiCegarLoop]: Abstraction has 129 states and 137 transitions. [2025-03-04 15:36:21,265 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-03-04 15:36:21,265 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 129 states and 137 transitions. [2025-03-04 15:36:21,266 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:21,266 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:21,266 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:21,266 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [38, 37, 34, 3, 1, 1, 1] [2025-03-04 15:36:21,266 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:21,266 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-04 15:36:21,267 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-04 15:36:21,267 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:21,267 INFO L85 PathProgramCache]: Analyzing trace with hash 640422178, now seen corresponding path program 2 times [2025-03-04 15:36:21,267 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:21,267 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1155816290] [2025-03-04 15:36:21,267 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:21,267 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:21,273 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 115 statements into 2 equivalence classes. [2025-03-04 15:36:21,279 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 115 of 115 statements. [2025-03-04 15:36:21,279 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-04 15:36:21,279 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:21,372 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-04 15:36:21,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:21,373 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1155816290] [2025-03-04 15:36:21,373 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1155816290] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-04 15:36:21,373 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1425673261] [2025-03-04 15:36:21,373 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:21,373 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-04 15:36:21,373 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:21,376 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-04 15:36:21,377 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-04 15:36:21,398 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 115 statements into 2 equivalence classes. [2025-03-04 15:36:21,419 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 115 of 115 statements. [2025-03-04 15:36:21,419 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-04 15:36:21,419 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:21,421 INFO L256 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 20 conjuncts are in the unsatisfiable core [2025-03-04 15:36:21,422 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:21,781 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-04 15:36:21,781 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-04 15:36:22,091 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-04 15:36:22,092 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1425673261] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-04 15:36:22,092 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-04 15:36:22,092 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 20, 20] total 38 [2025-03-04 15:36:22,092 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1772810747] [2025-03-04 15:36:22,092 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-04 15:36:22,092 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-04 15:36:22,092 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:22,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 6 times [2025-03-04 15:36:22,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:22,092 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1840579463] [2025-03-04 15:36:22,093 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-04 15:36:22,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:22,096 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:22,096 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:22,096 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-04 15:36:22,096 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:22,096 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:22,097 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:22,097 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:22,097 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:22,097 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:22,098 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:22,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:22,111 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2025-03-04 15:36:22,112 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=516, Invalid=890, Unknown=0, NotChecked=0, Total=1406 [2025-03-04 15:36:22,112 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-04 15:36:22,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:22,717 INFO L93 Difference]: Finished difference Result 314 states and 324 transitions. [2025-03-04 15:36:22,717 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 314 states and 324 transitions. [2025-03-04 15:36:22,719 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:22,720 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 314 states to 248 states and 258 transitions. [2025-03-04 15:36:22,720 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-03-04 15:36:22,721 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-03-04 15:36:22,721 INFO L73 IsDeterministic]: Start isDeterministic. Operand 248 states and 258 transitions. [2025-03-04 15:36:22,721 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:22,721 INFO L218 hiAutomatonCegarLoop]: Abstraction has 248 states and 258 transitions. [2025-03-04 15:36:22,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states and 258 transitions. [2025-03-04 15:36:22,724 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 240. [2025-03-04 15:36:22,729 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-04 15:36:22,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 240 states to 240 states and 250 transitions. [2025-03-04 15:36:22,729 INFO L240 hiAutomatonCegarLoop]: Abstraction has 240 states and 250 transitions. [2025-03-04 15:36:22,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 75 states. [2025-03-04 15:36:22,730 INFO L432 stractBuchiCegarLoop]: Abstraction has 240 states and 250 transitions. [2025-03-04 15:36:22,731 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-03-04 15:36:22,731 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 240 states and 250 transitions. [2025-03-04 15:36:22,732 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:22,732 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:22,732 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:22,734 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [75, 74, 69, 5, 1, 1, 1] [2025-03-04 15:36:22,735 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:22,735 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-04 15:36:22,736 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-04 15:36:22,736 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:22,736 INFO L85 PathProgramCache]: Analyzing trace with hash -1174083616, now seen corresponding path program 3 times [2025-03-04 15:36:22,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:22,736 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [379748617] [2025-03-04 15:36:22,736 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-04 15:36:22,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:22,746 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 226 statements into 75 equivalence classes. [2025-03-04 15:36:22,749 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 19 of 226 statements. [2025-03-04 15:36:22,749 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-03-04 15:36:22,749 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:22,825 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-04 15:36:22,826 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:22,826 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [379748617] [2025-03-04 15:36:22,826 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [379748617] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-04 15:36:22,826 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1043635897] [2025-03-04 15:36:22,826 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-04 15:36:22,826 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-04 15:36:22,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:22,828 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-04 15:36:22,829 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-04 15:36:22,860 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 226 statements into 75 equivalence classes. [2025-03-04 15:36:22,865 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 19 of 226 statements. [2025-03-04 15:36:22,866 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-03-04 15:36:22,866 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:22,866 INFO L256 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-03-04 15:36:22,869 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:22,889 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-04 15:36:22,889 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-04 15:36:22,919 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-04 15:36:22,919 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1043635897] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-04 15:36:22,919 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-04 15:36:22,919 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 6 [2025-03-04 15:36:22,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [273388493] [2025-03-04 15:36:22,920 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-04 15:36:22,920 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-04 15:36:22,920 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:22,920 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 7 times [2025-03-04 15:36:22,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:22,920 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [168826411] [2025-03-04 15:36:22,920 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-04 15:36:22,920 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:22,922 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:22,923 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:22,923 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:22,923 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:22,923 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:22,923 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:22,924 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:22,924 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:22,924 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:22,924 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:22,936 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:22,936 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-03-04 15:36:22,936 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2025-03-04 15:36:22,936 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-04 15:36:22,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:22,967 INFO L93 Difference]: Finished difference Result 260 states and 274 transitions. [2025-03-04 15:36:22,967 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 260 states and 274 transitions. [2025-03-04 15:36:22,968 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:22,969 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 260 states to 260 states and 274 transitions. [2025-03-04 15:36:22,969 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13 [2025-03-04 15:36:22,969 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13 [2025-03-04 15:36:22,969 INFO L73 IsDeterministic]: Start isDeterministic. Operand 260 states and 274 transitions. [2025-03-04 15:36:22,970 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:22,970 INFO L218 hiAutomatonCegarLoop]: Abstraction has 260 states and 274 transitions. [2025-03-04 15:36:22,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states and 274 transitions. [2025-03-04 15:36:22,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 245. [2025-03-04 15:36:22,972 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-04 15:36:22,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 256 transitions. [2025-03-04 15:36:22,973 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 256 transitions. [2025-03-04 15:36:22,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-03-04 15:36:22,976 INFO L432 stractBuchiCegarLoop]: Abstraction has 245 states and 256 transitions. [2025-03-04 15:36:22,976 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-03-04 15:36:22,976 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 256 transitions. [2025-03-04 15:36:22,977 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:22,977 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:22,977 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:22,979 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [76, 75, 69, 6, 1, 1, 1] [2025-03-04 15:36:22,979 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:22,979 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-04 15:36:22,979 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-04 15:36:22,979 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:22,979 INFO L85 PathProgramCache]: Analyzing trace with hash 1088627683, now seen corresponding path program 4 times [2025-03-04 15:36:22,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:22,979 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [399905972] [2025-03-04 15:36:22,979 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-04 15:36:22,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:22,989 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 229 statements into 2 equivalence classes. [2025-03-04 15:36:23,000 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 228 of 229 statements. [2025-03-04 15:36:23,000 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-04 15:36:23,000 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:23,073 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-04 15:36:23,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:23,073 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [399905972] [2025-03-04 15:36:23,073 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [399905972] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-04 15:36:23,073 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-04 15:36:23,073 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-03-04 15:36:23,073 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [470685043] [2025-03-04 15:36:23,073 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-04 15:36:23,073 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-04 15:36:23,074 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:23,074 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 8 times [2025-03-04 15:36:23,074 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:23,074 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1676296085] [2025-03-04 15:36:23,074 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-04 15:36:23,074 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:23,075 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:23,075 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:23,075 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-04 15:36:23,075 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:23,075 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:23,076 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:23,076 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:23,076 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:23,076 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:23,076 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:23,089 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:23,089 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-03-04 15:36:23,089 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-03-04 15:36:23,089 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-04 15:36:23,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:23,103 INFO L93 Difference]: Finished difference Result 245 states and 255 transitions. [2025-03-04 15:36:23,103 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 245 states and 255 transitions. [2025-03-04 15:36:23,105 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:23,105 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 245 states to 245 states and 255 transitions. [2025-03-04 15:36:23,105 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2025-03-04 15:36:23,106 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2025-03-04 15:36:23,106 INFO L73 IsDeterministic]: Start isDeterministic. Operand 245 states and 255 transitions. [2025-03-04 15:36:23,106 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:23,106 INFO L218 hiAutomatonCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-03-04 15:36:23,106 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 245 states and 255 transitions. [2025-03-04 15:36:23,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 245 to 245. [2025-03-04 15:36:23,108 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-04 15:36:23,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 255 transitions. [2025-03-04 15:36:23,109 INFO L240 hiAutomatonCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-03-04 15:36:23,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-03-04 15:36:23,109 INFO L432 stractBuchiCegarLoop]: Abstraction has 245 states and 255 transitions. [2025-03-04 15:36:23,109 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-03-04 15:36:23,109 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 245 states and 255 transitions. [2025-03-04 15:36:23,110 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:23,110 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:23,110 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:23,112 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [77, 76, 70, 6, 1, 1, 1] [2025-03-04 15:36:23,112 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:23,112 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-04 15:36:23,112 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-04 15:36:23,113 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:23,113 INFO L85 PathProgramCache]: Analyzing trace with hash 37854623, now seen corresponding path program 5 times [2025-03-04 15:36:23,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:23,113 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396839481] [2025-03-04 15:36:23,113 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-04 15:36:23,113 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:23,123 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 77 equivalence classes. [2025-03-04 15:36:23,148 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 232 statements. [2025-03-04 15:36:23,148 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-03-04 15:36:23,148 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:24,026 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-04 15:36:24,026 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-04 15:36:24,026 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [396839481] [2025-03-04 15:36:24,026 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [396839481] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-04 15:36:24,026 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [169103643] [2025-03-04 15:36:24,027 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-04 15:36:24,027 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-04 15:36:24,027 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-04 15:36:24,029 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-04 15:36:24,030 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-04 15:36:24,052 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 77 equivalence classes. [2025-03-04 15:36:24,102 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) and asserted 144 of 232 statements. [2025-03-04 15:36:24,102 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 48 check-sat command(s) [2025-03-04 15:36:24,103 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-04 15:36:24,104 INFO L256 TraceCheckSpWp]: Trace formula consists of 299 conjuncts, 39 conjuncts are in the unsatisfiable core [2025-03-04 15:36:24,106 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-04 15:36:24,634 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-04 15:36:24,634 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-04 15:36:25,216 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-04 15:36:25,216 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [169103643] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-04 15:36:25,216 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-04 15:36:25,216 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 39, 39] total 58 [2025-03-04 15:36:25,216 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [976314157] [2025-03-04 15:36:25,216 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-04 15:36:25,217 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-03-04 15:36:25,217 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:25,217 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 9 times [2025-03-04 15:36:25,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:25,217 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [310726137] [2025-03-04 15:36:25,217 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-04 15:36:25,218 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:25,220 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:25,220 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:25,220 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-04 15:36:25,220 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:25,220 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:25,221 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:25,221 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:25,221 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:25,221 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:25,222 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:25,231 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-04 15:36:25,232 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 58 interpolants. [2025-03-04 15:36:25,233 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=726, Invalid=2580, Unknown=0, NotChecked=0, Total=3306 [2025-03-04 15:36:25,233 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-04 15:36:28,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-04 15:36:28,867 INFO L93 Difference]: Finished difference Result 1210 states and 1256 transitions. [2025-03-04 15:36:28,867 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1210 states and 1256 transitions. [2025-03-04 15:36:28,873 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:28,876 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1210 states to 936 states and 982 transitions. [2025-03-04 15:36:28,876 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29 [2025-03-04 15:36:28,876 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29 [2025-03-04 15:36:28,876 INFO L73 IsDeterministic]: Start isDeterministic. Operand 936 states and 982 transitions. [2025-03-04 15:36:28,876 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-03-04 15:36:28,876 INFO L218 hiAutomatonCegarLoop]: Abstraction has 936 states and 982 transitions. [2025-03-04 15:36:28,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 936 states and 982 transitions. [2025-03-04 15:36:28,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 936 to 647. [2025-03-04 15:36:28,905 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-04 15:36:28,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 647 states to 647 states and 671 transitions. [2025-03-04 15:36:28,907 INFO L240 hiAutomatonCegarLoop]: Abstraction has 647 states and 671 transitions. [2025-03-04 15:36:28,907 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 197 states. [2025-03-04 15:36:28,908 INFO L432 stractBuchiCegarLoop]: Abstraction has 647 states and 671 transitions. [2025-03-04 15:36:28,908 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-03-04 15:36:28,908 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 647 states and 671 transitions. [2025-03-04 15:36:28,910 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 2 [2025-03-04 15:36:28,910 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-04 15:36:28,910 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-04 15:36:28,916 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [211, 210, 190, 20, 1, 1, 1] [2025-03-04 15:36:28,916 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-03-04 15:36:28,916 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-04 15:36:28,917 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-04 15:36:28,917 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:28,917 INFO L85 PathProgramCache]: Analyzing trace with hash -2049355905, now seen corresponding path program 6 times [2025-03-04 15:36:28,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:28,917 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1800080223] [2025-03-04 15:36:28,917 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-04 15:36:28,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:28,933 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 634 statements into 211 equivalence classes. [2025-03-04 15:36:29,149 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) and asserted 634 of 634 statements. [2025-03-04 15:36:29,149 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 211 check-sat command(s) [2025-03-04 15:36:29,149 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:29,149 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:29,159 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-03-04 15:36:29,238 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-03-04 15:36:29,238 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:29,238 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:29,269 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:29,269 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:29,269 INFO L85 PathProgramCache]: Analyzing trace with hash 1184, now seen corresponding path program 10 times [2025-03-04 15:36:29,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:29,270 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1675726134] [2025-03-04 15:36:29,270 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-04 15:36:29,270 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:29,272 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-04 15:36:29,272 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:29,272 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-04 15:36:29,272 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:29,272 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:29,273 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-04 15:36:29,273 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-04 15:36:29,273 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:29,273 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:29,273 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:36:29,274 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-04 15:36:29,274 INFO L85 PathProgramCache]: Analyzing trace with hash 1958964382, now seen corresponding path program 7 times [2025-03-04 15:36:29,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-04 15:36:29,274 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [800449135] [2025-03-04 15:36:29,274 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-04 15:36:29,274 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-04 15:36:29,287 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 636 statements into 1 equivalence classes. [2025-03-04 15:36:29,362 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 636 of 636 statements. [2025-03-04 15:36:29,363 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:29,363 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:29,363 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:36:29,375 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 636 statements into 1 equivalence classes. [2025-03-04 15:36:29,454 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 636 of 636 statements. [2025-03-04 15:36:29,454 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:36:29,454 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:36:29,471 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-04 15:37:01,088 WARN L286 SmtUtils]: Spent 31.48s 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-04 15:37:02,606 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-03-04 15:37:02,666 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-03-04 15:37:02,666 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:37:02,666 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:37:02,666 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-04 15:37:02,684 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 634 statements into 1 equivalence classes. [2025-03-04 15:37:02,738 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 634 of 634 statements. [2025-03-04 15:37:02,738 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-04 15:37:02,738 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-04 15:37:02,913 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 04.03 03:37:02 BoogieIcfgContainer [2025-03-04 15:37:02,913 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2025-03-04 15:37:02,914 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-03-04 15:37:02,914 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-03-04 15:37:02,914 INFO L274 PluginConnector]: Witness Printer initialized [2025-03-04 15:37:02,914 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 04.03 03:36:16" (3/4) ... [2025-03-04 15:37:02,916 INFO L143 WitnessPrinter]: Generating witness for non-termination counterexample [2025-03-04 15:37:03,009 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-03-04 15:37:03,010 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-03-04 15:37:03,010 INFO L158 Benchmark]: Toolchain (without parser) took 46691.21ms. Allocated memory was 167.8MB in the beginning and 478.2MB in the end (delta: 310.4MB). Free memory was 124.9MB in the beginning and 262.6MB in the end (delta: -137.7MB). Peak memory consumption was 171.6MB. Max. memory is 16.1GB. [2025-03-04 15:37:03,010 INFO L158 Benchmark]: CDTParser took 0.32ms. Allocated memory is still 201.3MB. Free memory is still 115.5MB. There was no memory consumed. Max. memory is 16.1GB. [2025-03-04 15:37:03,011 INFO L158 Benchmark]: CACSL2BoogieTranslator took 130.20ms. Allocated memory is still 167.8MB. Free memory was 124.9MB in the beginning and 115.1MB in the end (delta: 9.7MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-04 15:37:03,011 INFO L158 Benchmark]: Boogie Procedure Inliner took 17.47ms. Allocated memory is still 167.8MB. Free memory was 115.1MB in the beginning and 114.3MB in the end (delta: 775.0kB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-04 15:37:03,011 INFO L158 Benchmark]: Boogie Preprocessor took 12.65ms. Allocated memory is still 167.8MB. Free memory was 114.3MB in the beginning and 113.6MB in the end (delta: 749.3kB). There was no memory consumed. Max. memory is 16.1GB. [2025-03-04 15:37:03,012 INFO L158 Benchmark]: IcfgBuilder took 150.74ms. Allocated memory is still 167.8MB. Free memory was 113.6MB in the beginning and 103.6MB in the end (delta: 10.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-03-04 15:37:03,014 INFO L158 Benchmark]: BuchiAutomizer took 46272.12ms. Allocated memory was 167.8MB in the beginning and 478.2MB in the end (delta: 310.4MB). Free memory was 103.6MB in the beginning and 283.6MB in the end (delta: -180.0MB). Peak memory consumption was 129.6MB. Max. memory is 16.1GB. [2025-03-04 15:37:03,014 INFO L158 Benchmark]: Witness Printer took 95.95ms. Allocated memory is still 478.2MB. Free memory was 283.6MB in the beginning and 262.6MB in the end (delta: 21.0MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-03-04 15:37:03,016 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 115.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 130.20ms. Allocated memory is still 167.8MB. Free memory was 124.9MB in the beginning and 115.1MB in the end (delta: 9.7MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 17.47ms. Allocated memory is still 167.8MB. Free memory was 115.1MB in the beginning and 114.3MB in the end (delta: 775.0kB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 12.65ms. Allocated memory is still 167.8MB. Free memory was 114.3MB in the beginning and 113.6MB in the end (delta: 749.3kB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 150.74ms. Allocated memory is still 167.8MB. Free memory was 113.6MB in the beginning and 103.6MB in the end (delta: 10.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * BuchiAutomizer took 46272.12ms. Allocated memory was 167.8MB in the beginning and 478.2MB in the end (delta: 310.4MB). Free memory was 103.6MB in the beginning and 283.6MB in the end (delta: -180.0MB). Peak memory consumption was 129.6MB. Max. memory is 16.1GB. * Witness Printer took 95.95ms. Allocated memory is still 478.2MB. Free memory was 283.6MB in the beginning and 262.6MB in the end (delta: 21.0MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 14 terminating modules (10 trivial, 3 deterministic, 1 nondeterministic) and one nonterminating remainder module.One deterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. One deterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. One deterministic module has affine ranking function range and consists of 4 locations. One nondeterministic module has affine ranking function (((long) -1 * i) + range) and consists of 3 locations. 10 modules have a trivial ranking function, the largest among these consists of 58 locations. The remainder module has 647 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 46.0s and 14 iterations. TraceHistogramMax:211. Analysis of lassos took 40.6s. Construction of modules took 0.8s. Büchi inclusion checks took 4.4s. 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.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 111 mSDsluCounter, 107 SdHoareTripleChecker+Invalid, 0.9s 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: 29ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 5 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 4 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.3s 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-04 15:37:03,058 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-04 15:37:03,259 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-04 15:37:03,459 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-04 15:37:03,659 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-04 15:37:03,860 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2025-03-04 15:37:04,059 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-04 15:37:04,259 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-04 15:37:04,464 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE(TERM)