./Ultimate.py --spec ../../sv-benchmarks/c/properties/termination.prp --file ../../sv-benchmarks/c/termination-restricted-15/Narrowing_false-termination_true-no-overflow.c --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/termination-restricted-15/Narrowing_false-termination_true-no-overflow.c -s /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --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 30c1dcaa423edd95f50127b236ab2e09f14129f4 .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE(TERM) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 11:55:06,604 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:55:06,605 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:55:06,611 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:55:06,611 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:55:06,612 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:55:06,613 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:55:06,614 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:55:06,615 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:55:06,616 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:55:06,616 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:55:06,617 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:55:06,617 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:55:06,618 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:55:06,619 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:55:06,619 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:55:06,620 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:55:06,621 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:55:06,623 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:55:06,624 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:55:06,625 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:55:06,626 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:55:06,627 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:55:06,628 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:55:06,628 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:55:06,629 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:55:06,629 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:55:06,630 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:55:06,630 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:55:06,631 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:55:06,631 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:55:06,632 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:55:06,632 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:55:06,632 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:55:06,633 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:55:06,633 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:55:06,634 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/config/svcomp-Termination-64bit-Automizer_Default.epf [2018-11-23 11:55:06,644 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:55:06,645 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:55:06,646 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:55:06,646 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:55:06,646 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:55:06,646 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2018-11-23 11:55:06,646 INFO L133 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2018-11-23 11:55:06,646 INFO L133 SettingsManager]: * Use old map elimination=false [2018-11-23 11:55:06,646 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2018-11-23 11:55:06,647 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2018-11-23 11:55:06,647 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2018-11-23 11:55:06,647 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:55:06,647 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-11-23 11:55:06,647 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 11:55:06,647 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:55:06,647 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2018-11-23 11:55:06,648 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2018-11-23 11:55:06,648 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2018-11-23 11:55:06,648 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:55:06,648 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2018-11-23 11:55:06,648 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:55:06,648 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2018-11-23 11:55:06,648 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:55:06,649 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:55:06,649 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2018-11-23 11:55:06,649 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:55:06,649 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 11:55:06,649 INFO L133 SettingsManager]: * Dump automata to the following directory=/home/matthias/ultimate/dump/auto [2018-11-23 11:55:06,650 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-11-23 11:55:06,650 INFO L133 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 -> /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml 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 -> 30c1dcaa423edd95f50127b236ab2e09f14129f4 [2018-11-23 11:55:06,676 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:55:06,686 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:55:06,689 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:55:06,690 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:55:06,691 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:55:06,691 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/../../sv-benchmarks/c/termination-restricted-15/Narrowing_false-termination_true-no-overflow.c [2018-11-23 11:55:06,739 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/data/a1b92d802/7a407d208abf4e8eb3ffdffc58075bd3/FLAG0fcb92557 [2018-11-23 11:55:07,077 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:55:07,078 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/sv-benchmarks/c/termination-restricted-15/Narrowing_false-termination_true-no-overflow.c [2018-11-23 11:55:07,083 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/data/a1b92d802/7a407d208abf4e8eb3ffdffc58075bd3/FLAG0fcb92557 [2018-11-23 11:55:07,507 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/data/a1b92d802/7a407d208abf4e8eb3ffdffc58075bd3 [2018-11-23 11:55:07,510 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:55:07,511 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:55:07,512 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:55:07,512 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:55:07,515 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:55:07,515 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,517 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7cc0002c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07, skipping insertion in model container [2018-11-23 11:55:07,517 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,523 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:55:07,534 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:55:07,656 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:55:07,659 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:55:07,669 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:55:07,677 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:55:07,677 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07 WrapperNode [2018-11-23 11:55:07,677 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:55:07,678 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:55:07,678 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:55:07,678 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:55:07,683 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,686 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,696 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:55:07,697 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:55:07,697 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:55:07,697 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:55:07,702 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,703 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,703 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,703 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,704 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,707 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,708 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... [2018-11-23 11:55:07,708 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:55:07,709 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:55:07,709 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:55:07,709 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:55:07,710 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:07,779 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:55:07,780 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:55:07,876 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:55:07,876 INFO L280 CfgBuilder]: Removed 5 assue(true) statements. [2018-11-23 11:55:07,876 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:55:07 BoogieIcfgContainer [2018-11-23 11:55:07,877 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:55:07,877 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2018-11-23 11:55:07,877 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2018-11-23 11:55:07,880 INFO L276 PluginConnector]: BuchiAutomizer initialized [2018-11-23 11:55:07,881 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 11:55:07,881 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 23.11 11:55:07" (1/3) ... [2018-11-23 11:55:07,882 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@e342563 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 11:55:07, skipping insertion in model container [2018-11-23 11:55:07,882 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 11:55:07,882 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:55:07" (2/3) ... [2018-11-23 11:55:07,883 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@e342563 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 11:55:07, skipping insertion in model container [2018-11-23 11:55:07,883 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 11:55:07,883 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:55:07" (3/3) ... [2018-11-23 11:55:07,884 INFO L375 chiAutomizerObserver]: Analyzing ICFG Narrowing_false-termination_true-no-overflow.c [2018-11-23 11:55:07,931 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:55:07,932 INFO L374 BuchiCegarLoop]: Interprodecural is true [2018-11-23 11:55:07,932 INFO L375 BuchiCegarLoop]: Hoare is false [2018-11-23 11:55:07,932 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2018-11-23 11:55:07,932 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:55:07,932 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:55:07,932 INFO L379 BuchiCegarLoop]: Difference is false [2018-11-23 11:55:07,932 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:55:07,932 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2018-11-23 11:55:07,945 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 11 states. [2018-11-23 11:55:07,962 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 6 [2018-11-23 11:55:07,963 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:07,963 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:07,968 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1] [2018-11-23 11:55:07,968 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:07,969 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2018-11-23 11:55:07,969 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 11 states. [2018-11-23 11:55:07,970 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 6 [2018-11-23 11:55:07,970 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:07,970 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:07,970 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1] [2018-11-23 11:55:07,970 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:07,977 INFO L794 eck$LassoCheckResult]: Stem: 4#ULTIMATE.startENTRYtrue havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 13#L26-1true [2018-11-23 11:55:07,977 INFO L796 eck$LassoCheckResult]: Loop: 13#L26-1true assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12#L14true assume 0 == main_~i~0;main_~up~0 := 1; 8#L14-2true assume main_~i~0 == main_~range~0;main_~up~0 := 0; 5#L17-1true assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 11#L20-1true assume !(0 == main_~up~0); 7#L23-1true assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13#L26-1true [2018-11-23 11:55:07,982 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:07,982 INFO L82 PathProgramCache]: Analyzing trace with hash 32, now seen corresponding path program 1 times [2018-11-23 11:55:07,984 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:07,985 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,030 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,030 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,030 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,055 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,055 INFO L82 PathProgramCache]: Analyzing trace with hash 1186392078, now seen corresponding path program 1 times [2018-11-23 11:55:08,055 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,055 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,056 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,056 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,057 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:08,098 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:08,100 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:55:08,100 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:55:08,103 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 11:55:08,112 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 11:55:08,112 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 11:55:08,114 INFO L87 Difference]: Start difference. First operand 11 states. Second operand 3 states. [2018-11-23 11:55:08,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:08,156 INFO L93 Difference]: Finished difference Result 21 states and 29 transitions. [2018-11-23 11:55:08,157 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:55:08,158 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 21 states and 29 transitions. [2018-11-23 11:55:08,161 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2018-11-23 11:55:08,164 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 21 states to 13 states and 21 transitions. [2018-11-23 11:55:08,165 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13 [2018-11-23 11:55:08,165 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13 [2018-11-23 11:55:08,166 INFO L73 IsDeterministic]: Start isDeterministic. Operand 13 states and 21 transitions. [2018-11-23 11:55:08,166 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 11:55:08,166 INFO L705 BuchiCegarLoop]: Abstraction has 13 states and 21 transitions. [2018-11-23 11:55:08,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13 states and 21 transitions. [2018-11-23 11:55:08,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13 to 13. [2018-11-23 11:55:08,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 11:55:08,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 21 transitions. [2018-11-23 11:55:08,185 INFO L728 BuchiCegarLoop]: Abstraction has 13 states and 21 transitions. [2018-11-23 11:55:08,185 INFO L608 BuchiCegarLoop]: Abstraction has 13 states and 21 transitions. [2018-11-23 11:55:08,186 INFO L442 BuchiCegarLoop]: ======== Iteration 2============ [2018-11-23 11:55:08,186 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 13 states and 21 transitions. [2018-11-23 11:55:08,186 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2018-11-23 11:55:08,186 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:08,186 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:08,187 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1] [2018-11-23 11:55:08,187 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:08,187 INFO L794 eck$LassoCheckResult]: Stem: 41#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 42#L26-1 [2018-11-23 11:55:08,187 INFO L796 eck$LassoCheckResult]: Loop: 42#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 47#L14 assume 0 == main_~i~0;main_~up~0 := 1; 48#L14-2 assume !(main_~i~0 == main_~range~0); 49#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 50#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 45#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 42#L26-1 [2018-11-23 11:55:08,187 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,187 INFO L82 PathProgramCache]: Analyzing trace with hash 32, now seen corresponding path program 2 times [2018-11-23 11:55:08,187 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,188 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,189 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,189 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,189 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,193 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,193 INFO L82 PathProgramCache]: Analyzing trace with hash 1186451598, now seen corresponding path program 1 times [2018-11-23 11:55:08,193 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,193 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,194 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,195 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:08,195 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:08,217 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:08,217 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:55:08,217 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:55:08,217 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 11:55:08,217 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:55:08,217 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:55:08,218 INFO L87 Difference]: Start difference. First operand 13 states and 21 transitions. cyclomatic complexity: 9 Second operand 4 states. [2018-11-23 11:55:08,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:08,234 INFO L93 Difference]: Finished difference Result 13 states and 19 transitions. [2018-11-23 11:55:08,235 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 11:55:08,235 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 13 states and 19 transitions. [2018-11-23 11:55:08,236 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2018-11-23 11:55:08,236 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 13 states to 13 states and 19 transitions. [2018-11-23 11:55:08,236 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13 [2018-11-23 11:55:08,236 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13 [2018-11-23 11:55:08,237 INFO L73 IsDeterministic]: Start isDeterministic. Operand 13 states and 19 transitions. [2018-11-23 11:55:08,237 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 11:55:08,237 INFO L705 BuchiCegarLoop]: Abstraction has 13 states and 19 transitions. [2018-11-23 11:55:08,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13 states and 19 transitions. [2018-11-23 11:55:08,238 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13 to 13. [2018-11-23 11:55:08,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 11:55:08,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 19 transitions. [2018-11-23 11:55:08,239 INFO L728 BuchiCegarLoop]: Abstraction has 13 states and 19 transitions. [2018-11-23 11:55:08,239 INFO L608 BuchiCegarLoop]: Abstraction has 13 states and 19 transitions. [2018-11-23 11:55:08,239 INFO L442 BuchiCegarLoop]: ======== Iteration 3============ [2018-11-23 11:55:08,239 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 13 states and 19 transitions. [2018-11-23 11:55:08,240 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 12 [2018-11-23 11:55:08,240 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:08,240 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:08,240 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1] [2018-11-23 11:55:08,240 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:08,240 INFO L794 eck$LassoCheckResult]: Stem: 76#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 77#L26-1 [2018-11-23 11:55:08,240 INFO L796 eck$LassoCheckResult]: Loop: 77#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 80#L14 assume 0 == main_~i~0;main_~up~0 := 1; 81#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 74#L17-1 assume !(1 == main_~up~0); 75#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 78#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 77#L26-1 [2018-11-23 11:55:08,241 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,241 INFO L82 PathProgramCache]: Analyzing trace with hash 32, now seen corresponding path program 3 times [2018-11-23 11:55:08,241 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,241 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,242 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,246 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,246 INFO L82 PathProgramCache]: Analyzing trace with hash 1186393938, now seen corresponding path program 1 times [2018-11-23 11:55:08,246 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,246 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,247 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,247 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:08,248 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:08,263 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:08,263 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:55:08,263 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:55:08,264 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 11:55:08,264 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:55:08,264 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:55:08,264 INFO L87 Difference]: Start difference. First operand 13 states and 19 transitions. cyclomatic complexity: 7 Second operand 4 states. [2018-11-23 11:55:08,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:08,332 INFO L93 Difference]: Finished difference Result 31 states and 43 transitions. [2018-11-23 11:55:08,332 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:55:08,332 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31 states and 43 transitions. [2018-11-23 11:55:08,333 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 30 [2018-11-23 11:55:08,339 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31 states to 31 states and 43 transitions. [2018-11-23 11:55:08,339 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31 [2018-11-23 11:55:08,339 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31 [2018-11-23 11:55:08,339 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 43 transitions. [2018-11-23 11:55:08,340 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 11:55:08,340 INFO L705 BuchiCegarLoop]: Abstraction has 31 states and 43 transitions. [2018-11-23 11:55:08,340 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 43 transitions. [2018-11-23 11:55:08,342 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 24. [2018-11-23 11:55:08,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 11:55:08,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 33 transitions. [2018-11-23 11:55:08,343 INFO L728 BuchiCegarLoop]: Abstraction has 24 states and 33 transitions. [2018-11-23 11:55:08,343 INFO L608 BuchiCegarLoop]: Abstraction has 24 states and 33 transitions. [2018-11-23 11:55:08,343 INFO L442 BuchiCegarLoop]: ======== Iteration 4============ [2018-11-23 11:55:08,343 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 24 states and 33 transitions. [2018-11-23 11:55:08,347 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2018-11-23 11:55:08,347 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:08,347 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:08,348 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1] [2018-11-23 11:55:08,348 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:08,348 INFO L794 eck$LassoCheckResult]: Stem: 125#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 126#L26-1 [2018-11-23 11:55:08,348 INFO L796 eck$LassoCheckResult]: Loop: 126#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 142#L14 assume !(0 == main_~i~0); 131#L14-2 assume !(main_~i~0 == main_~range~0); 127#L17-1 assume !(1 == main_~up~0); 128#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 143#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 126#L26-1 [2018-11-23 11:55:08,348 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,348 INFO L82 PathProgramCache]: Analyzing trace with hash 32, now seen corresponding path program 4 times [2018-11-23 11:55:08,348 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,349 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,350 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,350 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,350 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,353 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,353 INFO L82 PathProgramCache]: Analyzing trace with hash 1188300564, now seen corresponding path program 1 times [2018-11-23 11:55:08,353 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,353 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,354 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,354 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:08,354 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,361 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,361 INFO L82 PathProgramCache]: Analyzing trace with hash -1363856397, now seen corresponding path program 1 times [2018-11-23 11:55:08,361 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,361 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,362 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,362 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,362 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,439 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:08,440 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:08,440 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:08,440 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:08,440 INFO L127 ssoRankerPreferences]: Use exernal solver: true [2018-11-23 11:55:08,440 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:08,440 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:08,440 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:08,441 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration4_Loop [2018-11-23 11:55:08,441 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:08,441 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:08,454 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,460 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,474 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,476 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,542 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:08,542 INFO L412 LassoAnalysis]: Checking for nontermination... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:08,546 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:08,546 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:08,552 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2018-11-23 11:55:08,552 INFO L448 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~up~0=0} Honda state: {ULTIMATE.start_main_~up~0=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 3 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:08,576 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:08,576 INFO L163 nArgumentSynthesizer]: Using integer mode. No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 4 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:08,594 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2018-11-23 11:55:08,594 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:08,612 INFO L452 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2018-11-23 11:55:08,614 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:08,614 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:08,614 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:08,614 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:08,614 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-23 11:55:08,614 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:08,614 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:08,614 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:08,614 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration4_Loop [2018-11-23 11:55:08,614 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:08,614 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:08,615 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,617 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,630 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,632 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,710 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:08,714 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-23 11:55:08,716 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:08,719 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:08,720 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:08,720 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:08,721 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:08,721 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:08,723 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-23 11:55:08,723 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:08,725 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-23 11:55:08,725 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:08,726 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:08,726 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:08,726 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:08,726 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:08,726 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:08,727 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-23 11:55:08,727 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:08,730 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-23 11:55:08,733 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2018-11-23 11:55:08,734 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-23 11:55:08,735 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-23 11:55:08,735 INFO L440 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2018-11-23 11:55:08,735 INFO L518 LassoAnalysis]: Proved termination. [2018-11-23 11:55:08,736 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~0) = 1*ULTIMATE.start_main_~i~0 Supporting invariants [] [2018-11-23 11:55:08,737 INFO L297 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2018-11-23 11:55:08,786 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:08,792 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:08,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:08,798 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:08,818 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:08,820 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:08,821 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 24 states and 33 transitions. cyclomatic complexity: 10 Second operand 4 states. [2018-11-23 11:55:08,862 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 24 states and 33 transitions. cyclomatic complexity: 10. Second operand 4 states. Result 54 states and 75 transitions. Complement of second has 7 states. [2018-11-23 11:55:08,863 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:08,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:08,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 11 transitions. [2018-11-23 11:55:08,864 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 11 transitions. Stem has 1 letters. Loop has 6 letters. [2018-11-23 11:55:08,865 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:08,865 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 11 transitions. Stem has 7 letters. Loop has 6 letters. [2018-11-23 11:55:08,865 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:08,865 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 11 transitions. Stem has 1 letters. Loop has 12 letters. [2018-11-23 11:55:08,866 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:08,866 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 54 states and 75 transitions. [2018-11-23 11:55:08,867 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2018-11-23 11:55:08,868 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 54 states to 47 states and 64 transitions. [2018-11-23 11:55:08,868 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31 [2018-11-23 11:55:08,868 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 34 [2018-11-23 11:55:08,868 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 64 transitions. [2018-11-23 11:55:08,869 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:08,869 INFO L705 BuchiCegarLoop]: Abstraction has 47 states and 64 transitions. [2018-11-23 11:55:08,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 64 transitions. [2018-11-23 11:55:08,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 41. [2018-11-23 11:55:08,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 11:55:08,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 57 transitions. [2018-11-23 11:55:08,871 INFO L728 BuchiCegarLoop]: Abstraction has 41 states and 57 transitions. [2018-11-23 11:55:08,871 INFO L608 BuchiCegarLoop]: Abstraction has 41 states and 57 transitions. [2018-11-23 11:55:08,871 INFO L442 BuchiCegarLoop]: ======== Iteration 5============ [2018-11-23 11:55:08,872 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 41 states and 57 transitions. [2018-11-23 11:55:08,872 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2018-11-23 11:55:08,872 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:08,872 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:08,873 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2018-11-23 11:55:08,873 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:08,873 INFO L794 eck$LassoCheckResult]: Stem: 252#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 253#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 270#L14 assume 0 == main_~i~0;main_~up~0 := 1; 278#L14-2 assume !(main_~i~0 == main_~range~0); 285#L17-1 [2018-11-23 11:55:08,873 INFO L796 eck$LassoCheckResult]: Loop: 285#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 272#L20-1 assume !(0 == main_~up~0); 273#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 284#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 288#L14 assume 0 == main_~i~0;main_~up~0 := 1; 286#L14-2 assume !(main_~i~0 == main_~range~0); 285#L17-1 [2018-11-23 11:55:08,873 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,873 INFO L82 PathProgramCache]: Analyzing trace with hash 963346, now seen corresponding path program 1 times [2018-11-23 11:55:08,874 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,874 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,875 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,875 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,875 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,879 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,879 INFO L82 PathProgramCache]: Analyzing trace with hash 1634880532, now seen corresponding path program 1 times [2018-11-23 11:55:08,880 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,880 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,881 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,881 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,881 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:08,886 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:08,886 INFO L82 PathProgramCache]: Analyzing trace with hash 498642533, now seen corresponding path program 1 times [2018-11-23 11:55:08,887 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:08,887 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:08,888 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,888 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:08,888 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:08,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:08,911 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:08,911 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:55:08,911 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:55:08,952 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:08,952 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:08,952 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:08,952 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:08,953 INFO L127 ssoRankerPreferences]: Use exernal solver: true [2018-11-23 11:55:08,953 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:08,953 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:08,953 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:08,953 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration5_Loop [2018-11-23 11:55:08,953 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:08,953 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:08,954 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,957 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,966 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:08,969 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,118 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:09,118 INFO L412 LassoAnalysis]: Checking for nontermination... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 5 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,121 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:09,121 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:09,136 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2018-11-23 11:55:09,137 INFO L448 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: [] No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 6 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,140 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:09,140 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:09,157 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2018-11-23 11:55:09,158 INFO L448 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: [] No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 7 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,163 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:09,163 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:09,166 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2018-11-23 11:55:09,166 INFO L448 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~up~0=1} Honda state: {ULTIMATE.start_main_~up~0=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 8 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,182 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:09,182 INFO L163 nArgumentSynthesizer]: Using integer mode. No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 9 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,210 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2018-11-23 11:55:09,210 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:09,347 INFO L452 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2018-11-23 11:55:09,349 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:09,349 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:09,349 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:09,350 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:09,350 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-23 11:55:09,350 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,350 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:09,350 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:09,350 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration5_Loop [2018-11-23 11:55:09,350 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:09,350 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:09,351 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,353 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,357 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,361 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,451 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:09,452 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-23 11:55:09,452 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:09,452 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:09,452 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:09,453 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:09,453 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:09,454 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-23 11:55:09,455 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-23 11:55:09,457 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-23 11:55:09,457 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:09,458 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:09,458 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:09,458 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:09,458 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:09,458 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:09,458 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-23 11:55:09,458 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:09,461 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-23 11:55:09,461 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:09,462 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:09,462 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:09,462 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:09,462 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:09,463 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-23 11:55:09,464 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-23 11:55:09,467 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-23 11:55:09,468 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:09,468 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:09,468 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:09,469 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:09,469 INFO L206 nArgumentSynthesizer]: 2 loop disjuncts [2018-11-23 11:55:09,469 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:09,470 INFO L402 nArgumentSynthesizer]: We have 4 Motzkin's Theorem applications. [2018-11-23 11:55:09,470 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:09,477 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-23 11:55:09,482 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2018-11-23 11:55:09,482 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 2 variables to zero. [2018-11-23 11:55:09,482 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-23 11:55:09,483 INFO L440 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2018-11-23 11:55:09,483 INFO L518 LassoAnalysis]: Proved termination. [2018-11-23 11:55:09,483 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~0) = -1*ULTIMATE.start_main_~i~0 Supporting invariants [] [2018-11-23 11:55:09,483 INFO L297 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2018-11-23 11:55:09,495 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:09,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:09,498 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:09,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:09,510 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:09,528 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:09,529 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:09,529 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 41 states and 57 transitions. cyclomatic complexity: 18 Second operand 4 states. [2018-11-23 11:55:09,564 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 41 states and 57 transitions. cyclomatic complexity: 18. Second operand 4 states. Result 114 states and 153 transitions. Complement of second has 7 states. [2018-11-23 11:55:09,565 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:09,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:09,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 32 transitions. [2018-11-23 11:55:09,566 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 4 letters. Loop has 6 letters. [2018-11-23 11:55:09,567 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:09,567 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 10 letters. Loop has 6 letters. [2018-11-23 11:55:09,567 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:09,567 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 4 letters. Loop has 12 letters. [2018-11-23 11:55:09,567 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:09,567 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 114 states and 153 transitions. [2018-11-23 11:55:09,569 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 42 [2018-11-23 11:55:09,570 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 114 states to 108 states and 144 transitions. [2018-11-23 11:55:09,570 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 62 [2018-11-23 11:55:09,570 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 67 [2018-11-23 11:55:09,570 INFO L73 IsDeterministic]: Start isDeterministic. Operand 108 states and 144 transitions. [2018-11-23 11:55:09,570 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:09,571 INFO L705 BuchiCegarLoop]: Abstraction has 108 states and 144 transitions. [2018-11-23 11:55:09,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states and 144 transitions. [2018-11-23 11:55:09,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 93. [2018-11-23 11:55:09,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2018-11-23 11:55:09,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 128 transitions. [2018-11-23 11:55:09,575 INFO L728 BuchiCegarLoop]: Abstraction has 93 states and 128 transitions. [2018-11-23 11:55:09,576 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:55:09,576 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:55:09,576 INFO L87 Difference]: Start difference. First operand 93 states and 128 transitions. Second operand 4 states. [2018-11-23 11:55:09,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:09,602 INFO L93 Difference]: Finished difference Result 111 states and 142 transitions. [2018-11-23 11:55:09,603 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:55:09,603 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 111 states and 142 transitions. [2018-11-23 11:55:09,604 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 50 [2018-11-23 11:55:09,605 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 111 states to 92 states and 118 transitions. [2018-11-23 11:55:09,606 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 67 [2018-11-23 11:55:09,606 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 67 [2018-11-23 11:55:09,606 INFO L73 IsDeterministic]: Start isDeterministic. Operand 92 states and 118 transitions. [2018-11-23 11:55:09,606 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:09,606 INFO L705 BuchiCegarLoop]: Abstraction has 92 states and 118 transitions. [2018-11-23 11:55:09,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states and 118 transitions. [2018-11-23 11:55:09,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 41. [2018-11-23 11:55:09,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 11:55:09,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 55 transitions. [2018-11-23 11:55:09,609 INFO L728 BuchiCegarLoop]: Abstraction has 41 states and 55 transitions. [2018-11-23 11:55:09,609 INFO L608 BuchiCegarLoop]: Abstraction has 41 states and 55 transitions. [2018-11-23 11:55:09,609 INFO L442 BuchiCegarLoop]: ======== Iteration 6============ [2018-11-23 11:55:09,610 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 41 states and 55 transitions. [2018-11-23 11:55:09,610 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2018-11-23 11:55:09,610 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:09,610 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:09,610 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2018-11-23 11:55:09,610 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:09,611 INFO L794 eck$LassoCheckResult]: Stem: 668#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 669#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 684#L14 assume 0 == main_~i~0;main_~up~0 := 1; 693#L14-2 assume !(main_~i~0 == main_~range~0); 688#L17-1 [2018-11-23 11:55:09,611 INFO L796 eck$LassoCheckResult]: Loop: 688#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 689#L20-1 assume !(0 == main_~up~0); 690#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 699#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 704#L14 assume !(0 == main_~i~0); 701#L14-2 assume !(main_~i~0 == main_~range~0); 688#L17-1 [2018-11-23 11:55:09,611 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:09,611 INFO L82 PathProgramCache]: Analyzing trace with hash 963346, now seen corresponding path program 2 times [2018-11-23 11:55:09,611 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:09,611 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:09,612 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:09,612 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:09,612 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:09,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:09,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:09,617 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:09,617 INFO L82 PathProgramCache]: Analyzing trace with hash 1634880594, now seen corresponding path program 1 times [2018-11-23 11:55:09,617 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:09,617 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:09,618 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:09,618 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:09,618 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:09,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:09,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:09,623 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:09,623 INFO L82 PathProgramCache]: Analyzing trace with hash 498642595, now seen corresponding path program 1 times [2018-11-23 11:55:09,624 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:09,624 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:09,624 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:09,625 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:09,625 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:09,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:09,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:09,666 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:09,667 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:09,667 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:09,667 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:09,667 INFO L127 ssoRankerPreferences]: Use exernal solver: true [2018-11-23 11:55:09,667 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,667 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:09,667 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:09,667 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration6_Loop [2018-11-23 11:55:09,667 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:09,667 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:09,668 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,673 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,674 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,682 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,763 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:09,763 INFO L412 LassoAnalysis]: Checking for nontermination... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 10 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,765 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:09,765 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:09,767 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2018-11-23 11:55:09,768 INFO L448 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~up~0=1} Honda state: {ULTIMATE.start_main_~up~0=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 11 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,784 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:09,784 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:09,799 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2018-11-23 11:55:09,799 INFO L448 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: [] No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 12 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,803 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:09,803 INFO L163 nArgumentSynthesizer]: Using integer mode. No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 13 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,821 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2018-11-23 11:55:09,821 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:09,992 INFO L452 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2018-11-23 11:55:09,994 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:09,994 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:09,994 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:09,994 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:09,994 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-23 11:55:09,994 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:09,994 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:09,994 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:09,995 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration6_Loop [2018-11-23 11:55:09,995 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:09,995 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:09,996 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:09,998 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,001 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,012 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,077 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:10,077 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-23 11:55:10,077 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:10,077 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:10,078 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:10,078 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:10,078 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:10,078 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:10,078 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-23 11:55:10,078 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:10,079 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-23 11:55:10,079 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:10,080 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:10,080 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:10,080 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:10,080 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:10,081 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-23 11:55:10,081 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-23 11:55:10,084 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-23 11:55:10,084 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:10,085 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:10,085 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:10,085 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:10,085 INFO L206 nArgumentSynthesizer]: 2 loop disjuncts [2018-11-23 11:55:10,085 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:10,086 INFO L402 nArgumentSynthesizer]: We have 4 Motzkin's Theorem applications. [2018-11-23 11:55:10,086 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:10,094 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-23 11:55:10,097 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-11-23 11:55:10,098 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-23 11:55:10,098 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-23 11:55:10,098 INFO L440 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2018-11-23 11:55:10,098 INFO L518 LassoAnalysis]: Proved termination. [2018-11-23 11:55:10,098 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~range~0, ULTIMATE.start_main_~i~0) = 1*ULTIMATE.start_main_~range~0 - 1*ULTIMATE.start_main_~i~0 Supporting invariants [] [2018-11-23 11:55:10,098 INFO L297 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2018-11-23 11:55:10,109 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,111 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,117 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,129 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:10,129 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:10,129 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 41 states and 55 transitions. cyclomatic complexity: 16 Second operand 4 states. [2018-11-23 11:55:10,148 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 41 states and 55 transitions. cyclomatic complexity: 16. Second operand 4 states. Result 90 states and 115 transitions. Complement of second has 7 states. [2018-11-23 11:55:10,149 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:10,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:10,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 22 transitions. [2018-11-23 11:55:10,150 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 22 transitions. Stem has 4 letters. Loop has 6 letters. [2018-11-23 11:55:10,150 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,150 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 22 transitions. Stem has 10 letters. Loop has 6 letters. [2018-11-23 11:55:10,150 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,150 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 22 transitions. Stem has 4 letters. Loop has 12 letters. [2018-11-23 11:55:10,150 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,151 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 90 states and 115 transitions. [2018-11-23 11:55:10,151 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2018-11-23 11:55:10,152 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 90 states to 77 states and 98 transitions. [2018-11-23 11:55:10,152 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 41 [2018-11-23 11:55:10,152 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2018-11-23 11:55:10,152 INFO L73 IsDeterministic]: Start isDeterministic. Operand 77 states and 98 transitions. [2018-11-23 11:55:10,152 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:10,152 INFO L705 BuchiCegarLoop]: Abstraction has 77 states and 98 transitions. [2018-11-23 11:55:10,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states and 98 transitions. [2018-11-23 11:55:10,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 71. [2018-11-23 11:55:10,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 11:55:10,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 92 transitions. [2018-11-23 11:55:10,155 INFO L728 BuchiCegarLoop]: Abstraction has 71 states and 92 transitions. [2018-11-23 11:55:10,155 INFO L608 BuchiCegarLoop]: Abstraction has 71 states and 92 transitions. [2018-11-23 11:55:10,155 INFO L442 BuchiCegarLoop]: ======== Iteration 7============ [2018-11-23 11:55:10,156 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 71 states and 92 transitions. [2018-11-23 11:55:10,156 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2018-11-23 11:55:10,156 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:10,156 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:10,157 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:10,157 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:10,157 INFO L794 eck$LassoCheckResult]: Stem: 854#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 855#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 907#L14 assume !(0 == main_~i~0); 908#L14-2 assume !(main_~i~0 == main_~range~0); 852#L17-1 assume !(1 == main_~up~0); 853#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 900#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 901#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 913#L14 assume 0 == main_~i~0;main_~up~0 := 1; 912#L14-2 assume !(main_~i~0 == main_~range~0); 876#L17-1 [2018-11-23 11:55:10,157 INFO L796 eck$LassoCheckResult]: Loop: 876#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 877#L20-1 assume !(0 == main_~up~0); 856#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 857#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 887#L14 assume !(0 == main_~i~0); 885#L14-2 assume !(main_~i~0 == main_~range~0); 876#L17-1 [2018-11-23 11:55:10,157 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,157 INFO L82 PathProgramCache]: Analyzing trace with hash -255352415, now seen corresponding path program 1 times [2018-11-23 11:55:10,157 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:10,157 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:10,158 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,158 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:10,158 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,179 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:10,179 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:10,179 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:10,186 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:10,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,191 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,194 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:10,211 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:10,211 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 3 [2018-11-23 11:55:10,211 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 11:55:10,212 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,212 INFO L82 PathProgramCache]: Analyzing trace with hash 1634880594, now seen corresponding path program 2 times [2018-11-23 11:55:10,212 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:10,212 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:10,213 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,213 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:10,213 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:10,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:10,251 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:10,252 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:10,252 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:10,252 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:10,252 INFO L127 ssoRankerPreferences]: Use exernal solver: true [2018-11-23 11:55:10,252 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:10,252 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:10,252 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:10,252 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration7_Loop [2018-11-23 11:55:10,252 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:10,252 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:10,253 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,265 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,267 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,277 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,338 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:10,338 INFO L412 LassoAnalysis]: Checking for nontermination... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 15 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:10,343 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:10,344 INFO L163 nArgumentSynthesizer]: Using integer mode. No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 16 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:10,362 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2018-11-23 11:55:10,362 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:10,529 INFO L452 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2018-11-23 11:55:10,531 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:10,531 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:10,531 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:10,531 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:10,531 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-23 11:55:10,531 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:10,531 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:10,531 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:10,531 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration7_Loop [2018-11-23 11:55:10,531 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:10,531 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:10,532 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,539 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,541 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,542 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:10,599 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:10,599 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-23 11:55:10,599 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:10,600 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:10,600 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:10,600 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:10,600 INFO L206 nArgumentSynthesizer]: 2 loop disjuncts [2018-11-23 11:55:10,600 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:10,601 INFO L402 nArgumentSynthesizer]: We have 4 Motzkin's Theorem applications. [2018-11-23 11:55:10,601 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:10,604 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-23 11:55:10,607 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-11-23 11:55:10,607 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-23 11:55:10,607 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-23 11:55:10,607 INFO L440 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2018-11-23 11:55:10,607 INFO L518 LassoAnalysis]: Proved termination. [2018-11-23 11:55:10,607 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~0, ULTIMATE.start_main_~range~0) = -1*ULTIMATE.start_main_~i~0 + 1*ULTIMATE.start_main_~range~0 Supporting invariants [] [2018-11-23 11:55:10,608 INFO L297 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2018-11-23 11:55:10,631 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,636 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,639 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,649 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:10,649 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:10,649 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 71 states and 92 transitions. cyclomatic complexity: 26 Second operand 4 states. [2018-11-23 11:55:10,668 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 71 states and 92 transitions. cyclomatic complexity: 26. Second operand 4 states. Result 95 states and 121 transitions. Complement of second has 7 states. [2018-11-23 11:55:10,668 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:10,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:10,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 22 transitions. [2018-11-23 11:55:10,669 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 22 transitions. Stem has 10 letters. Loop has 6 letters. [2018-11-23 11:55:10,669 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,669 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-23 11:55:10,676 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,680 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,683 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,693 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:10,694 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:10,694 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 71 states and 92 transitions. cyclomatic complexity: 26 Second operand 4 states. [2018-11-23 11:55:10,732 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 71 states and 92 transitions. cyclomatic complexity: 26. Second operand 4 states. Result 124 states and 157 transitions. Complement of second has 9 states. [2018-11-23 11:55:10,732 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:10,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:10,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 29 transitions. [2018-11-23 11:55:10,733 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 29 transitions. Stem has 10 letters. Loop has 6 letters. [2018-11-23 11:55:10,733 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,733 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-23 11:55:10,740 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,747 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,750 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:10,762 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:10,762 INFO L152 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:10,762 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 71 states and 92 transitions. cyclomatic complexity: 26 Second operand 4 states. [2018-11-23 11:55:10,785 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 71 states and 92 transitions. cyclomatic complexity: 26. Second operand 4 states. Result 112 states and 146 transitions. Complement of second has 8 states. [2018-11-23 11:55:10,786 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:10,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:10,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 26 transitions. [2018-11-23 11:55:10,786 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 26 transitions. Stem has 10 letters. Loop has 6 letters. [2018-11-23 11:55:10,787 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,787 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 26 transitions. Stem has 16 letters. Loop has 6 letters. [2018-11-23 11:55:10,787 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,787 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 26 transitions. Stem has 10 letters. Loop has 12 letters. [2018-11-23 11:55:10,788 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:10,788 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 112 states and 146 transitions. [2018-11-23 11:55:10,789 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 35 [2018-11-23 11:55:10,790 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 112 states to 84 states and 108 transitions. [2018-11-23 11:55:10,790 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2018-11-23 11:55:10,790 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2018-11-23 11:55:10,790 INFO L73 IsDeterministic]: Start isDeterministic. Operand 84 states and 108 transitions. [2018-11-23 11:55:10,791 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:10,791 INFO L705 BuchiCegarLoop]: Abstraction has 84 states and 108 transitions. [2018-11-23 11:55:10,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states and 108 transitions. [2018-11-23 11:55:10,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 49. [2018-11-23 11:55:10,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 11:55:10,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 66 transitions. [2018-11-23 11:55:10,793 INFO L728 BuchiCegarLoop]: Abstraction has 49 states and 66 transitions. [2018-11-23 11:55:10,793 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:55:10,793 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:55:10,794 INFO L87 Difference]: Start difference. First operand 49 states and 66 transitions. Second operand 4 states. [2018-11-23 11:55:10,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:10,825 INFO L93 Difference]: Finished difference Result 119 states and 154 transitions. [2018-11-23 11:55:10,826 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 11:55:10,826 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 119 states and 154 transitions. [2018-11-23 11:55:10,827 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 59 [2018-11-23 11:55:10,828 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 119 states to 117 states and 152 transitions. [2018-11-23 11:55:10,828 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 56 [2018-11-23 11:55:10,828 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 56 [2018-11-23 11:55:10,829 INFO L73 IsDeterministic]: Start isDeterministic. Operand 117 states and 152 transitions. [2018-11-23 11:55:10,829 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:10,829 INFO L705 BuchiCegarLoop]: Abstraction has 117 states and 152 transitions. [2018-11-23 11:55:10,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states and 152 transitions. [2018-11-23 11:55:10,833 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 97. [2018-11-23 11:55:10,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-23 11:55:10,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 128 transitions. [2018-11-23 11:55:10,834 INFO L728 BuchiCegarLoop]: Abstraction has 97 states and 128 transitions. [2018-11-23 11:55:10,835 INFO L608 BuchiCegarLoop]: Abstraction has 97 states and 128 transitions. [2018-11-23 11:55:10,835 INFO L442 BuchiCegarLoop]: ======== Iteration 8============ [2018-11-23 11:55:10,835 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 97 states and 128 transitions. [2018-11-23 11:55:10,835 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 59 [2018-11-23 11:55:10,836 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:10,836 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:10,836 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2018-11-23 11:55:10,836 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1] [2018-11-23 11:55:10,836 INFO L794 eck$LassoCheckResult]: Stem: 1646#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 1647#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 1657#L14 assume 0 == main_~i~0;main_~up~0 := 1; 1658#L14-2 assume !(main_~i~0 == main_~range~0); 1699#L17-1 [2018-11-23 11:55:10,837 INFO L796 eck$LassoCheckResult]: Loop: 1699#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 1696#L20-1 assume !(0 == main_~up~0); 1697#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 1692#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 1690#L14 assume !(0 == main_~i~0); 1688#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 1679#L17-1 assume !(1 == main_~up~0); 1687#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 1686#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 1682#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 1683#L14 assume !(0 == main_~i~0); 1678#L14-2 assume !(main_~i~0 == main_~range~0); 1677#L17-1 assume !(1 == main_~up~0); 1676#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 1674#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 1675#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 1680#L14 assume 0 == main_~i~0;main_~up~0 := 1; 1681#L14-2 assume !(main_~i~0 == main_~range~0); 1699#L17-1 [2018-11-23 11:55:10,837 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,837 INFO L82 PathProgramCache]: Analyzing trace with hash 963346, now seen corresponding path program 3 times [2018-11-23 11:55:10,837 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:10,837 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:10,838 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,838 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:10,838 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:10,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:10,842 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:10,843 INFO L82 PathProgramCache]: Analyzing trace with hash -1416950548, now seen corresponding path program 1 times [2018-11-23 11:55:10,843 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:10,843 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:10,844 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,844 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:10,844 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:10,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,966 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 11 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:10,966 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:10,966 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:10,975 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:10,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:10,982 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:11,040 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,056 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:11,056 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-23 11:55:11,056 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 11:55:11,057 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 11:55:11,057 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2018-11-23 11:55:11,057 INFO L87 Difference]: Start difference. First operand 97 states and 128 transitions. cyclomatic complexity: 35 Second operand 13 states. [2018-11-23 11:55:11,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:11,269 INFO L93 Difference]: Finished difference Result 136 states and 155 transitions. [2018-11-23 11:55:11,270 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 11:55:11,270 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 136 states and 155 transitions. [2018-11-23 11:55:11,271 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 48 [2018-11-23 11:55:11,272 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 136 states to 121 states and 140 transitions. [2018-11-23 11:55:11,272 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 56 [2018-11-23 11:55:11,272 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 72 [2018-11-23 11:55:11,272 INFO L73 IsDeterministic]: Start isDeterministic. Operand 121 states and 140 transitions. [2018-11-23 11:55:11,272 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:11,272 INFO L705 BuchiCegarLoop]: Abstraction has 121 states and 140 transitions. [2018-11-23 11:55:11,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states and 140 transitions. [2018-11-23 11:55:11,274 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 107. [2018-11-23 11:55:11,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-23 11:55:11,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 126 transitions. [2018-11-23 11:55:11,274 INFO L728 BuchiCegarLoop]: Abstraction has 107 states and 126 transitions. [2018-11-23 11:55:11,274 INFO L608 BuchiCegarLoop]: Abstraction has 107 states and 126 transitions. [2018-11-23 11:55:11,274 INFO L442 BuchiCegarLoop]: ======== Iteration 9============ [2018-11-23 11:55:11,274 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 107 states and 126 transitions. [2018-11-23 11:55:11,275 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 48 [2018-11-23 11:55:11,275 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:11,275 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:11,275 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [2, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:11,275 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:11,275 INFO L794 eck$LassoCheckResult]: Stem: 1959#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 1960#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 1988#L14 assume 0 == main_~i~0;main_~up~0 := 1; 1985#L14-2 assume !(main_~i~0 == main_~range~0); 1983#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 1980#L20-1 assume !(0 == main_~up~0); 1981#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 1989#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 1986#L14 assume !(0 == main_~i~0); 1987#L14-2 [2018-11-23 11:55:11,275 INFO L796 eck$LassoCheckResult]: Loop: 1987#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 2038#L17-1 assume !(1 == main_~up~0); 2036#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2035#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2034#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2022#L14 assume 0 == main_~i~0;main_~up~0 := 1; 1969#L14-2 assume !(main_~i~0 == main_~range~0); 1970#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 2053#L20-1 assume !(0 == main_~up~0); 2051#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2021#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2020#L14 assume !(0 == main_~i~0); 1987#L14-2 [2018-11-23 11:55:11,275 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,275 INFO L82 PathProgramCache]: Analyzing trace with hash 1817200562, now seen corresponding path program 2 times [2018-11-23 11:55:11,275 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,276 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,276 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,276 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:11,276 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,280 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,280 INFO L82 PathProgramCache]: Analyzing trace with hash 1139092067, now seen corresponding path program 2 times [2018-11-23 11:55:11,280 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,281 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,281 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,281 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:11,281 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,287 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,287 INFO L82 PathProgramCache]: Analyzing trace with hash -140873580, now seen corresponding path program 1 times [2018-11-23 11:55:11,287 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,287 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,288 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,288 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:11,288 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:11,303 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 11:55:11,304 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:11,304 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:11,312 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:11,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:11,316 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:11,329 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 18 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 11:55:11,344 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:11,344 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 11:55:11,376 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 11:55:11,376 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:55:11,376 INFO L87 Difference]: Start difference. First operand 107 states and 126 transitions. cyclomatic complexity: 26 Second operand 7 states. [2018-11-23 11:55:11,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:11,419 INFO L93 Difference]: Finished difference Result 114 states and 132 transitions. [2018-11-23 11:55:11,419 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 11:55:11,419 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 114 states and 132 transitions. [2018-11-23 11:55:11,420 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 36 [2018-11-23 11:55:11,420 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 114 states to 104 states and 120 transitions. [2018-11-23 11:55:11,421 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 59 [2018-11-23 11:55:11,421 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 59 [2018-11-23 11:55:11,421 INFO L73 IsDeterministic]: Start isDeterministic. Operand 104 states and 120 transitions. [2018-11-23 11:55:11,421 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:11,421 INFO L705 BuchiCegarLoop]: Abstraction has 104 states and 120 transitions. [2018-11-23 11:55:11,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states and 120 transitions. [2018-11-23 11:55:11,423 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 94. [2018-11-23 11:55:11,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2018-11-23 11:55:11,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 110 transitions. [2018-11-23 11:55:11,424 INFO L728 BuchiCegarLoop]: Abstraction has 94 states and 110 transitions. [2018-11-23 11:55:11,424 INFO L608 BuchiCegarLoop]: Abstraction has 94 states and 110 transitions. [2018-11-23 11:55:11,424 INFO L442 BuchiCegarLoop]: ======== Iteration 10============ [2018-11-23 11:55:11,424 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 94 states and 110 transitions. [2018-11-23 11:55:11,425 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 36 [2018-11-23 11:55:11,425 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:11,425 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:11,426 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 2, 2, 2, 2, 2, 1, 1] [2018-11-23 11:55:11,426 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:11,426 INFO L794 eck$LassoCheckResult]: Stem: 2252#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 2253#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2274#L14 assume !(0 == main_~i~0); 2296#L14-2 assume !(main_~i~0 == main_~range~0); 2295#L17-1 assume !(1 == main_~up~0); 2294#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2292#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 2261#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2330#L14 assume !(0 == main_~i~0); 2329#L14-2 assume !(main_~i~0 == main_~range~0); 2326#L17-1 assume !(1 == main_~up~0); 2277#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2278#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 2319#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2315#L14 assume 0 == main_~i~0;main_~up~0 := 1; 2316#L14-2 [2018-11-23 11:55:11,426 INFO L796 eck$LassoCheckResult]: Loop: 2316#L14-2 assume !(main_~i~0 == main_~range~0); 2341#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 2339#L20-1 assume !(0 == main_~up~0); 2338#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2337#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2336#L14 assume !(0 == main_~i~0); 2334#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 2333#L17-1 assume !(1 == main_~up~0); 2323#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2322#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2320#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2318#L14 assume 0 == main_~i~0;main_~up~0 := 1; 2316#L14-2 [2018-11-23 11:55:11,426 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,426 INFO L82 PathProgramCache]: Analyzing trace with hash -1377251387, now seen corresponding path program 2 times [2018-11-23 11:55:11,426 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,426 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,427 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,427 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:11,427 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:11,450 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,451 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:11,451 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:11,459 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 11:55:11,465 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:55:11,465 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:11,466 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:11,468 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,493 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:11,493 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 3 [2018-11-23 11:55:11,493 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 11:55:11,493 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,493 INFO L82 PathProgramCache]: Analyzing trace with hash 2022702435, now seen corresponding path program 3 times [2018-11-23 11:55:11,494 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,494 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,494 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,495 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:11,495 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,565 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 11:55:11,565 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-11-23 11:55:11,565 INFO L87 Difference]: Start difference. First operand 94 states and 110 transitions. cyclomatic complexity: 22 Second operand 5 states. [2018-11-23 11:55:11,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:11,622 INFO L93 Difference]: Finished difference Result 137 states and 157 transitions. [2018-11-23 11:55:11,623 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 11:55:11,623 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 137 states and 157 transitions. [2018-11-23 11:55:11,623 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 38 [2018-11-23 11:55:11,624 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 137 states to 135 states and 155 transitions. [2018-11-23 11:55:11,624 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 77 [2018-11-23 11:55:11,624 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 77 [2018-11-23 11:55:11,624 INFO L73 IsDeterministic]: Start isDeterministic. Operand 135 states and 155 transitions. [2018-11-23 11:55:11,625 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:11,625 INFO L705 BuchiCegarLoop]: Abstraction has 135 states and 155 transitions. [2018-11-23 11:55:11,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states and 155 transitions. [2018-11-23 11:55:11,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 106. [2018-11-23 11:55:11,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2018-11-23 11:55:11,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 124 transitions. [2018-11-23 11:55:11,627 INFO L728 BuchiCegarLoop]: Abstraction has 106 states and 124 transitions. [2018-11-23 11:55:11,627 INFO L608 BuchiCegarLoop]: Abstraction has 106 states and 124 transitions. [2018-11-23 11:55:11,627 INFO L442 BuchiCegarLoop]: ======== Iteration 11============ [2018-11-23 11:55:11,627 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 106 states and 124 transitions. [2018-11-23 11:55:11,628 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 36 [2018-11-23 11:55:11,628 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:11,628 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:11,628 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 2, 2, 2, 2, 2, 1, 1, 1] [2018-11-23 11:55:11,628 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 2, 2, 2, 1, 1] [2018-11-23 11:55:11,628 INFO L794 eck$LassoCheckResult]: Stem: 2537#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 2538#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2564#L14 assume 0 == main_~i~0;main_~up~0 := 1; 2562#L14-2 assume !(main_~i~0 == main_~range~0); 2559#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 2560#L20-1 assume !(0 == main_~up~0); 2577#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2578#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2565#L14 assume !(0 == main_~i~0); 2563#L14-2 assume !(main_~i~0 == main_~range~0); 2561#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 2557#L20-1 assume !(0 == main_~up~0); 2558#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2567#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2568#L14 assume !(0 == main_~i~0); 2625#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 2633#L17-1 [2018-11-23 11:55:11,628 INFO L796 eck$LassoCheckResult]: Loop: 2633#L17-1 assume !(1 == main_~up~0); 2631#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2632#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2639#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2638#L14 assume !(0 == main_~i~0); 2637#L14-2 assume !(main_~i~0 == main_~range~0); 2634#L17-1 assume !(1 == main_~up~0); 2630#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2627#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2629#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2635#L14 assume !(0 == main_~i~0); 2636#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 2633#L17-1 [2018-11-23 11:55:11,628 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,629 INFO L82 PathProgramCache]: Analyzing trace with hash 1260517746, now seen corresponding path program 1 times [2018-11-23 11:55:11,629 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,629 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,629 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,629 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:11,629 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:11,646 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,647 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:11,647 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:11,653 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:11,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:11,657 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:11,675 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,690 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:11,690 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 7 [2018-11-23 11:55:11,690 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 11:55:11,690 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,690 INFO L82 PathProgramCache]: Analyzing trace with hash 1690025817, now seen corresponding path program 1 times [2018-11-23 11:55:11,690 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,691 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,691 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,691 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:11,691 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:11,700 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,700 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:55:11,701 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 11:55:11,701 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 11:55:11,701 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:55:11,701 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:55:11,701 INFO L87 Difference]: Start difference. First operand 106 states and 124 transitions. cyclomatic complexity: 24 Second operand 4 states. [2018-11-23 11:55:11,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:11,714 INFO L93 Difference]: Finished difference Result 107 states and 121 transitions. [2018-11-23 11:55:11,715 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:55:11,715 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 107 states and 121 transitions. [2018-11-23 11:55:11,715 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 25 [2018-11-23 11:55:11,716 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 107 states to 107 states and 121 transitions. [2018-11-23 11:55:11,716 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 62 [2018-11-23 11:55:11,716 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 62 [2018-11-23 11:55:11,716 INFO L73 IsDeterministic]: Start isDeterministic. Operand 107 states and 121 transitions. [2018-11-23 11:55:11,716 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:11,716 INFO L705 BuchiCegarLoop]: Abstraction has 107 states and 121 transitions. [2018-11-23 11:55:11,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states and 121 transitions. [2018-11-23 11:55:11,718 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 93. [2018-11-23 11:55:11,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2018-11-23 11:55:11,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 107 transitions. [2018-11-23 11:55:11,719 INFO L728 BuchiCegarLoop]: Abstraction has 93 states and 107 transitions. [2018-11-23 11:55:11,719 INFO L608 BuchiCegarLoop]: Abstraction has 93 states and 107 transitions. [2018-11-23 11:55:11,719 INFO L442 BuchiCegarLoop]: ======== Iteration 12============ [2018-11-23 11:55:11,719 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 93 states and 107 transitions. [2018-11-23 11:55:11,719 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 24 [2018-11-23 11:55:11,719 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:11,719 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:11,720 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2018-11-23 11:55:11,720 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2018-11-23 11:55:11,720 INFO L794 eck$LassoCheckResult]: Stem: 2809#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 2810#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2830#L14 assume 0 == main_~i~0;main_~up~0 := 1; 2835#L14-2 assume !(main_~i~0 == main_~range~0); 2831#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 2832#L20-1 assume !(0 == main_~up~0); 2847#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2848#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2837#L14 assume !(0 == main_~i~0); 2836#L14-2 assume !(main_~i~0 == main_~range~0); 2833#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 2834#L20-1 assume !(0 == main_~up~0); 2849#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2838#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2839#L14 assume !(0 == main_~i~0); 2852#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 2853#L17-1 assume !(1 == main_~up~0); 2821#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2815#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2816#L26-1 [2018-11-23 11:55:11,720 INFO L796 eck$LassoCheckResult]: Loop: 2816#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 2823#L14 assume !(0 == main_~i~0); 2819#L14-2 assume !(main_~i~0 == main_~range~0); 2811#L17-1 assume !(1 == main_~up~0); 2812#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 2897#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 2816#L26-1 [2018-11-23 11:55:11,720 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,720 INFO L82 PathProgramCache]: Analyzing trace with hash 1185129105, now seen corresponding path program 2 times [2018-11-23 11:55:11,720 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,720 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,720 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,721 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:11,721 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:11,743 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,743 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:11,744 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:11,760 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 11:55:11,763 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:55:11,764 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:11,764 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:11,802 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 10 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:11,817 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:11,817 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2018-11-23 11:55:11,817 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 11:55:11,817 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:11,817 INFO L82 PathProgramCache]: Analyzing trace with hash 1188300564, now seen corresponding path program 2 times [2018-11-23 11:55:11,817 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:11,817 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:11,818 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,818 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:11,818 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:11,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:11,842 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:11,842 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:11,843 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:11,843 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:11,843 INFO L127 ssoRankerPreferences]: Use exernal solver: true [2018-11-23 11:55:11,843 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:11,843 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:11,843 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:11,843 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration12_Loop [2018-11-23 11:55:11,843 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:11,843 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:11,844 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,845 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,851 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,853 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,894 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:11,894 INFO L412 LassoAnalysis]: Checking for nontermination... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 22 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:11,896 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:11,896 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:11,904 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2018-11-23 11:55:11,904 INFO L448 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~up~0=0} Honda state: {ULTIMATE.start_main_~up~0=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 23 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:11,919 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2018-11-23 11:55:11,920 INFO L163 nArgumentSynthesizer]: Using integer mode. No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 24 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:11,938 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2018-11-23 11:55:11,938 INFO L163 nArgumentSynthesizer]: Using integer mode. [2018-11-23 11:55:11,955 INFO L452 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2018-11-23 11:55:11,956 INFO L216 LassoAnalysis]: Preferences: [2018-11-23 11:55:11,956 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-23 11:55:11,956 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-23 11:55:11,957 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-23 11:55:11,957 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-23 11:55:11,957 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 11:55:11,957 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-23 11:55:11,957 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-23 11:55:11,957 INFO L131 ssoRankerPreferences]: Filename of dumped script: Narrowing_false-termination_true-no-overflow.c_Iteration12_Loop [2018-11-23 11:55:11,957 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-23 11:55:11,957 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-23 11:55:11,957 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,959 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,965 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,967 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-23 11:55:11,998 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-23 11:55:11,998 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-23 11:55:11,999 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:11,999 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:11,999 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:12,000 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:12,000 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:12,000 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:12,000 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-23 11:55:12,000 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:12,001 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-23 11:55:12,001 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-23 11:55:12,001 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-23 11:55:12,002 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-23 11:55:12,002 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-23 11:55:12,002 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-23 11:55:12,002 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-23 11:55:12,002 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-23 11:55:12,002 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-23 11:55:12,004 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-23 11:55:12,005 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2018-11-23 11:55:12,005 INFO L444 ModelExtractionUtils]: 1 out of 4 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-23 11:55:12,005 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-23 11:55:12,005 INFO L440 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2018-11-23 11:55:12,005 INFO L518 LassoAnalysis]: Proved termination. [2018-11-23 11:55:12,006 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~i~0) = 1*ULTIMATE.start_main_~i~0 Supporting invariants [] [2018-11-23 11:55:12,006 INFO L297 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2018-11-23 11:55:12,023 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,028 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,032 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,043 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:12,044 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:12,044 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 93 states and 107 transitions. cyclomatic complexity: 20 Second operand 4 states. [2018-11-23 11:55:12,057 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 93 states and 107 transitions. cyclomatic complexity: 20. Second operand 4 states. Result 186 states and 218 transitions. Complement of second has 7 states. [2018-11-23 11:55:12,057 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:12,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:12,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 22 transitions. [2018-11-23 11:55:12,058 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 22 transitions. Stem has 19 letters. Loop has 6 letters. [2018-11-23 11:55:12,058 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:12,058 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-23 11:55:12,064 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,068 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,078 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:12,078 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:12,079 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 93 states and 107 transitions. cyclomatic complexity: 20 Second operand 4 states. [2018-11-23 11:55:12,101 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 93 states and 107 transitions. cyclomatic complexity: 20. Second operand 4 states. Result 186 states and 218 transitions. Complement of second has 7 states. [2018-11-23 11:55:12,101 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:12,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:12,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 22 transitions. [2018-11-23 11:55:12,102 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 22 transitions. Stem has 19 letters. Loop has 6 letters. [2018-11-23 11:55:12,102 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:12,102 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-23 11:55:12,115 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,119 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,122 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,129 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:12,129 INFO L152 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2018-11-23 11:55:12,129 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 93 states and 107 transitions. cyclomatic complexity: 20 Second operand 4 states. [2018-11-23 11:55:12,141 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 93 states and 107 transitions. cyclomatic complexity: 20. Second operand 4 states. Result 186 states and 221 transitions. Complement of second has 8 states. [2018-11-23 11:55:12,141 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-23 11:55:12,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:55:12,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 23 transitions. [2018-11-23 11:55:12,141 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 23 transitions. Stem has 19 letters. Loop has 6 letters. [2018-11-23 11:55:12,142 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:12,142 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 23 transitions. Stem has 25 letters. Loop has 6 letters. [2018-11-23 11:55:12,142 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:12,142 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 23 transitions. Stem has 19 letters. Loop has 12 letters. [2018-11-23 11:55:12,142 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-23 11:55:12,142 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 186 states and 221 transitions. [2018-11-23 11:55:12,144 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 22 [2018-11-23 11:55:12,144 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 186 states to 127 states and 147 transitions. [2018-11-23 11:55:12,145 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30 [2018-11-23 11:55:12,145 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 34 [2018-11-23 11:55:12,145 INFO L73 IsDeterministic]: Start isDeterministic. Operand 127 states and 147 transitions. [2018-11-23 11:55:12,145 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:12,145 INFO L705 BuchiCegarLoop]: Abstraction has 127 states and 147 transitions. [2018-11-23 11:55:12,145 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states and 147 transitions. [2018-11-23 11:55:12,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 70. [2018-11-23 11:55:12,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2018-11-23 11:55:12,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 81 transitions. [2018-11-23 11:55:12,147 INFO L728 BuchiCegarLoop]: Abstraction has 70 states and 81 transitions. [2018-11-23 11:55:12,147 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 11:55:12,147 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:55:12,147 INFO L87 Difference]: Start difference. First operand 70 states and 81 transitions. Second operand 9 states. [2018-11-23 11:55:12,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:12,178 INFO L93 Difference]: Finished difference Result 81 states and 92 transitions. [2018-11-23 11:55:12,178 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:55:12,178 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 81 states and 92 transitions. [2018-11-23 11:55:12,179 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 18 [2018-11-23 11:55:12,179 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 81 states to 79 states and 90 transitions. [2018-11-23 11:55:12,180 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:12,180 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:12,180 INFO L73 IsDeterministic]: Start isDeterministic. Operand 79 states and 90 transitions. [2018-11-23 11:55:12,180 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:12,180 INFO L705 BuchiCegarLoop]: Abstraction has 79 states and 90 transitions. [2018-11-23 11:55:12,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states and 90 transitions. [2018-11-23 11:55:12,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2018-11-23 11:55:12,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-11-23 11:55:12,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2018-11-23 11:55:12,181 INFO L728 BuchiCegarLoop]: Abstraction has 76 states and 87 transitions. [2018-11-23 11:55:12,181 INFO L608 BuchiCegarLoop]: Abstraction has 76 states and 87 transitions. [2018-11-23 11:55:12,181 INFO L442 BuchiCegarLoop]: ======== Iteration 13============ [2018-11-23 11:55:12,182 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 76 states and 87 transitions. [2018-11-23 11:55:12,182 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 18 [2018-11-23 11:55:12,182 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:12,182 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:12,182 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 3, 2, 1, 1] [2018-11-23 11:55:12,183 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:12,183 INFO L794 eck$LassoCheckResult]: Stem: 3939#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 3940#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4014#L14 assume !(0 == main_~i~0); 4013#L14-2 assume !(main_~i~0 == main_~range~0); 3973#L17-1 assume !(1 == main_~up~0); 3971#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 3967#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 3968#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4001#L14 assume !(0 == main_~i~0); 4000#L14-2 assume !(main_~i~0 == main_~range~0); 3999#L17-1 assume !(1 == main_~up~0); 3998#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 3993#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 3983#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 3992#L14 assume !(0 == main_~i~0); 3991#L14-2 assume !(main_~i~0 == main_~range~0); 3989#L17-1 assume !(1 == main_~up~0); 3987#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 3982#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 3981#L26-1 [2018-11-23 11:55:12,183 INFO L796 eck$LassoCheckResult]: Loop: 3981#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 3978#L14 assume 0 == main_~i~0;main_~up~0 := 1; 3979#L14-2 assume !(main_~i~0 == main_~range~0); 3961#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 3962#L20-1 assume !(0 == main_~up~0); 3945#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 3946#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 3990#L14 assume !(0 == main_~i~0); 3988#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 3986#L17-1 assume !(1 == main_~up~0); 3985#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 3984#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 3981#L26-1 [2018-11-23 11:55:12,183 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,183 INFO L82 PathProgramCache]: Analyzing trace with hash 1404305365, now seen corresponding path program 1 times [2018-11-23 11:55:12,183 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,183 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,184 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,184 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:12,184 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,222 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 18 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:55:12,223 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:55:12,223 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:55:12,223 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 11:55:12,223 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,223 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 4 times [2018-11-23 11:55:12,223 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,223 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,224 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,224 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:12,224 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,255 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:55:12,255 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:55:12,256 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. cyclomatic complexity: 15 Second operand 4 states. [2018-11-23 11:55:12,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:12,276 INFO L93 Difference]: Finished difference Result 86 states and 97 transitions. [2018-11-23 11:55:12,277 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:55:12,277 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 86 states and 97 transitions. [2018-11-23 11:55:12,277 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 28 [2018-11-23 11:55:12,278 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 86 states to 86 states and 97 transitions. [2018-11-23 11:55:12,278 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2018-11-23 11:55:12,278 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2018-11-23 11:55:12,278 INFO L73 IsDeterministic]: Start isDeterministic. Operand 86 states and 97 transitions. [2018-11-23 11:55:12,278 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:12,278 INFO L705 BuchiCegarLoop]: Abstraction has 86 states and 97 transitions. [2018-11-23 11:55:12,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states and 97 transitions. [2018-11-23 11:55:12,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 82. [2018-11-23 11:55:12,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 11:55:12,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 93 transitions. [2018-11-23 11:55:12,280 INFO L728 BuchiCegarLoop]: Abstraction has 82 states and 93 transitions. [2018-11-23 11:55:12,280 INFO L608 BuchiCegarLoop]: Abstraction has 82 states and 93 transitions. [2018-11-23 11:55:12,280 INFO L442 BuchiCegarLoop]: ======== Iteration 14============ [2018-11-23 11:55:12,280 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 82 states and 93 transitions. [2018-11-23 11:55:12,281 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:12,281 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:12,281 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:12,282 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 3, 3, 3, 3, 3, 1] [2018-11-23 11:55:12,282 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:12,282 INFO L794 eck$LassoCheckResult]: Stem: 4112#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 4113#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4138#L14 assume !(0 == main_~i~0); 4188#L14-2 assume !(main_~i~0 == main_~range~0); 4135#L17-1 assume !(1 == main_~up~0); 4134#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4131#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4132#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4173#L14 assume !(0 == main_~i~0); 4171#L14-2 assume !(main_~i~0 == main_~range~0); 4169#L17-1 assume !(1 == main_~up~0); 4167#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4159#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4160#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4181#L14 assume !(0 == main_~i~0); 4179#L14-2 assume !(main_~i~0 == main_~range~0); 4177#L17-1 assume !(1 == main_~up~0); 4176#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4165#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4158#L26-1 [2018-11-23 11:55:12,282 INFO L796 eck$LassoCheckResult]: Loop: 4158#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4140#L14 assume 0 == main_~i~0;main_~up~0 := 1; 4139#L14-2 assume !(main_~i~0 == main_~range~0); 4127#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 4121#L20-1 assume !(0 == main_~up~0); 4122#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 4175#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4174#L14 assume !(0 == main_~i~0); 4172#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 4170#L17-1 assume !(1 == main_~up~0); 4168#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4166#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 4158#L26-1 [2018-11-23 11:55:12,282 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,282 INFO L82 PathProgramCache]: Analyzing trace with hash -370701997, now seen corresponding path program 1 times [2018-11-23 11:55:12,282 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,282 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,283 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,283 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:12,283 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,293 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,293 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 5 times [2018-11-23 11:55:12,293 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,293 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,294 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,294 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:12,294 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,298 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,298 INFO L82 PathProgramCache]: Analyzing trace with hash -1599701067, now seen corresponding path program 1 times [2018-11-23 11:55:12,299 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,299 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,299 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,299 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:12,300 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,339 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 32 proven. 24 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:12,340 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:12,340 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:12,350 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:12,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,358 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,375 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 32 proven. 24 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:12,400 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:12,400 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 7 [2018-11-23 11:55:12,424 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 11:55:12,424 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:55:12,425 INFO L87 Difference]: Start difference. First operand 82 states and 93 transitions. cyclomatic complexity: 15 Second operand 8 states. [2018-11-23 11:55:12,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:12,509 INFO L93 Difference]: Finished difference Result 143 states and 162 transitions. [2018-11-23 11:55:12,510 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 11:55:12,511 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 143 states and 162 transitions. [2018-11-23 11:55:12,512 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:12,512 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 143 states to 139 states and 155 transitions. [2018-11-23 11:55:12,513 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:12,513 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:12,513 INFO L73 IsDeterministic]: Start isDeterministic. Operand 139 states and 155 transitions. [2018-11-23 11:55:12,513 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:12,513 INFO L705 BuchiCegarLoop]: Abstraction has 139 states and 155 transitions. [2018-11-23 11:55:12,513 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states and 155 transitions. [2018-11-23 11:55:12,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 106. [2018-11-23 11:55:12,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2018-11-23 11:55:12,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 119 transitions. [2018-11-23 11:55:12,515 INFO L728 BuchiCegarLoop]: Abstraction has 106 states and 119 transitions. [2018-11-23 11:55:12,515 INFO L608 BuchiCegarLoop]: Abstraction has 106 states and 119 transitions. [2018-11-23 11:55:12,515 INFO L442 BuchiCegarLoop]: ======== Iteration 15============ [2018-11-23 11:55:12,515 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 106 states and 119 transitions. [2018-11-23 11:55:12,516 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:12,516 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:12,516 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:12,519 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [5, 5, 5, 5, 5, 5, 1] [2018-11-23 11:55:12,519 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:12,519 INFO L794 eck$LassoCheckResult]: Stem: 4456#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 4457#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4502#L14 assume !(0 == main_~i~0); 4503#L14-2 assume !(main_~i~0 == main_~range~0); 4486#L17-1 assume !(1 == main_~up~0); 4483#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4479#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4480#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4556#L14 assume !(0 == main_~i~0); 4554#L14-2 assume !(main_~i~0 == main_~range~0); 4552#L17-1 assume !(1 == main_~up~0); 4550#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4548#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4546#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4543#L14 assume !(0 == main_~i~0); 4540#L14-2 assume !(main_~i~0 == main_~range~0); 4537#L17-1 assume !(1 == main_~up~0); 4534#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4531#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4532#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4544#L14 assume !(0 == main_~i~0); 4541#L14-2 assume !(main_~i~0 == main_~range~0); 4538#L17-1 assume !(1 == main_~up~0); 4535#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4521#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4506#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4520#L14 assume !(0 == main_~i~0); 4519#L14-2 assume !(main_~i~0 == main_~range~0); 4517#L17-1 assume !(1 == main_~up~0); 4518#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4505#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4504#L26-1 [2018-11-23 11:55:12,520 INFO L796 eck$LassoCheckResult]: Loop: 4504#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4501#L14 assume 0 == main_~i~0;main_~up~0 := 1; 4477#L14-2 assume !(main_~i~0 == main_~range~0); 4478#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 4465#L20-1 assume !(0 == main_~up~0); 4466#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 4513#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4512#L14 assume !(0 == main_~i~0); 4511#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 4510#L17-1 assume !(1 == main_~up~0); 4509#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4507#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 4504#L26-1 [2018-11-23 11:55:12,520 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,520 INFO L82 PathProgramCache]: Analyzing trace with hash -1184179275, now seen corresponding path program 2 times [2018-11-23 11:55:12,520 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,520 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,521 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,521 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:12,521 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,533 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,533 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 6 times [2018-11-23 11:55:12,533 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,533 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,534 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,534 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:12,534 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,538 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,538 INFO L82 PathProgramCache]: Analyzing trace with hash -1981329641, now seen corresponding path program 2 times [2018-11-23 11:55:12,538 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,539 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,539 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,539 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:12,540 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,610 INFO L134 CoverageAnalysis]: Checked inductivity of 126 backedges. 52 proven. 70 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:12,610 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:12,610 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:12,624 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 11:55:12,637 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:55:12,637 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:12,639 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,647 INFO L134 CoverageAnalysis]: Checked inductivity of 126 backedges. 52 proven. 70 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:12,672 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:12,672 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2018-11-23 11:55:12,729 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 11:55:12,729 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:55:12,730 INFO L87 Difference]: Start difference. First operand 106 states and 119 transitions. cyclomatic complexity: 18 Second operand 8 states. [2018-11-23 11:55:12,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:12,828 INFO L93 Difference]: Finished difference Result 159 states and 177 transitions. [2018-11-23 11:55:12,828 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 11:55:12,828 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 159 states and 177 transitions. [2018-11-23 11:55:12,829 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:12,829 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 159 states to 157 states and 175 transitions. [2018-11-23 11:55:12,829 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:12,829 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:12,829 INFO L73 IsDeterministic]: Start isDeterministic. Operand 157 states and 175 transitions. [2018-11-23 11:55:12,830 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:12,830 INFO L705 BuchiCegarLoop]: Abstraction has 157 states and 175 transitions. [2018-11-23 11:55:12,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states and 175 transitions. [2018-11-23 11:55:12,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 118. [2018-11-23 11:55:12,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 118 states. [2018-11-23 11:55:12,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 132 transitions. [2018-11-23 11:55:12,831 INFO L728 BuchiCegarLoop]: Abstraction has 118 states and 132 transitions. [2018-11-23 11:55:12,831 INFO L608 BuchiCegarLoop]: Abstraction has 118 states and 132 transitions. [2018-11-23 11:55:12,831 INFO L442 BuchiCegarLoop]: ======== Iteration 16============ [2018-11-23 11:55:12,831 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 118 states and 132 transitions. [2018-11-23 11:55:12,831 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:12,831 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:12,831 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:12,832 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [6, 6, 6, 6, 6, 6, 1] [2018-11-23 11:55:12,832 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:12,832 INFO L794 eck$LassoCheckResult]: Stem: 4870#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 4871#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4916#L14 assume !(0 == main_~i~0); 4917#L14-2 assume !(main_~i~0 == main_~range~0); 4900#L17-1 assume !(1 == main_~up~0); 4897#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4893#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4894#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4982#L14 assume !(0 == main_~i~0); 4980#L14-2 assume !(main_~i~0 == main_~range~0); 4978#L17-1 assume !(1 == main_~up~0); 4976#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4974#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4972#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4970#L14 assume !(0 == main_~i~0); 4968#L14-2 assume !(main_~i~0 == main_~range~0); 4966#L17-1 assume !(1 == main_~up~0); 4964#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4962#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4960#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4957#L14 assume !(0 == main_~i~0); 4954#L14-2 assume !(main_~i~0 == main_~range~0); 4951#L17-1 assume !(1 == main_~up~0); 4948#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4945#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4946#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4958#L14 assume !(0 == main_~i~0); 4955#L14-2 assume !(main_~i~0 == main_~range~0); 4952#L17-1 assume !(1 == main_~up~0); 4949#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4935#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4920#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4934#L14 assume !(0 == main_~i~0); 4933#L14-2 assume !(main_~i~0 == main_~range~0); 4931#L17-1 assume !(1 == main_~up~0); 4932#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4919#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 4918#L26-1 [2018-11-23 11:55:12,832 INFO L796 eck$LassoCheckResult]: Loop: 4918#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4915#L14 assume 0 == main_~i~0;main_~up~0 := 1; 4891#L14-2 assume !(main_~i~0 == main_~range~0); 4892#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 4879#L20-1 assume !(0 == main_~up~0); 4880#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 4927#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 4926#L14 assume !(0 == main_~i~0); 4925#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 4924#L17-1 assume !(1 == main_~up~0); 4923#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 4921#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 4918#L26-1 [2018-11-23 11:55:12,832 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,832 INFO L82 PathProgramCache]: Analyzing trace with hash -279950394, now seen corresponding path program 3 times [2018-11-23 11:55:12,833 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,833 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,833 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,833 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:12,834 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,840 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,840 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 7 times [2018-11-23 11:55:12,840 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,840 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,841 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,841 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:12,841 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:12,843 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:12,844 INFO L82 PathProgramCache]: Analyzing trace with hash 970468776, now seen corresponding path program 3 times [2018-11-23 11:55:12,844 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:12,844 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:12,844 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,844 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:12,844 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:12,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:12,890 INFO L134 CoverageAnalysis]: Checked inductivity of 168 backedges. 62 proven. 102 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:12,891 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:12,891 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:12,896 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 11:55:12,906 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 8 check-sat command(s) [2018-11-23 11:55:12,906 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:12,907 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:12,913 INFO L134 CoverageAnalysis]: Checked inductivity of 168 backedges. 62 proven. 102 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:12,928 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:12,928 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2018-11-23 11:55:12,954 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 11:55:12,954 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:55:12,954 INFO L87 Difference]: Start difference. First operand 118 states and 132 transitions. cyclomatic complexity: 19 Second operand 9 states. [2018-11-23 11:55:13,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:13,046 INFO L93 Difference]: Finished difference Result 177 states and 197 transitions. [2018-11-23 11:55:13,046 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 11:55:13,046 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 177 states and 197 transitions. [2018-11-23 11:55:13,047 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:13,048 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 177 states to 175 states and 195 transitions. [2018-11-23 11:55:13,048 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:13,048 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:13,048 INFO L73 IsDeterministic]: Start isDeterministic. Operand 175 states and 195 transitions. [2018-11-23 11:55:13,048 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:13,048 INFO L705 BuchiCegarLoop]: Abstraction has 175 states and 195 transitions. [2018-11-23 11:55:13,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states and 195 transitions. [2018-11-23 11:55:13,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 130. [2018-11-23 11:55:13,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 130 states. [2018-11-23 11:55:13,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 145 transitions. [2018-11-23 11:55:13,051 INFO L728 BuchiCegarLoop]: Abstraction has 130 states and 145 transitions. [2018-11-23 11:55:13,051 INFO L608 BuchiCegarLoop]: Abstraction has 130 states and 145 transitions. [2018-11-23 11:55:13,051 INFO L442 BuchiCegarLoop]: ======== Iteration 17============ [2018-11-23 11:55:13,051 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 130 states and 145 transitions. [2018-11-23 11:55:13,051 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:13,051 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:13,051 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:13,052 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [7, 7, 7, 7, 7, 7, 1] [2018-11-23 11:55:13,052 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:13,052 INFO L794 eck$LassoCheckResult]: Stem: 5331#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 5332#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5381#L14 assume !(0 == main_~i~0); 5382#L14-2 assume !(main_~i~0 == main_~range~0); 5365#L17-1 assume !(1 == main_~up~0); 5362#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5358#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5359#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5459#L14 assume !(0 == main_~i~0); 5457#L14-2 assume !(main_~i~0 == main_~range~0); 5455#L17-1 assume !(1 == main_~up~0); 5453#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5451#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5449#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5447#L14 assume !(0 == main_~i~0); 5445#L14-2 assume !(main_~i~0 == main_~range~0); 5443#L17-1 assume !(1 == main_~up~0); 5441#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5439#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5437#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5435#L14 assume !(0 == main_~i~0); 5433#L14-2 assume !(main_~i~0 == main_~range~0); 5431#L17-1 assume !(1 == main_~up~0); 5429#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5427#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5425#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5422#L14 assume !(0 == main_~i~0); 5419#L14-2 assume !(main_~i~0 == main_~range~0); 5416#L17-1 assume !(1 == main_~up~0); 5413#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5410#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5411#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5423#L14 assume !(0 == main_~i~0); 5420#L14-2 assume !(main_~i~0 == main_~range~0); 5417#L17-1 assume !(1 == main_~up~0); 5414#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5400#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5385#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5399#L14 assume !(0 == main_~i~0); 5398#L14-2 assume !(main_~i~0 == main_~range~0); 5396#L17-1 assume !(1 == main_~up~0); 5397#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5384#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5383#L26-1 [2018-11-23 11:55:13,052 INFO L796 eck$LassoCheckResult]: Loop: 5383#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5380#L14 assume 0 == main_~i~0;main_~up~0 := 1; 5356#L14-2 assume !(main_~i~0 == main_~range~0); 5357#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 5344#L20-1 assume !(0 == main_~up~0); 5345#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 5392#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5391#L14 assume !(0 == main_~i~0); 5390#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 5389#L17-1 assume !(1 == main_~up~0); 5388#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5386#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 5383#L26-1 [2018-11-23 11:55:13,052 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,053 INFO L82 PathProgramCache]: Analyzing trace with hash -1565807849, now seen corresponding path program 4 times [2018-11-23 11:55:13,053 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,053 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,053 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,054 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,062 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,062 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 8 times [2018-11-23 11:55:13,062 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,062 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,063 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,063 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,063 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,067 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,067 INFO L82 PathProgramCache]: Analyzing trace with hash -745399431, now seen corresponding path program 4 times [2018-11-23 11:55:13,067 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,067 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,068 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,068 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,068 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:13,162 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 72 proven. 140 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:13,162 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:13,162 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:13,173 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 11:55:13,201 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 11:55:13,201 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:13,202 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:13,209 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 72 proven. 140 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:13,224 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:13,224 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 9 [2018-11-23 11:55:13,259 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 11:55:13,259 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2018-11-23 11:55:13,259 INFO L87 Difference]: Start difference. First operand 130 states and 145 transitions. cyclomatic complexity: 20 Second operand 10 states. [2018-11-23 11:55:13,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:13,344 INFO L93 Difference]: Finished difference Result 195 states and 217 transitions. [2018-11-23 11:55:13,344 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 11:55:13,345 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 195 states and 217 transitions. [2018-11-23 11:55:13,346 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:13,346 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 195 states to 193 states and 215 transitions. [2018-11-23 11:55:13,346 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:13,347 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:13,347 INFO L73 IsDeterministic]: Start isDeterministic. Operand 193 states and 215 transitions. [2018-11-23 11:55:13,347 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:13,347 INFO L705 BuchiCegarLoop]: Abstraction has 193 states and 215 transitions. [2018-11-23 11:55:13,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states and 215 transitions. [2018-11-23 11:55:13,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 142. [2018-11-23 11:55:13,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 142 states. [2018-11-23 11:55:13,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 158 transitions. [2018-11-23 11:55:13,353 INFO L728 BuchiCegarLoop]: Abstraction has 142 states and 158 transitions. [2018-11-23 11:55:13,353 INFO L608 BuchiCegarLoop]: Abstraction has 142 states and 158 transitions. [2018-11-23 11:55:13,353 INFO L442 BuchiCegarLoop]: ======== Iteration 18============ [2018-11-23 11:55:13,353 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 142 states and 158 transitions. [2018-11-23 11:55:13,354 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:13,354 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:13,354 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:13,355 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [8, 8, 8, 8, 8, 8, 1] [2018-11-23 11:55:13,355 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:13,355 INFO L794 eck$LassoCheckResult]: Stem: 5847#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 5848#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5897#L14 assume !(0 == main_~i~0); 5898#L14-2 assume !(main_~i~0 == main_~range~0); 5881#L17-1 assume !(1 == main_~up~0); 5878#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5874#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5875#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5987#L14 assume !(0 == main_~i~0); 5985#L14-2 assume !(main_~i~0 == main_~range~0); 5983#L17-1 assume !(1 == main_~up~0); 5981#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5979#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5977#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5975#L14 assume !(0 == main_~i~0); 5973#L14-2 assume !(main_~i~0 == main_~range~0); 5971#L17-1 assume !(1 == main_~up~0); 5969#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5967#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5965#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5963#L14 assume !(0 == main_~i~0); 5961#L14-2 assume !(main_~i~0 == main_~range~0); 5959#L17-1 assume !(1 == main_~up~0); 5957#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5955#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5953#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5951#L14 assume !(0 == main_~i~0); 5949#L14-2 assume !(main_~i~0 == main_~range~0); 5947#L17-1 assume !(1 == main_~up~0); 5945#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5943#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5941#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5938#L14 assume !(0 == main_~i~0); 5935#L14-2 assume !(main_~i~0 == main_~range~0); 5932#L17-1 assume !(1 == main_~up~0); 5929#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5926#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5927#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5939#L14 assume !(0 == main_~i~0); 5936#L14-2 assume !(main_~i~0 == main_~range~0); 5933#L17-1 assume !(1 == main_~up~0); 5930#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5916#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5901#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5915#L14 assume !(0 == main_~i~0); 5914#L14-2 assume !(main_~i~0 == main_~range~0); 5912#L17-1 assume !(1 == main_~up~0); 5913#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5900#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 5899#L26-1 [2018-11-23 11:55:13,355 INFO L796 eck$LassoCheckResult]: Loop: 5899#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5896#L14 assume 0 == main_~i~0;main_~up~0 := 1; 5872#L14-2 assume !(main_~i~0 == main_~range~0); 5873#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 5860#L20-1 assume !(0 == main_~up~0); 5861#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 5908#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 5907#L14 assume !(0 == main_~i~0); 5906#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 5905#L17-1 assume !(1 == main_~up~0); 5904#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 5902#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 5899#L26-1 [2018-11-23 11:55:13,355 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,355 INFO L82 PathProgramCache]: Analyzing trace with hash 1385990568, now seen corresponding path program 5 times [2018-11-23 11:55:13,355 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,356 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,356 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,356 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,356 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,365 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,365 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 9 times [2018-11-23 11:55:13,365 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,366 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,366 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,366 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,366 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,370 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,370 INFO L82 PathProgramCache]: Analyzing trace with hash -748902262, now seen corresponding path program 5 times [2018-11-23 11:55:13,370 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,370 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,371 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,371 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,371 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:13,430 INFO L134 CoverageAnalysis]: Checked inductivity of 270 backedges. 82 proven. 184 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:13,430 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:13,430 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:13,447 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 11:55:13,484 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2018-11-23 11:55:13,484 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:13,485 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:13,546 INFO L134 CoverageAnalysis]: Checked inductivity of 270 backedges. 82 proven. 184 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:13,565 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:13,565 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 17 [2018-11-23 11:55:13,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 11:55:13,630 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=217, Unknown=0, NotChecked=0, Total=306 [2018-11-23 11:55:13,630 INFO L87 Difference]: Start difference. First operand 142 states and 158 transitions. cyclomatic complexity: 21 Second operand 18 states. [2018-11-23 11:55:13,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:13,930 INFO L93 Difference]: Finished difference Result 313 states and 337 transitions. [2018-11-23 11:55:13,932 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-23 11:55:13,932 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 313 states and 337 transitions. [2018-11-23 11:55:13,933 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:13,934 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 313 states to 301 states and 325 transitions. [2018-11-23 11:55:13,934 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:13,934 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:13,935 INFO L73 IsDeterministic]: Start isDeterministic. Operand 301 states and 325 transitions. [2018-11-23 11:55:13,935 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:13,935 INFO L705 BuchiCegarLoop]: Abstraction has 301 states and 325 transitions. [2018-11-23 11:55:13,935 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 301 states and 325 transitions. [2018-11-23 11:55:13,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 301 to 124. [2018-11-23 11:55:13,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 11:55:13,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 136 transitions. [2018-11-23 11:55:13,942 INFO L728 BuchiCegarLoop]: Abstraction has 124 states and 136 transitions. [2018-11-23 11:55:13,942 INFO L608 BuchiCegarLoop]: Abstraction has 124 states and 136 transitions. [2018-11-23 11:55:13,942 INFO L442 BuchiCegarLoop]: ======== Iteration 19============ [2018-11-23 11:55:13,942 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 124 states and 136 transitions. [2018-11-23 11:55:13,943 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:13,943 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:13,943 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:13,943 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [9, 9, 9, 9, 9, 9, 1] [2018-11-23 11:55:13,944 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:13,944 INFO L794 eck$LassoCheckResult]: Stem: 6561#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 6562#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6612#L14 assume !(0 == main_~i~0); 6613#L14-2 assume !(main_~i~0 == main_~range~0); 6596#L17-1 assume !(1 == main_~up~0); 6593#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6589#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6590#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6684#L14 assume !(0 == main_~i~0); 6683#L14-2 assume !(main_~i~0 == main_~range~0); 6682#L17-1 assume !(1 == main_~up~0); 6681#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6670#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6669#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6668#L14 assume !(0 == main_~i~0); 6667#L14-2 assume !(main_~i~0 == main_~range~0); 6666#L17-1 assume !(1 == main_~up~0); 6665#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6664#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6663#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6662#L14 assume !(0 == main_~i~0); 6661#L14-2 assume !(main_~i~0 == main_~range~0); 6660#L17-1 assume !(1 == main_~up~0); 6659#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6658#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6657#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6656#L14 assume !(0 == main_~i~0); 6655#L14-2 assume !(main_~i~0 == main_~range~0); 6654#L17-1 assume !(1 == main_~up~0); 6653#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6652#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6651#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6650#L14 assume !(0 == main_~i~0); 6649#L14-2 assume !(main_~i~0 == main_~range~0); 6648#L17-1 assume !(1 == main_~up~0); 6647#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6646#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6645#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6644#L14 assume !(0 == main_~i~0); 6643#L14-2 assume !(main_~i~0 == main_~range~0); 6642#L17-1 assume !(1 == main_~up~0); 6641#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6640#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6639#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6637#L14 assume !(0 == main_~i~0); 6635#L14-2 assume !(main_~i~0 == main_~range~0); 6633#L17-1 assume !(1 == main_~up~0); 6632#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6631#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6616#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6630#L14 assume !(0 == main_~i~0); 6629#L14-2 assume !(main_~i~0 == main_~range~0); 6627#L17-1 assume !(1 == main_~up~0); 6628#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6615#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 6614#L26-1 [2018-11-23 11:55:13,944 INFO L796 eck$LassoCheckResult]: Loop: 6614#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6611#L14 assume 0 == main_~i~0;main_~up~0 := 1; 6587#L14-2 assume !(main_~i~0 == main_~range~0); 6588#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 6574#L20-1 assume !(0 == main_~up~0); 6575#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 6623#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 6622#L14 assume !(0 == main_~i~0); 6621#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 6620#L17-1 assume !(1 == main_~up~0); 6619#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 6617#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 6614#L26-1 [2018-11-23 11:55:13,944 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,944 INFO L82 PathProgramCache]: Analyzing trace with hash -329877639, now seen corresponding path program 6 times [2018-11-23 11:55:13,944 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,944 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,949 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,960 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,961 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 10 times [2018-11-23 11:55:13,961 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,961 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,961 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,962 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:13,965 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:13,965 INFO L82 PathProgramCache]: Analyzing trace with hash -1517067045, now seen corresponding path program 6 times [2018-11-23 11:55:13,965 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:13,966 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:13,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,966 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:13,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:13,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:14,071 INFO L134 CoverageAnalysis]: Checked inductivity of 330 backedges. 92 proven. 234 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:14,072 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:14,072 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:14,085 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 11:55:14,107 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2018-11-23 11:55:14,107 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:14,110 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:14,126 INFO L134 CoverageAnalysis]: Checked inductivity of 330 backedges. 92 proven. 234 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:14,151 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:14,152 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-23 11:55:14,190 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 11:55:14,190 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2018-11-23 11:55:14,190 INFO L87 Difference]: Start difference. First operand 124 states and 136 transitions. cyclomatic complexity: 17 Second operand 13 states. [2018-11-23 11:55:14,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:14,424 INFO L93 Difference]: Finished difference Result 231 states and 257 transitions. [2018-11-23 11:55:14,425 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2018-11-23 11:55:14,425 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 231 states and 257 transitions. [2018-11-23 11:55:14,426 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:14,427 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 231 states to 229 states and 255 transitions. [2018-11-23 11:55:14,427 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:14,427 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:14,427 INFO L73 IsDeterministic]: Start isDeterministic. Operand 229 states and 255 transitions. [2018-11-23 11:55:14,427 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:14,427 INFO L705 BuchiCegarLoop]: Abstraction has 229 states and 255 transitions. [2018-11-23 11:55:14,427 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states and 255 transitions. [2018-11-23 11:55:14,429 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 130. [2018-11-23 11:55:14,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 130 states. [2018-11-23 11:55:14,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 142 transitions. [2018-11-23 11:55:14,430 INFO L728 BuchiCegarLoop]: Abstraction has 130 states and 142 transitions. [2018-11-23 11:55:14,430 INFO L608 BuchiCegarLoop]: Abstraction has 130 states and 142 transitions. [2018-11-23 11:55:14,430 INFO L442 BuchiCegarLoop]: ======== Iteration 20============ [2018-11-23 11:55:14,430 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 130 states and 142 transitions. [2018-11-23 11:55:14,431 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:14,431 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:14,431 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:14,431 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [10, 10, 10, 10, 10, 10, 1] [2018-11-23 11:55:14,431 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:14,432 INFO L794 eck$LassoCheckResult]: Stem: 7168#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 7169#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7219#L14 assume !(0 == main_~i~0); 7220#L14-2 assume !(main_~i~0 == main_~range~0); 7203#L17-1 assume !(1 == main_~up~0); 7200#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7196#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7197#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7297#L14 assume !(0 == main_~i~0); 7296#L14-2 assume !(main_~i~0 == main_~range~0); 7295#L17-1 assume !(1 == main_~up~0); 7294#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7283#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7282#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7281#L14 assume !(0 == main_~i~0); 7280#L14-2 assume !(main_~i~0 == main_~range~0); 7279#L17-1 assume !(1 == main_~up~0); 7278#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7277#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7276#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7275#L14 assume !(0 == main_~i~0); 7274#L14-2 assume !(main_~i~0 == main_~range~0); 7273#L17-1 assume !(1 == main_~up~0); 7272#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7271#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7270#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7269#L14 assume !(0 == main_~i~0); 7268#L14-2 assume !(main_~i~0 == main_~range~0); 7267#L17-1 assume !(1 == main_~up~0); 7266#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7265#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7264#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7263#L14 assume !(0 == main_~i~0); 7262#L14-2 assume !(main_~i~0 == main_~range~0); 7261#L17-1 assume !(1 == main_~up~0); 7260#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7259#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7258#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7257#L14 assume !(0 == main_~i~0); 7256#L14-2 assume !(main_~i~0 == main_~range~0); 7255#L17-1 assume !(1 == main_~up~0); 7254#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7253#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7252#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7251#L14 assume !(0 == main_~i~0); 7250#L14-2 assume !(main_~i~0 == main_~range~0); 7249#L17-1 assume !(1 == main_~up~0); 7248#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7247#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7246#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7244#L14 assume !(0 == main_~i~0); 7242#L14-2 assume !(main_~i~0 == main_~range~0); 7240#L17-1 assume !(1 == main_~up~0); 7239#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7238#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7223#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7237#L14 assume !(0 == main_~i~0); 7236#L14-2 assume !(main_~i~0 == main_~range~0); 7234#L17-1 assume !(1 == main_~up~0); 7235#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7222#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 7221#L26-1 [2018-11-23 11:55:14,432 INFO L796 eck$LassoCheckResult]: Loop: 7221#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7218#L14 assume 0 == main_~i~0;main_~up~0 := 1; 7194#L14-2 assume !(main_~i~0 == main_~range~0); 7195#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 7181#L20-1 assume !(0 == main_~up~0); 7182#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 7230#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 7229#L14 assume !(0 == main_~i~0); 7228#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 7227#L17-1 assume !(1 == main_~up~0); 7226#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 7224#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 7221#L26-1 [2018-11-23 11:55:14,432 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:14,432 INFO L82 PathProgramCache]: Analyzing trace with hash -333380470, now seen corresponding path program 7 times [2018-11-23 11:55:14,432 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:14,432 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:14,433 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,433 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:14,433 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,443 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:14,444 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 11 times [2018-11-23 11:55:14,444 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:14,444 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:14,444 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,444 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:14,445 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,448 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:14,448 INFO L82 PathProgramCache]: Analyzing trace with hash 1202053228, now seen corresponding path program 7 times [2018-11-23 11:55:14,448 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:14,448 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:14,449 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,449 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:14,449 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:14,539 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 102 proven. 290 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:14,539 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:14,540 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:14,553 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:14,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:14,568 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:14,577 INFO L134 CoverageAnalysis]: Checked inductivity of 396 backedges. 102 proven. 290 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:14,601 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:14,602 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 12 [2018-11-23 11:55:14,643 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 11:55:14,643 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=88, Unknown=0, NotChecked=0, Total=156 [2018-11-23 11:55:14,643 INFO L87 Difference]: Start difference. First operand 130 states and 142 transitions. cyclomatic complexity: 17 Second operand 13 states. [2018-11-23 11:55:14,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:14,790 INFO L93 Difference]: Finished difference Result 494 states and 522 transitions. [2018-11-23 11:55:14,790 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 11:55:14,790 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 494 states and 522 transitions. [2018-11-23 11:55:14,792 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:14,793 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 494 states to 492 states and 520 transitions. [2018-11-23 11:55:14,793 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:14,794 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:14,794 INFO L73 IsDeterministic]: Start isDeterministic. Operand 492 states and 520 transitions. [2018-11-23 11:55:14,794 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:14,794 INFO L705 BuchiCegarLoop]: Abstraction has 492 states and 520 transitions. [2018-11-23 11:55:14,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 492 states and 520 transitions. [2018-11-23 11:55:14,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 492 to 136. [2018-11-23 11:55:14,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2018-11-23 11:55:14,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 148 transitions. [2018-11-23 11:55:14,797 INFO L728 BuchiCegarLoop]: Abstraction has 136 states and 148 transitions. [2018-11-23 11:55:14,797 INFO L608 BuchiCegarLoop]: Abstraction has 136 states and 148 transitions. [2018-11-23 11:55:14,797 INFO L442 BuchiCegarLoop]: ======== Iteration 21============ [2018-11-23 11:55:14,798 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 136 states and 148 transitions. [2018-11-23 11:55:14,798 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:14,798 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:14,798 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:14,799 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [11, 11, 11, 11, 11, 11, 1] [2018-11-23 11:55:14,799 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:14,799 INFO L794 eck$LassoCheckResult]: Stem: 8046#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 8047#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8095#L14 assume !(0 == main_~i~0); 8096#L14-2 assume !(main_~i~0 == main_~range~0); 8079#L17-1 assume !(1 == main_~up~0); 8076#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8072#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8073#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8178#L14 assume !(0 == main_~i~0); 8175#L14-2 assume !(main_~i~0 == main_~range~0); 8172#L17-1 assume !(1 == main_~up~0); 8169#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8166#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8167#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8179#L14 assume !(0 == main_~i~0); 8176#L14-2 assume !(main_~i~0 == main_~range~0); 8173#L17-1 assume !(1 == main_~up~0); 8170#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8159#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8158#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8157#L14 assume !(0 == main_~i~0); 8156#L14-2 assume !(main_~i~0 == main_~range~0); 8155#L17-1 assume !(1 == main_~up~0); 8154#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8153#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8152#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8151#L14 assume !(0 == main_~i~0); 8150#L14-2 assume !(main_~i~0 == main_~range~0); 8149#L17-1 assume !(1 == main_~up~0); 8148#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8147#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8146#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8145#L14 assume !(0 == main_~i~0); 8144#L14-2 assume !(main_~i~0 == main_~range~0); 8143#L17-1 assume !(1 == main_~up~0); 8142#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8141#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8140#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8139#L14 assume !(0 == main_~i~0); 8138#L14-2 assume !(main_~i~0 == main_~range~0); 8137#L17-1 assume !(1 == main_~up~0); 8136#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8135#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8134#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8133#L14 assume !(0 == main_~i~0); 8132#L14-2 assume !(main_~i~0 == main_~range~0); 8131#L17-1 assume !(1 == main_~up~0); 8130#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8129#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8128#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8127#L14 assume !(0 == main_~i~0); 8126#L14-2 assume !(main_~i~0 == main_~range~0); 8125#L17-1 assume !(1 == main_~up~0); 8124#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8123#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8122#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8121#L14 assume !(0 == main_~i~0); 8120#L14-2 assume !(main_~i~0 == main_~range~0); 8119#L17-1 assume !(1 == main_~up~0); 8118#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8114#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8099#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8113#L14 assume !(0 == main_~i~0); 8112#L14-2 assume !(main_~i~0 == main_~range~0); 8110#L17-1 assume !(1 == main_~up~0); 8111#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8098#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8097#L26-1 [2018-11-23 11:55:14,799 INFO L796 eck$LassoCheckResult]: Loop: 8097#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8094#L14 assume 0 == main_~i~0;main_~up~0 := 1; 8070#L14-2 assume !(main_~i~0 == main_~range~0); 8071#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 8059#L20-1 assume !(0 == main_~up~0); 8060#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 8106#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 8105#L14 assume !(0 == main_~i~0); 8104#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 8103#L17-1 assume !(1 == main_~up~0); 8102#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8100#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 8097#L26-1 [2018-11-23 11:55:14,799 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:14,800 INFO L82 PathProgramCache]: Analyzing trace with hash -1101545253, now seen corresponding path program 8 times [2018-11-23 11:55:14,800 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:14,800 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:14,801 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,801 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:14,801 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,814 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:14,814 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 12 times [2018-11-23 11:55:14,814 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:14,814 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:14,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,815 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:14,815 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:14,818 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:14,818 INFO L82 PathProgramCache]: Analyzing trace with hash 689417021, now seen corresponding path program 8 times [2018-11-23 11:55:14,818 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:14,819 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:14,819 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,819 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:14,819 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:14,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:14,954 INFO L134 CoverageAnalysis]: Checked inductivity of 468 backedges. 112 proven. 352 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:14,954 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:14,954 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:14,967 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 11:55:14,981 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:55:14,981 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:14,982 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:14,994 INFO L134 CoverageAnalysis]: Checked inductivity of 468 backedges. 112 proven. 352 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:15,015 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:15,015 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 13 [2018-11-23 11:55:15,048 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 11:55:15,049 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=102, Unknown=0, NotChecked=0, Total=182 [2018-11-23 11:55:15,049 INFO L87 Difference]: Start difference. First operand 136 states and 148 transitions. cyclomatic complexity: 17 Second operand 14 states. [2018-11-23 11:55:15,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:15,210 INFO L93 Difference]: Finished difference Result 512 states and 542 transitions. [2018-11-23 11:55:15,210 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 11:55:15,210 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 512 states and 542 transitions. [2018-11-23 11:55:15,211 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:15,212 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 512 states to 510 states and 540 transitions. [2018-11-23 11:55:15,212 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:15,212 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:15,212 INFO L73 IsDeterministic]: Start isDeterministic. Operand 510 states and 540 transitions. [2018-11-23 11:55:15,213 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:15,213 INFO L705 BuchiCegarLoop]: Abstraction has 510 states and 540 transitions. [2018-11-23 11:55:15,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 510 states and 540 transitions. [2018-11-23 11:55:15,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 510 to 148. [2018-11-23 11:55:15,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 148 states. [2018-11-23 11:55:15,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 161 transitions. [2018-11-23 11:55:15,216 INFO L728 BuchiCegarLoop]: Abstraction has 148 states and 161 transitions. [2018-11-23 11:55:15,216 INFO L608 BuchiCegarLoop]: Abstraction has 148 states and 161 transitions. [2018-11-23 11:55:15,216 INFO L442 BuchiCegarLoop]: ======== Iteration 22============ [2018-11-23 11:55:15,216 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 148 states and 161 transitions. [2018-11-23 11:55:15,217 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:15,217 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:15,217 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:15,218 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [12, 12, 12, 12, 12, 12, 1] [2018-11-23 11:55:15,218 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:15,218 INFO L794 eck$LassoCheckResult]: Stem: 8969#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 8970#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9019#L14 assume !(0 == main_~i~0); 9020#L14-2 assume !(main_~i~0 == main_~range~0); 9003#L17-1 assume !(1 == main_~up~0); 9000#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 8996#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 8997#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9115#L14 assume !(0 == main_~i~0); 9113#L14-2 assume !(main_~i~0 == main_~range~0); 9111#L17-1 assume !(1 == main_~up~0); 9109#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9107#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9105#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9102#L14 assume !(0 == main_~i~0); 9099#L14-2 assume !(main_~i~0 == main_~range~0); 9096#L17-1 assume !(1 == main_~up~0); 9093#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9090#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9091#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9103#L14 assume !(0 == main_~i~0); 9100#L14-2 assume !(main_~i~0 == main_~range~0); 9097#L17-1 assume !(1 == main_~up~0); 9094#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9083#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9082#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9081#L14 assume !(0 == main_~i~0); 9080#L14-2 assume !(main_~i~0 == main_~range~0); 9079#L17-1 assume !(1 == main_~up~0); 9078#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9077#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9076#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9075#L14 assume !(0 == main_~i~0); 9074#L14-2 assume !(main_~i~0 == main_~range~0); 9073#L17-1 assume !(1 == main_~up~0); 9072#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9071#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9070#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9069#L14 assume !(0 == main_~i~0); 9068#L14-2 assume !(main_~i~0 == main_~range~0); 9067#L17-1 assume !(1 == main_~up~0); 9066#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9065#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9064#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9063#L14 assume !(0 == main_~i~0); 9062#L14-2 assume !(main_~i~0 == main_~range~0); 9061#L17-1 assume !(1 == main_~up~0); 9060#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9059#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9058#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9057#L14 assume !(0 == main_~i~0); 9056#L14-2 assume !(main_~i~0 == main_~range~0); 9055#L17-1 assume !(1 == main_~up~0); 9054#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9053#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9052#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9051#L14 assume !(0 == main_~i~0); 9050#L14-2 assume !(main_~i~0 == main_~range~0); 9049#L17-1 assume !(1 == main_~up~0); 9048#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9047#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9046#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9045#L14 assume !(0 == main_~i~0); 9044#L14-2 assume !(main_~i~0 == main_~range~0); 9043#L17-1 assume !(1 == main_~up~0); 9042#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9038#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9023#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9037#L14 assume !(0 == main_~i~0); 9036#L14-2 assume !(main_~i~0 == main_~range~0); 9034#L17-1 assume !(1 == main_~up~0); 9035#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9022#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9021#L26-1 [2018-11-23 11:55:15,218 INFO L796 eck$LassoCheckResult]: Loop: 9021#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9018#L14 assume 0 == main_~i~0;main_~up~0 := 1; 8994#L14-2 assume !(main_~i~0 == main_~range~0); 8995#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 8982#L20-1 assume !(0 == main_~up~0); 8983#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 9030#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9029#L14 assume !(0 == main_~i~0); 9028#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 9027#L17-1 assume !(1 == main_~up~0); 9026#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9024#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 9021#L26-1 [2018-11-23 11:55:15,218 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:15,219 INFO L82 PathProgramCache]: Analyzing trace with hash 1617575020, now seen corresponding path program 9 times [2018-11-23 11:55:15,219 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:15,219 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:15,219 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,220 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:15,220 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,232 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:15,232 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 13 times [2018-11-23 11:55:15,232 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:15,232 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:15,233 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,233 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:15,233 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,236 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:15,236 INFO L82 PathProgramCache]: Analyzing trace with hash 1283478862, now seen corresponding path program 9 times [2018-11-23 11:55:15,236 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:15,237 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:15,237 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,237 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:15,237 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:15,364 INFO L134 CoverageAnalysis]: Checked inductivity of 546 backedges. 122 proven. 420 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:15,364 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:15,365 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:15,372 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 11:55:15,398 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) [2018-11-23 11:55:15,398 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:15,400 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:15,419 INFO L134 CoverageAnalysis]: Checked inductivity of 546 backedges. 122 proven. 420 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:15,435 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:15,435 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 14 [2018-11-23 11:55:15,479 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 11:55:15,479 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=117, Unknown=0, NotChecked=0, Total=210 [2018-11-23 11:55:15,479 INFO L87 Difference]: Start difference. First operand 148 states and 161 transitions. cyclomatic complexity: 18 Second operand 15 states. [2018-11-23 11:55:15,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:15,657 INFO L93 Difference]: Finished difference Result 530 states and 562 transitions. [2018-11-23 11:55:15,658 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 11:55:15,658 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 530 states and 562 transitions. [2018-11-23 11:55:15,660 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:15,661 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 530 states to 528 states and 560 transitions. [2018-11-23 11:55:15,661 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:15,661 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:15,661 INFO L73 IsDeterministic]: Start isDeterministic. Operand 528 states and 560 transitions. [2018-11-23 11:55:15,661 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:15,662 INFO L705 BuchiCegarLoop]: Abstraction has 528 states and 560 transitions. [2018-11-23 11:55:15,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 528 states and 560 transitions. [2018-11-23 11:55:15,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 528 to 160. [2018-11-23 11:55:15,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 160 states. [2018-11-23 11:55:15,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 174 transitions. [2018-11-23 11:55:15,666 INFO L728 BuchiCegarLoop]: Abstraction has 160 states and 174 transitions. [2018-11-23 11:55:15,666 INFO L608 BuchiCegarLoop]: Abstraction has 160 states and 174 transitions. [2018-11-23 11:55:15,666 INFO L442 BuchiCegarLoop]: ======== Iteration 23============ [2018-11-23 11:55:15,666 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 160 states and 174 transitions. [2018-11-23 11:55:15,666 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:15,667 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:15,667 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:15,667 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [13, 13, 13, 13, 13, 13, 1] [2018-11-23 11:55:15,667 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:15,668 INFO L794 eck$LassoCheckResult]: Stem: 9943#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 9944#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9993#L14 assume !(0 == main_~i~0); 9994#L14-2 assume !(main_~i~0 == main_~range~0); 9977#L17-1 assume !(1 == main_~up~0); 9974#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9970#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9971#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10101#L14 assume !(0 == main_~i~0); 10099#L14-2 assume !(main_~i~0 == main_~range~0); 10097#L17-1 assume !(1 == main_~up~0); 10095#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10093#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10091#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10089#L14 assume !(0 == main_~i~0); 10087#L14-2 assume !(main_~i~0 == main_~range~0); 10085#L17-1 assume !(1 == main_~up~0); 10083#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10081#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10079#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10076#L14 assume !(0 == main_~i~0); 10073#L14-2 assume !(main_~i~0 == main_~range~0); 10070#L17-1 assume !(1 == main_~up~0); 10067#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10064#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10065#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10077#L14 assume !(0 == main_~i~0); 10074#L14-2 assume !(main_~i~0 == main_~range~0); 10071#L17-1 assume !(1 == main_~up~0); 10068#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10057#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10056#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10055#L14 assume !(0 == main_~i~0); 10054#L14-2 assume !(main_~i~0 == main_~range~0); 10053#L17-1 assume !(1 == main_~up~0); 10052#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10051#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10050#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10049#L14 assume !(0 == main_~i~0); 10048#L14-2 assume !(main_~i~0 == main_~range~0); 10047#L17-1 assume !(1 == main_~up~0); 10046#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10045#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10044#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10043#L14 assume !(0 == main_~i~0); 10042#L14-2 assume !(main_~i~0 == main_~range~0); 10041#L17-1 assume !(1 == main_~up~0); 10040#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10039#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10038#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10037#L14 assume !(0 == main_~i~0); 10036#L14-2 assume !(main_~i~0 == main_~range~0); 10035#L17-1 assume !(1 == main_~up~0); 10034#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10033#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10032#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10031#L14 assume !(0 == main_~i~0); 10030#L14-2 assume !(main_~i~0 == main_~range~0); 10029#L17-1 assume !(1 == main_~up~0); 10028#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10027#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10026#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10025#L14 assume !(0 == main_~i~0); 10024#L14-2 assume !(main_~i~0 == main_~range~0); 10023#L17-1 assume !(1 == main_~up~0); 10022#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10021#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10020#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10019#L14 assume !(0 == main_~i~0); 10018#L14-2 assume !(main_~i~0 == main_~range~0); 10017#L17-1 assume !(1 == main_~up~0); 10016#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10012#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9997#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10011#L14 assume !(0 == main_~i~0); 10010#L14-2 assume !(main_~i~0 == main_~range~0); 10008#L17-1 assume !(1 == main_~up~0); 10009#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9996#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 9995#L26-1 [2018-11-23 11:55:15,668 INFO L796 eck$LassoCheckResult]: Loop: 9995#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 9992#L14 assume 0 == main_~i~0;main_~up~0 := 1; 9968#L14-2 assume !(main_~i~0 == main_~range~0); 9969#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 9956#L20-1 assume !(0 == main_~up~0); 9957#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 10004#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 10003#L14 assume !(0 == main_~i~0); 10002#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 10001#L17-1 assume !(1 == main_~up~0); 10000#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 9998#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 9995#L26-1 [2018-11-23 11:55:15,668 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:15,668 INFO L82 PathProgramCache]: Analyzing trace with hash 1104938813, now seen corresponding path program 10 times [2018-11-23 11:55:15,668 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:15,668 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:15,669 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,669 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:15,669 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,682 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:15,682 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 14 times [2018-11-23 11:55:15,682 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:15,682 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:15,683 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,683 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:15,683 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:15,686 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:15,687 INFO L82 PathProgramCache]: Analyzing trace with hash -1467257185, now seen corresponding path program 10 times [2018-11-23 11:55:15,687 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:15,687 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:15,687 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,687 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:15,688 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:15,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:15,801 INFO L134 CoverageAnalysis]: Checked inductivity of 630 backedges. 132 proven. 494 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:15,801 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:15,801 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:15,813 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 11:55:15,842 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 11:55:15,842 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:15,843 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:15,853 INFO L134 CoverageAnalysis]: Checked inductivity of 630 backedges. 132 proven. 494 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:15,869 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:15,869 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 15 [2018-11-23 11:55:15,896 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 11:55:15,896 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=133, Unknown=0, NotChecked=0, Total=240 [2018-11-23 11:55:15,896 INFO L87 Difference]: Start difference. First operand 160 states and 174 transitions. cyclomatic complexity: 19 Second operand 16 states. [2018-11-23 11:55:16,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:16,083 INFO L93 Difference]: Finished difference Result 548 states and 582 transitions. [2018-11-23 11:55:16,084 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 11:55:16,084 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 548 states and 582 transitions. [2018-11-23 11:55:16,086 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:16,087 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 548 states to 546 states and 580 transitions. [2018-11-23 11:55:16,087 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:16,087 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:16,087 INFO L73 IsDeterministic]: Start isDeterministic. Operand 546 states and 580 transitions. [2018-11-23 11:55:16,087 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:16,087 INFO L705 BuchiCegarLoop]: Abstraction has 546 states and 580 transitions. [2018-11-23 11:55:16,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 546 states and 580 transitions. [2018-11-23 11:55:16,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 546 to 172. [2018-11-23 11:55:16,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 172 states. [2018-11-23 11:55:16,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 187 transitions. [2018-11-23 11:55:16,091 INFO L728 BuchiCegarLoop]: Abstraction has 172 states and 187 transitions. [2018-11-23 11:55:16,091 INFO L608 BuchiCegarLoop]: Abstraction has 172 states and 187 transitions. [2018-11-23 11:55:16,092 INFO L442 BuchiCegarLoop]: ======== Iteration 24============ [2018-11-23 11:55:16,092 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 172 states and 187 transitions. [2018-11-23 11:55:16,092 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:16,092 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:16,092 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:16,093 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [14, 14, 14, 14, 14, 14, 1] [2018-11-23 11:55:16,093 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:16,093 INFO L794 eck$LassoCheckResult]: Stem: 10968#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 10969#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11018#L14 assume !(0 == main_~i~0); 11019#L14-2 assume !(main_~i~0 == main_~range~0); 11002#L17-1 assume !(1 == main_~up~0); 10999#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 10995#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 10996#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11138#L14 assume !(0 == main_~i~0); 11136#L14-2 assume !(main_~i~0 == main_~range~0); 11134#L17-1 assume !(1 == main_~up~0); 11132#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11130#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11128#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11126#L14 assume !(0 == main_~i~0); 11124#L14-2 assume !(main_~i~0 == main_~range~0); 11122#L17-1 assume !(1 == main_~up~0); 11120#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11118#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11116#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11114#L14 assume !(0 == main_~i~0); 11112#L14-2 assume !(main_~i~0 == main_~range~0); 11110#L17-1 assume !(1 == main_~up~0); 11108#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11106#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11104#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11101#L14 assume !(0 == main_~i~0); 11098#L14-2 assume !(main_~i~0 == main_~range~0); 11095#L17-1 assume !(1 == main_~up~0); 11092#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11089#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11090#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11102#L14 assume !(0 == main_~i~0); 11099#L14-2 assume !(main_~i~0 == main_~range~0); 11096#L17-1 assume !(1 == main_~up~0); 11093#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11082#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11081#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11080#L14 assume !(0 == main_~i~0); 11079#L14-2 assume !(main_~i~0 == main_~range~0); 11078#L17-1 assume !(1 == main_~up~0); 11077#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11076#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11075#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11074#L14 assume !(0 == main_~i~0); 11073#L14-2 assume !(main_~i~0 == main_~range~0); 11072#L17-1 assume !(1 == main_~up~0); 11071#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11070#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11069#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11068#L14 assume !(0 == main_~i~0); 11067#L14-2 assume !(main_~i~0 == main_~range~0); 11066#L17-1 assume !(1 == main_~up~0); 11065#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11064#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11063#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11062#L14 assume !(0 == main_~i~0); 11061#L14-2 assume !(main_~i~0 == main_~range~0); 11060#L17-1 assume !(1 == main_~up~0); 11059#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11058#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11057#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11056#L14 assume !(0 == main_~i~0); 11055#L14-2 assume !(main_~i~0 == main_~range~0); 11054#L17-1 assume !(1 == main_~up~0); 11053#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11052#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11051#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11050#L14 assume !(0 == main_~i~0); 11049#L14-2 assume !(main_~i~0 == main_~range~0); 11048#L17-1 assume !(1 == main_~up~0); 11047#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11046#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11045#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11044#L14 assume !(0 == main_~i~0); 11043#L14-2 assume !(main_~i~0 == main_~range~0); 11042#L17-1 assume !(1 == main_~up~0); 11041#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11037#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11022#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11036#L14 assume !(0 == main_~i~0); 11035#L14-2 assume !(main_~i~0 == main_~range~0); 11033#L17-1 assume !(1 == main_~up~0); 11034#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11021#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 11020#L26-1 [2018-11-23 11:55:16,093 INFO L796 eck$LassoCheckResult]: Loop: 11020#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11017#L14 assume 0 == main_~i~0;main_~up~0 := 1; 10993#L14-2 assume !(main_~i~0 == main_~range~0); 10994#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 10981#L20-1 assume !(0 == main_~up~0); 10982#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 11029#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 11028#L14 assume !(0 == main_~i~0); 11027#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 11026#L17-1 assume !(1 == main_~up~0); 11025#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 11023#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 11020#L26-1 [2018-11-23 11:55:16,094 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:16,094 INFO L82 PathProgramCache]: Analyzing trace with hash 1699000654, now seen corresponding path program 11 times [2018-11-23 11:55:16,094 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:16,094 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:16,095 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,095 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:16,095 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,107 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:16,107 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 15 times [2018-11-23 11:55:16,107 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:16,107 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:16,108 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,108 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:16,108 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,114 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:16,115 INFO L82 PathProgramCache]: Analyzing trace with hash -923236560, now seen corresponding path program 11 times [2018-11-23 11:55:16,115 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:16,115 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:16,115 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,116 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:16,116 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:16,238 INFO L134 CoverageAnalysis]: Checked inductivity of 720 backedges. 142 proven. 574 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:16,239 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:16,239 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:16,266 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 11:55:16,301 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 16 check-sat command(s) [2018-11-23 11:55:16,301 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:16,303 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:16,386 INFO L134 CoverageAnalysis]: Checked inductivity of 720 backedges. 142 proven. 574 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:16,402 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:16,402 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 23 [2018-11-23 11:55:16,430 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 11:55:16,430 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=164, Invalid=388, Unknown=0, NotChecked=0, Total=552 [2018-11-23 11:55:16,430 INFO L87 Difference]: Start difference. First operand 172 states and 187 transitions. cyclomatic complexity: 20 Second operand 24 states. [2018-11-23 11:55:16,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:16,863 INFO L93 Difference]: Finished difference Result 557 states and 593 transitions. [2018-11-23 11:55:16,863 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 51 states. [2018-11-23 11:55:16,863 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 557 states and 593 transitions. [2018-11-23 11:55:16,865 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:16,867 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 557 states to 547 states and 583 transitions. [2018-11-23 11:55:16,867 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:16,867 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:16,867 INFO L73 IsDeterministic]: Start isDeterministic. Operand 547 states and 583 transitions. [2018-11-23 11:55:16,867 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:16,867 INFO L705 BuchiCegarLoop]: Abstraction has 547 states and 583 transitions. [2018-11-23 11:55:16,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 547 states and 583 transitions. [2018-11-23 11:55:16,871 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 547 to 160. [2018-11-23 11:55:16,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 160 states. [2018-11-23 11:55:16,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 172 transitions. [2018-11-23 11:55:16,872 INFO L728 BuchiCegarLoop]: Abstraction has 160 states and 172 transitions. [2018-11-23 11:55:16,872 INFO L608 BuchiCegarLoop]: Abstraction has 160 states and 172 transitions. [2018-11-23 11:55:16,872 INFO L442 BuchiCegarLoop]: ======== Iteration 25============ [2018-11-23 11:55:16,872 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 160 states and 172 transitions. [2018-11-23 11:55:16,872 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:16,872 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:16,872 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:16,873 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [15, 15, 15, 15, 15, 15, 1] [2018-11-23 11:55:16,873 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:16,873 INFO L794 eck$LassoCheckResult]: Stem: 12094#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 12095#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12145#L14 assume !(0 == main_~i~0); 12146#L14-2 assume !(main_~i~0 == main_~range~0); 12129#L17-1 assume !(1 == main_~up~0); 12126#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12122#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12123#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12253#L14 assume !(0 == main_~i~0); 12252#L14-2 assume !(main_~i~0 == main_~range~0); 12251#L17-1 assume !(1 == main_~up~0); 12250#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12239#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12238#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12237#L14 assume !(0 == main_~i~0); 12236#L14-2 assume !(main_~i~0 == main_~range~0); 12235#L17-1 assume !(1 == main_~up~0); 12234#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12233#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12232#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12231#L14 assume !(0 == main_~i~0); 12230#L14-2 assume !(main_~i~0 == main_~range~0); 12229#L17-1 assume !(1 == main_~up~0); 12228#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12227#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12226#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12225#L14 assume !(0 == main_~i~0); 12224#L14-2 assume !(main_~i~0 == main_~range~0); 12223#L17-1 assume !(1 == main_~up~0); 12222#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12221#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12220#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12219#L14 assume !(0 == main_~i~0); 12218#L14-2 assume !(main_~i~0 == main_~range~0); 12217#L17-1 assume !(1 == main_~up~0); 12216#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12215#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12214#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12213#L14 assume !(0 == main_~i~0); 12212#L14-2 assume !(main_~i~0 == main_~range~0); 12211#L17-1 assume !(1 == main_~up~0); 12210#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12209#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12208#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12207#L14 assume !(0 == main_~i~0); 12206#L14-2 assume !(main_~i~0 == main_~range~0); 12205#L17-1 assume !(1 == main_~up~0); 12204#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12203#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12202#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12201#L14 assume !(0 == main_~i~0); 12200#L14-2 assume !(main_~i~0 == main_~range~0); 12199#L17-1 assume !(1 == main_~up~0); 12198#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12197#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12196#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12195#L14 assume !(0 == main_~i~0); 12194#L14-2 assume !(main_~i~0 == main_~range~0); 12193#L17-1 assume !(1 == main_~up~0); 12192#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12191#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12190#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12189#L14 assume !(0 == main_~i~0); 12188#L14-2 assume !(main_~i~0 == main_~range~0); 12187#L17-1 assume !(1 == main_~up~0); 12186#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12185#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12184#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12183#L14 assume !(0 == main_~i~0); 12182#L14-2 assume !(main_~i~0 == main_~range~0); 12181#L17-1 assume !(1 == main_~up~0); 12180#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12179#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12178#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12177#L14 assume !(0 == main_~i~0); 12176#L14-2 assume !(main_~i~0 == main_~range~0); 12175#L17-1 assume !(1 == main_~up~0); 12174#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12173#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12172#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12170#L14 assume !(0 == main_~i~0); 12168#L14-2 assume !(main_~i~0 == main_~range~0); 12166#L17-1 assume !(1 == main_~up~0); 12165#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12164#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12149#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12163#L14 assume !(0 == main_~i~0); 12162#L14-2 assume !(main_~i~0 == main_~range~0); 12160#L17-1 assume !(1 == main_~up~0); 12161#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12148#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 12147#L26-1 [2018-11-23 11:55:16,874 INFO L796 eck$LassoCheckResult]: Loop: 12147#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12144#L14 assume 0 == main_~i~0;main_~up~0 := 1; 12120#L14-2 assume !(main_~i~0 == main_~range~0); 12121#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 12107#L20-1 assume !(0 == main_~up~0); 12108#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 12156#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 12155#L14 assume !(0 == main_~i~0); 12154#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 12153#L17-1 assume !(1 == main_~up~0); 12152#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 12150#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 12147#L26-1 [2018-11-23 11:55:16,874 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:16,874 INFO L82 PathProgramCache]: Analyzing trace with hash -1051735393, now seen corresponding path program 12 times [2018-11-23 11:55:16,874 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:16,874 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:16,875 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,875 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:16,875 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,888 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:16,888 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 16 times [2018-11-23 11:55:16,888 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:16,888 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:16,889 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,889 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:16,889 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:16,892 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:16,892 INFO L82 PathProgramCache]: Analyzing trace with hash -1348784383, now seen corresponding path program 12 times [2018-11-23 11:55:16,892 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:16,892 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:16,893 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,893 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:16,893 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:16,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:17,024 INFO L134 CoverageAnalysis]: Checked inductivity of 816 backedges. 152 proven. 660 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:17,024 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:17,024 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:17,038 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 11:55:17,069 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 17 check-sat command(s) [2018-11-23 11:55:17,069 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:17,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:17,176 INFO L134 CoverageAnalysis]: Checked inductivity of 816 backedges. 152 proven. 660 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:17,191 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:17,192 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 24 [2018-11-23 11:55:17,218 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 11:55:17,218 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=420, Unknown=0, NotChecked=0, Total=600 [2018-11-23 11:55:17,218 INFO L87 Difference]: Start difference. First operand 160 states and 172 transitions. cyclomatic complexity: 17 Second operand 25 states. [2018-11-23 11:55:17,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:17,717 INFO L93 Difference]: Finished difference Result 339 states and 377 transitions. [2018-11-23 11:55:17,718 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2018-11-23 11:55:17,718 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 339 states and 377 transitions. [2018-11-23 11:55:17,719 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:17,720 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 339 states to 337 states and 375 transitions. [2018-11-23 11:55:17,720 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:17,720 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:17,721 INFO L73 IsDeterministic]: Start isDeterministic. Operand 337 states and 375 transitions. [2018-11-23 11:55:17,721 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:17,721 INFO L705 BuchiCegarLoop]: Abstraction has 337 states and 375 transitions. [2018-11-23 11:55:17,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states and 375 transitions. [2018-11-23 11:55:17,723 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 166. [2018-11-23 11:55:17,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 166 states. [2018-11-23 11:55:17,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 178 transitions. [2018-11-23 11:55:17,724 INFO L728 BuchiCegarLoop]: Abstraction has 166 states and 178 transitions. [2018-11-23 11:55:17,724 INFO L608 BuchiCegarLoop]: Abstraction has 166 states and 178 transitions. [2018-11-23 11:55:17,724 INFO L442 BuchiCegarLoop]: ======== Iteration 26============ [2018-11-23 11:55:17,724 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 166 states and 178 transitions. [2018-11-23 11:55:17,725 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:17,726 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:17,726 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:17,727 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [16, 16, 16, 16, 16, 16, 1] [2018-11-23 11:55:17,727 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:17,727 INFO L794 eck$LassoCheckResult]: Stem: 13017#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 13018#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13063#L14 assume !(0 == main_~i~0); 13064#L14-2 assume !(main_~i~0 == main_~range~0); 13047#L17-1 assume !(1 == main_~up~0); 13044#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13040#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13041#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13174#L14 assume !(0 == main_~i~0); 13173#L14-2 assume !(main_~i~0 == main_~range~0); 13172#L17-1 assume !(1 == main_~up~0); 13171#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13163#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13162#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13161#L14 assume !(0 == main_~i~0); 13160#L14-2 assume !(main_~i~0 == main_~range~0); 13159#L17-1 assume !(1 == main_~up~0); 13158#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13157#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13156#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13155#L14 assume !(0 == main_~i~0); 13154#L14-2 assume !(main_~i~0 == main_~range~0); 13153#L17-1 assume !(1 == main_~up~0); 13152#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13151#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13150#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13149#L14 assume !(0 == main_~i~0); 13148#L14-2 assume !(main_~i~0 == main_~range~0); 13147#L17-1 assume !(1 == main_~up~0); 13146#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13145#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13144#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13143#L14 assume !(0 == main_~i~0); 13142#L14-2 assume !(main_~i~0 == main_~range~0); 13141#L17-1 assume !(1 == main_~up~0); 13140#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13139#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13138#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13137#L14 assume !(0 == main_~i~0); 13136#L14-2 assume !(main_~i~0 == main_~range~0); 13135#L17-1 assume !(1 == main_~up~0); 13134#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13133#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13132#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13131#L14 assume !(0 == main_~i~0); 13130#L14-2 assume !(main_~i~0 == main_~range~0); 13129#L17-1 assume !(1 == main_~up~0); 13128#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13127#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13126#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13125#L14 assume !(0 == main_~i~0); 13124#L14-2 assume !(main_~i~0 == main_~range~0); 13123#L17-1 assume !(1 == main_~up~0); 13122#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13121#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13120#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13119#L14 assume !(0 == main_~i~0); 13118#L14-2 assume !(main_~i~0 == main_~range~0); 13117#L17-1 assume !(1 == main_~up~0); 13116#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13115#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13114#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13113#L14 assume !(0 == main_~i~0); 13112#L14-2 assume !(main_~i~0 == main_~range~0); 13111#L17-1 assume !(1 == main_~up~0); 13110#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13109#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13108#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13107#L14 assume !(0 == main_~i~0); 13106#L14-2 assume !(main_~i~0 == main_~range~0); 13105#L17-1 assume !(1 == main_~up~0); 13104#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13103#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13102#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13101#L14 assume !(0 == main_~i~0); 13100#L14-2 assume !(main_~i~0 == main_~range~0); 13099#L17-1 assume !(1 == main_~up~0); 13098#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13097#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13096#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13095#L14 assume !(0 == main_~i~0); 13094#L14-2 assume !(main_~i~0 == main_~range~0); 13093#L17-1 assume !(1 == main_~up~0); 13092#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13091#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13090#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13088#L14 assume !(0 == main_~i~0); 13086#L14-2 assume !(main_~i~0 == main_~range~0); 13084#L17-1 assume !(1 == main_~up~0); 13083#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13082#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13067#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13081#L14 assume !(0 == main_~i~0); 13080#L14-2 assume !(main_~i~0 == main_~range~0); 13078#L17-1 assume !(1 == main_~up~0); 13079#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13066#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 13065#L26-1 [2018-11-23 11:55:17,727 INFO L796 eck$LassoCheckResult]: Loop: 13065#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13062#L14 assume 0 == main_~i~0;main_~up~0 := 1; 13038#L14-2 assume !(main_~i~0 == main_~range~0); 13039#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 13026#L20-1 assume !(0 == main_~up~0); 13027#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 13074#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 13073#L14 assume !(0 == main_~i~0); 13072#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 13071#L17-1 assume !(1 == main_~up~0); 13070#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 13068#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 13065#L26-1 [2018-11-23 11:55:17,728 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:17,728 INFO L82 PathProgramCache]: Analyzing trace with hash -507714768, now seen corresponding path program 13 times [2018-11-23 11:55:17,728 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:17,728 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:17,729 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:17,729 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:17,729 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:17,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:17,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:17,742 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:17,742 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 17 times [2018-11-23 11:55:17,742 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:17,743 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:17,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:17,743 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:17,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:17,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:17,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:17,750 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:17,750 INFO L82 PathProgramCache]: Analyzing trace with hash -178588142, now seen corresponding path program 13 times [2018-11-23 11:55:17,750 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:17,750 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:17,751 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:17,751 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:17,751 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:17,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:17,900 INFO L134 CoverageAnalysis]: Checked inductivity of 918 backedges. 162 proven. 752 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:17,900 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:17,900 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:17,910 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:17,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:17,929 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:17,954 INFO L134 CoverageAnalysis]: Checked inductivity of 918 backedges. 162 proven. 752 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:17,970 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:17,970 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 18 [2018-11-23 11:55:17,996 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 11:55:17,996 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=155, Invalid=187, Unknown=0, NotChecked=0, Total=342 [2018-11-23 11:55:17,997 INFO L87 Difference]: Start difference. First operand 166 states and 178 transitions. cyclomatic complexity: 17 Second operand 19 states. [2018-11-23 11:55:18,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:18,243 INFO L93 Difference]: Finished difference Result 1046 states and 1086 transitions. [2018-11-23 11:55:18,243 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2018-11-23 11:55:18,243 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1046 states and 1086 transitions. [2018-11-23 11:55:18,246 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:18,248 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1046 states to 1044 states and 1084 transitions. [2018-11-23 11:55:18,248 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:18,249 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:18,249 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1044 states and 1084 transitions. [2018-11-23 11:55:18,249 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:18,249 INFO L705 BuchiCegarLoop]: Abstraction has 1044 states and 1084 transitions. [2018-11-23 11:55:18,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1044 states and 1084 transitions. [2018-11-23 11:55:18,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1044 to 172. [2018-11-23 11:55:18,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 172 states. [2018-11-23 11:55:18,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 184 transitions. [2018-11-23 11:55:18,254 INFO L728 BuchiCegarLoop]: Abstraction has 172 states and 184 transitions. [2018-11-23 11:55:18,254 INFO L608 BuchiCegarLoop]: Abstraction has 172 states and 184 transitions. [2018-11-23 11:55:18,254 INFO L442 BuchiCegarLoop]: ======== Iteration 27============ [2018-11-23 11:55:18,254 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 172 states and 184 transitions. [2018-11-23 11:55:18,255 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:18,255 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:18,255 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:18,256 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [17, 17, 17, 17, 17, 17, 1] [2018-11-23 11:55:18,256 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:18,256 INFO L794 eck$LassoCheckResult]: Stem: 14609#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 14610#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14655#L14 assume !(0 == main_~i~0); 14656#L14-2 assume !(main_~i~0 == main_~range~0); 14639#L17-1 assume !(1 == main_~up~0); 14636#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14632#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14633#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14774#L14 assume !(0 == main_~i~0); 14771#L14-2 assume !(main_~i~0 == main_~range~0); 14768#L17-1 assume !(1 == main_~up~0); 14765#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14762#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14763#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14775#L14 assume !(0 == main_~i~0); 14773#L14-2 assume !(main_~i~0 == main_~range~0); 14770#L17-1 assume !(1 == main_~up~0); 14767#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14755#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14754#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14753#L14 assume !(0 == main_~i~0); 14752#L14-2 assume !(main_~i~0 == main_~range~0); 14751#L17-1 assume !(1 == main_~up~0); 14750#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14749#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14748#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14747#L14 assume !(0 == main_~i~0); 14746#L14-2 assume !(main_~i~0 == main_~range~0); 14745#L17-1 assume !(1 == main_~up~0); 14744#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14743#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14742#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14741#L14 assume !(0 == main_~i~0); 14740#L14-2 assume !(main_~i~0 == main_~range~0); 14739#L17-1 assume !(1 == main_~up~0); 14738#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14737#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14736#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14735#L14 assume !(0 == main_~i~0); 14734#L14-2 assume !(main_~i~0 == main_~range~0); 14733#L17-1 assume !(1 == main_~up~0); 14732#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14731#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14730#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14729#L14 assume !(0 == main_~i~0); 14728#L14-2 assume !(main_~i~0 == main_~range~0); 14727#L17-1 assume !(1 == main_~up~0); 14726#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14725#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14724#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14723#L14 assume !(0 == main_~i~0); 14722#L14-2 assume !(main_~i~0 == main_~range~0); 14721#L17-1 assume !(1 == main_~up~0); 14720#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14719#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14718#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14717#L14 assume !(0 == main_~i~0); 14716#L14-2 assume !(main_~i~0 == main_~range~0); 14715#L17-1 assume !(1 == main_~up~0); 14714#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14713#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14712#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14711#L14 assume !(0 == main_~i~0); 14710#L14-2 assume !(main_~i~0 == main_~range~0); 14709#L17-1 assume !(1 == main_~up~0); 14708#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14707#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14706#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14705#L14 assume !(0 == main_~i~0); 14704#L14-2 assume !(main_~i~0 == main_~range~0); 14703#L17-1 assume !(1 == main_~up~0); 14702#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14701#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14700#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14699#L14 assume !(0 == main_~i~0); 14698#L14-2 assume !(main_~i~0 == main_~range~0); 14697#L17-1 assume !(1 == main_~up~0); 14696#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14695#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14694#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14693#L14 assume !(0 == main_~i~0); 14692#L14-2 assume !(main_~i~0 == main_~range~0); 14691#L17-1 assume !(1 == main_~up~0); 14690#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14689#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14688#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14687#L14 assume !(0 == main_~i~0); 14686#L14-2 assume !(main_~i~0 == main_~range~0); 14685#L17-1 assume !(1 == main_~up~0); 14684#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14683#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14682#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14681#L14 assume !(0 == main_~i~0); 14680#L14-2 assume !(main_~i~0 == main_~range~0); 14679#L17-1 assume !(1 == main_~up~0); 14678#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14674#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14659#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14673#L14 assume !(0 == main_~i~0); 14672#L14-2 assume !(main_~i~0 == main_~range~0); 14670#L17-1 assume !(1 == main_~up~0); 14671#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14658#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 14657#L26-1 [2018-11-23 11:55:18,256 INFO L796 eck$LassoCheckResult]: Loop: 14657#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14654#L14 assume 0 == main_~i~0;main_~up~0 := 1; 14630#L14-2 assume !(main_~i~0 == main_~range~0); 14631#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 14618#L20-1 assume !(0 == main_~up~0); 14619#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 14666#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 14665#L14 assume !(0 == main_~i~0); 14664#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 14663#L17-1 assume !(1 == main_~up~0); 14662#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 14660#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 14657#L26-1 [2018-11-23 11:55:18,256 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:18,256 INFO L82 PathProgramCache]: Analyzing trace with hash -933262591, now seen corresponding path program 14 times [2018-11-23 11:55:18,256 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:18,256 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:18,257 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,257 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:18,257 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,270 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:18,271 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 18 times [2018-11-23 11:55:18,271 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:18,271 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:18,271 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,271 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:18,271 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,274 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:18,274 INFO L82 PathProgramCache]: Analyzing trace with hash 724790371, now seen corresponding path program 14 times [2018-11-23 11:55:18,274 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:18,274 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:18,275 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,275 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:18,275 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:18,419 INFO L134 CoverageAnalysis]: Checked inductivity of 1026 backedges. 172 proven. 850 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:18,419 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:18,419 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:18,425 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 11:55:18,440 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:55:18,440 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:18,442 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:18,459 INFO L134 CoverageAnalysis]: Checked inductivity of 1026 backedges. 172 proven. 850 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:18,476 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:18,476 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 19 [2018-11-23 11:55:18,506 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 11:55:18,506 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=207, Unknown=0, NotChecked=0, Total=380 [2018-11-23 11:55:18,506 INFO L87 Difference]: Start difference. First operand 172 states and 184 transitions. cyclomatic complexity: 17 Second operand 20 states. [2018-11-23 11:55:18,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:18,742 INFO L93 Difference]: Finished difference Result 1064 states and 1106 transitions. [2018-11-23 11:55:18,743 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-23 11:55:18,743 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1064 states and 1106 transitions. [2018-11-23 11:55:18,745 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:18,747 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1064 states to 1062 states and 1104 transitions. [2018-11-23 11:55:18,747 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:18,747 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:18,747 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1062 states and 1104 transitions. [2018-11-23 11:55:18,747 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:18,747 INFO L705 BuchiCegarLoop]: Abstraction has 1062 states and 1104 transitions. [2018-11-23 11:55:18,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1062 states and 1104 transitions. [2018-11-23 11:55:18,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1062 to 184. [2018-11-23 11:55:18,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 184 states. [2018-11-23 11:55:18,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 197 transitions. [2018-11-23 11:55:18,752 INFO L728 BuchiCegarLoop]: Abstraction has 184 states and 197 transitions. [2018-11-23 11:55:18,753 INFO L608 BuchiCegarLoop]: Abstraction has 184 states and 197 transitions. [2018-11-23 11:55:18,753 INFO L442 BuchiCegarLoop]: ======== Iteration 28============ [2018-11-23 11:55:18,753 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 184 states and 197 transitions. [2018-11-23 11:55:18,753 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:18,753 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:18,753 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:18,754 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [18, 18, 18, 18, 18, 18, 1] [2018-11-23 11:55:18,754 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:18,754 INFO L794 eck$LassoCheckResult]: Stem: 16242#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 16243#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16292#L14 assume !(0 == main_~i~0); 16293#L14-2 assume !(main_~i~0 == main_~range~0); 16276#L17-1 assume !(1 == main_~up~0); 16273#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16269#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16270#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16424#L14 assume !(0 == main_~i~0); 16422#L14-2 assume !(main_~i~0 == main_~range~0); 16420#L17-1 assume !(1 == main_~up~0); 16418#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16416#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16414#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16411#L14 assume !(0 == main_~i~0); 16408#L14-2 assume !(main_~i~0 == main_~range~0); 16405#L17-1 assume !(1 == main_~up~0); 16402#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16399#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16400#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16413#L14 assume !(0 == main_~i~0); 16410#L14-2 assume !(main_~i~0 == main_~range~0); 16407#L17-1 assume !(1 == main_~up~0); 16404#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16392#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16391#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16390#L14 assume !(0 == main_~i~0); 16389#L14-2 assume !(main_~i~0 == main_~range~0); 16388#L17-1 assume !(1 == main_~up~0); 16387#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16386#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16385#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16384#L14 assume !(0 == main_~i~0); 16383#L14-2 assume !(main_~i~0 == main_~range~0); 16382#L17-1 assume !(1 == main_~up~0); 16381#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16380#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16379#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16378#L14 assume !(0 == main_~i~0); 16377#L14-2 assume !(main_~i~0 == main_~range~0); 16376#L17-1 assume !(1 == main_~up~0); 16375#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16374#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16373#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16372#L14 assume !(0 == main_~i~0); 16371#L14-2 assume !(main_~i~0 == main_~range~0); 16370#L17-1 assume !(1 == main_~up~0); 16369#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16368#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16367#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16366#L14 assume !(0 == main_~i~0); 16365#L14-2 assume !(main_~i~0 == main_~range~0); 16364#L17-1 assume !(1 == main_~up~0); 16363#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16362#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16361#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16360#L14 assume !(0 == main_~i~0); 16359#L14-2 assume !(main_~i~0 == main_~range~0); 16358#L17-1 assume !(1 == main_~up~0); 16357#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16356#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16355#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16354#L14 assume !(0 == main_~i~0); 16353#L14-2 assume !(main_~i~0 == main_~range~0); 16352#L17-1 assume !(1 == main_~up~0); 16351#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16350#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16349#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16348#L14 assume !(0 == main_~i~0); 16347#L14-2 assume !(main_~i~0 == main_~range~0); 16346#L17-1 assume !(1 == main_~up~0); 16345#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16344#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16343#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16342#L14 assume !(0 == main_~i~0); 16341#L14-2 assume !(main_~i~0 == main_~range~0); 16340#L17-1 assume !(1 == main_~up~0); 16339#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16338#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16337#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16336#L14 assume !(0 == main_~i~0); 16335#L14-2 assume !(main_~i~0 == main_~range~0); 16334#L17-1 assume !(1 == main_~up~0); 16333#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16332#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16331#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16330#L14 assume !(0 == main_~i~0); 16329#L14-2 assume !(main_~i~0 == main_~range~0); 16328#L17-1 assume !(1 == main_~up~0); 16327#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16326#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16325#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16324#L14 assume !(0 == main_~i~0); 16323#L14-2 assume !(main_~i~0 == main_~range~0); 16322#L17-1 assume !(1 == main_~up~0); 16321#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16320#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16319#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16318#L14 assume !(0 == main_~i~0); 16317#L14-2 assume !(main_~i~0 == main_~range~0); 16316#L17-1 assume !(1 == main_~up~0); 16315#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16311#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16296#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16310#L14 assume !(0 == main_~i~0); 16309#L14-2 assume !(main_~i~0 == main_~range~0); 16307#L17-1 assume !(1 == main_~up~0); 16308#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16295#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 16294#L26-1 [2018-11-23 11:55:18,754 INFO L796 eck$LassoCheckResult]: Loop: 16294#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16291#L14 assume 0 == main_~i~0;main_~up~0 := 1; 16267#L14-2 assume !(main_~i~0 == main_~range~0); 16268#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 16255#L20-1 assume !(0 == main_~up~0); 16256#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 16303#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 16302#L14 assume !(0 == main_~i~0); 16301#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 16300#L17-1 assume !(1 == main_~up~0); 16299#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 16297#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 16294#L26-1 [2018-11-23 11:55:18,754 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:18,755 INFO L82 PathProgramCache]: Analyzing trace with hash 236933650, now seen corresponding path program 15 times [2018-11-23 11:55:18,755 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:18,755 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:18,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,756 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:18,756 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,770 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:18,770 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 19 times [2018-11-23 11:55:18,770 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:18,771 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:18,771 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,771 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:18,771 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:18,774 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:18,774 INFO L82 PathProgramCache]: Analyzing trace with hash 2067014132, now seen corresponding path program 15 times [2018-11-23 11:55:18,774 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:18,774 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:18,775 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,775 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:55:18,775 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:18,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:55:18,938 INFO L134 CoverageAnalysis]: Checked inductivity of 1140 backedges. 182 proven. 954 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:18,938 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 11:55:18,938 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/z3 Starting monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 11:55:18,946 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 11:55:18,983 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 20 check-sat command(s) [2018-11-23 11:55:18,984 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:55:18,986 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:55:19,003 INFO L134 CoverageAnalysis]: Checked inductivity of 1140 backedges. 182 proven. 954 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 11:55:19,027 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:55:19,027 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 20 [2018-11-23 11:55:19,059 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 11:55:19,060 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=192, Invalid=228, Unknown=0, NotChecked=0, Total=420 [2018-11-23 11:55:19,060 INFO L87 Difference]: Start difference. First operand 184 states and 197 transitions. cyclomatic complexity: 18 Second operand 21 states. [2018-11-23 11:55:19,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:55:19,307 INFO L93 Difference]: Finished difference Result 1082 states and 1126 transitions. [2018-11-23 11:55:19,308 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2018-11-23 11:55:19,308 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1082 states and 1126 transitions. [2018-11-23 11:55:19,311 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:19,313 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1082 states to 1080 states and 1124 transitions. [2018-11-23 11:55:19,313 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-23 11:55:19,313 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-23 11:55:19,313 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1080 states and 1124 transitions. [2018-11-23 11:55:19,313 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-23 11:55:19,313 INFO L705 BuchiCegarLoop]: Abstraction has 1080 states and 1124 transitions. [2018-11-23 11:55:19,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1080 states and 1124 transitions. [2018-11-23 11:55:19,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1080 to 196. [2018-11-23 11:55:19,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 196 states. [2018-11-23 11:55:19,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 210 transitions. [2018-11-23 11:55:19,318 INFO L728 BuchiCegarLoop]: Abstraction has 196 states and 210 transitions. [2018-11-23 11:55:19,318 INFO L608 BuchiCegarLoop]: Abstraction has 196 states and 210 transitions. [2018-11-23 11:55:19,318 INFO L442 BuchiCegarLoop]: ======== Iteration 29============ [2018-11-23 11:55:19,318 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 196 states and 210 transitions. [2018-11-23 11:55:19,319 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 24 [2018-11-23 11:55:19,319 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 11:55:19,319 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 11:55:19,319 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [19, 19, 19, 19, 19, 19, 1] [2018-11-23 11:55:19,319 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:55:19,320 INFO L794 eck$LassoCheckResult]: Stem: 17930#ULTIMATE.startENTRY havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; 17931#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 17980#L14 assume !(0 == main_~i~0); 17981#L14-2 assume !(main_~i~0 == main_~range~0); 17964#L17-1 assume !(1 == main_~up~0); 17961#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 17957#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 17958#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18124#L14 assume !(0 == main_~i~0); 18122#L14-2 assume !(main_~i~0 == main_~range~0); 18120#L17-1 assume !(1 == main_~up~0); 18118#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18116#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18114#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18112#L14 assume !(0 == main_~i~0); 18110#L14-2 assume !(main_~i~0 == main_~range~0); 18108#L17-1 assume !(1 == main_~up~0); 18106#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18104#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18102#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18099#L14 assume !(0 == main_~i~0); 18096#L14-2 assume !(main_~i~0 == main_~range~0); 18093#L17-1 assume !(1 == main_~up~0); 18090#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18087#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18088#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18100#L14 assume !(0 == main_~i~0); 18097#L14-2 assume !(main_~i~0 == main_~range~0); 18094#L17-1 assume !(1 == main_~up~0); 18091#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18080#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18079#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18078#L14 assume !(0 == main_~i~0); 18077#L14-2 assume !(main_~i~0 == main_~range~0); 18076#L17-1 assume !(1 == main_~up~0); 18075#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18074#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18073#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18072#L14 assume !(0 == main_~i~0); 18071#L14-2 assume !(main_~i~0 == main_~range~0); 18070#L17-1 assume !(1 == main_~up~0); 18069#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18068#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18067#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18066#L14 assume !(0 == main_~i~0); 18065#L14-2 assume !(main_~i~0 == main_~range~0); 18064#L17-1 assume !(1 == main_~up~0); 18063#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18062#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18061#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18060#L14 assume !(0 == main_~i~0); 18059#L14-2 assume !(main_~i~0 == main_~range~0); 18058#L17-1 assume !(1 == main_~up~0); 18057#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18056#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18055#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18054#L14 assume !(0 == main_~i~0); 18053#L14-2 assume !(main_~i~0 == main_~range~0); 18052#L17-1 assume !(1 == main_~up~0); 18051#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18050#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18049#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18048#L14 assume !(0 == main_~i~0); 18047#L14-2 assume !(main_~i~0 == main_~range~0); 18046#L17-1 assume !(1 == main_~up~0); 18045#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18044#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18043#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18042#L14 assume !(0 == main_~i~0); 18041#L14-2 assume !(main_~i~0 == main_~range~0); 18040#L17-1 assume !(1 == main_~up~0); 18039#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18038#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18037#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18036#L14 assume !(0 == main_~i~0); 18035#L14-2 assume !(main_~i~0 == main_~range~0); 18034#L17-1 assume !(1 == main_~up~0); 18033#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18032#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18031#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18030#L14 assume !(0 == main_~i~0); 18029#L14-2 assume !(main_~i~0 == main_~range~0); 18028#L17-1 assume !(1 == main_~up~0); 18027#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18026#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18025#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18024#L14 assume !(0 == main_~i~0); 18023#L14-2 assume !(main_~i~0 == main_~range~0); 18022#L17-1 assume !(1 == main_~up~0); 18021#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18020#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18019#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18018#L14 assume !(0 == main_~i~0); 18017#L14-2 assume !(main_~i~0 == main_~range~0); 18016#L17-1 assume !(1 == main_~up~0); 18015#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18014#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18013#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18012#L14 assume !(0 == main_~i~0); 18011#L14-2 assume !(main_~i~0 == main_~range~0); 18010#L17-1 assume !(1 == main_~up~0); 18009#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 18008#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 18007#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 18006#L14 assume !(0 == main_~i~0); 18005#L14-2 assume !(main_~i~0 == main_~range~0); 18004#L17-1 assume !(1 == main_~up~0); 18003#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 17999#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 17984#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 17998#L14 assume !(0 == main_~i~0); 17997#L14-2 assume !(main_~i~0 == main_~range~0); 17995#L17-1 assume !(1 == main_~up~0); 17996#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 17983#L23-1 assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; 17982#L26-1 [2018-11-23 11:55:19,320 INFO L796 eck$LassoCheckResult]: Loop: 17982#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 17979#L14 assume 0 == main_~i~0;main_~up~0 := 1; 17955#L14-2 assume !(main_~i~0 == main_~range~0); 17956#L17-1 assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; 17943#L20-1 assume !(0 == main_~up~0); 17944#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 17991#L26-1 assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); 17990#L14 assume !(0 == main_~i~0); 17989#L14-2 assume main_~i~0 == main_~range~0;main_~up~0 := 0; 17988#L17-1 assume !(1 == main_~up~0); 17987#L20-1 assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; 17985#L23-1 assume !(main_~i~0 == main_~range~0 - 2); 17982#L26-1 [2018-11-23 11:55:19,320 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:19,320 INFO L82 PathProgramCache]: Analyzing trace with hash 1140312163, now seen corresponding path program 16 times [2018-11-23 11:55:19,320 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:19,320 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:19,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:19,321 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:19,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:19,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:19,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:19,335 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:19,335 INFO L82 PathProgramCache]: Analyzing trace with hash -724803229, now seen corresponding path program 20 times [2018-11-23 11:55:19,335 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:19,335 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:19,336 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:19,336 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:19,336 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:19,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:19,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:19,338 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:55:19,338 INFO L82 PathProgramCache]: Analyzing trace with hash -1988057403, now seen corresponding path program 16 times [2018-11-23 11:55:19,338 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 11:55:19,338 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 11:55:19,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:19,339 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 11:55:19,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 11:55:19,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:19,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 11:55:19,932 WARN L180 SmtUtils]: Spent 531.00 ms on a formula simplification. DAG size of input: 279 DAG size of output: 130 ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L6] int i; [L7] int range; [L8] int up; [L9] i = __VERIFIER_nondet_int() [L10] range = 20 [L11] up = 0 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume 0 == main_~i~0;main_~up~0 := 1; [?] assume !(main_~i~0 == main_~range~0); [?] assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; [?] assume !(0 == main_~up~0); [?] assume !(main_~i~0 == main_~range~0 - 2); [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume main_~i~0 == main_~range~0;main_~up~0 := 0; [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13] COND TRUE 0 <= i && i <= range [L14] COND TRUE i == 0 [L15] up = 1 [L17] COND FALSE !(i == range) [L20] COND TRUE up == 1 [L21] i = i+1 [L23] COND FALSE !(up == 0) [L26] COND FALSE !(i == range-2) [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND TRUE i == range [L18] up = 0 [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND FALSE !(i == range-2) ----- [2018-11-23 11:55:20,097 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 23.11 11:55:20 BoogieIcfgContainer [2018-11-23 11:55:20,097 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2018-11-23 11:55:20,097 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 11:55:20,097 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 11:55:20,097 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 11:55:20,098 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:55:07" (3/4) ... [2018-11-23 11:55:20,101 INFO L141 WitnessPrinter]: Generating witness for non-termination counterexample ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L6] int i; [L7] int range; [L8] int up; [L9] i = __VERIFIER_nondet_int() [L10] range = 20 [L11] up = 0 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume 0 == main_~i~0;main_~up~0 := 1; [?] assume !(main_~i~0 == main_~range~0); [?] assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; [?] assume !(0 == main_~up~0); [?] assume !(main_~i~0 == main_~range~0 - 2); [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume main_~i~0 == main_~range~0;main_~up~0 := 0; [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13] COND TRUE 0 <= i && i <= range [L14] COND TRUE i == 0 [L15] up = 1 [L17] COND FALSE !(i == range) [L20] COND TRUE up == 1 [L21] i = i+1 [L23] COND FALSE !(up == 0) [L26] COND FALSE !(i == range-2) [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND TRUE i == range [L18] up = 0 [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND FALSE !(i == range-2) ----- [2018-11-23 11:55:20,899 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_33b59459-2727-4e40-a436-156572ad2276/bin-2019/uautomizer/witness.graphml [2018-11-23 11:55:20,899 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 11:55:20,900 INFO L168 Benchmark]: Toolchain (without parser) took 13389.37 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 308.3 MB). Free memory was 959.2 MB in the beginning and 976.6 MB in the end (delta: -17.4 MB). Peak memory consumption was 290.9 MB. Max. memory is 11.5 GB. [2018-11-23 11:55:20,900 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 11:55:20,901 INFO L168 Benchmark]: CACSL2BoogieTranslator took 165.25 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 948.5 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. [2018-11-23 11:55:20,901 INFO L168 Benchmark]: Boogie Procedure Inliner took 18.80 ms. Allocated memory is still 1.0 GB. Free memory was 948.5 MB in the beginning and 945.8 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 11:55:20,901 INFO L168 Benchmark]: Boogie Preprocessor took 11.98 ms. Allocated memory is still 1.0 GB. Free memory is still 945.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 11:55:20,901 INFO L168 Benchmark]: RCFGBuilder took 167.88 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -175.3 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. [2018-11-23 11:55:20,901 INFO L168 Benchmark]: BuchiAutomizer took 12219.63 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 175.6 MB). Free memory was 1.1 GB in the beginning and 985.3 MB in the end (delta: 133.1 MB). Peak memory consumption was 308.7 MB. Max. memory is 11.5 GB. [2018-11-23 11:55:20,901 INFO L168 Benchmark]: Witness Printer took 802.43 ms. Allocated memory is still 1.3 GB. Free memory was 985.3 MB in the beginning and 976.6 MB in the end (delta: 8.7 MB). Peak memory consumption was 8.7 MB. Max. memory is 11.5 GB. [2018-11-23 11:55:20,903 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 165.25 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 948.5 MB in the end (delta: 10.7 MB). Peak memory consumption was 10.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 18.80 ms. Allocated memory is still 1.0 GB. Free memory was 948.5 MB in the beginning and 945.8 MB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 11.98 ms. Allocated memory is still 1.0 GB. Free memory is still 945.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 167.88 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 132.6 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -175.3 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. * BuchiAutomizer took 12219.63 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 175.6 MB). Free memory was 1.1 GB in the beginning and 985.3 MB in the end (delta: 133.1 MB). Peak memory consumption was 308.7 MB. Max. memory is 11.5 GB. * Witness Printer took 802.43 ms. Allocated memory is still 1.3 GB. Free memory was 985.3 MB in the beginning and 976.6 MB in the end (delta: 8.7 MB). Peak memory consumption was 8.7 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 31 terminating modules (26 trivial, 3 deterministic, 2 nondeterministic) and one nonterminating remainder module.One deterministic module has affine ranking function i and consists of 4 locations. One deterministic module has affine ranking function -1 * i and consists of 4 locations. One deterministic module has affine ranking function range + -1 * i and consists of 4 locations. One nondeterministic module has affine ranking function -1 * i + range and consists of 4 locations. One nondeterministic module has affine ranking function i and consists of 4 locations. 26 modules have a trivial ranking function, the largest among these consists of 25 locations. The remainder module has 196 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 12.0s and 29 iterations. TraceHistogramMax:19. Analysis of lassos took 7.3s. Construction of modules took 1.5s. Büchi inclusion checks took 2.8s. Highest rank in rank-based complementation 3. Minimization of det autom 3. Minimization of nondet autom 28. Automata minimization 0.1s AutomataMinimizationTime, 31 MinimizatonAttempts, 5367 StatesRemovedByMinimization, 29 NontrivialMinimizations. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had 196 states and ocurred in iteration 28. Nontrivial modules had stage [3, 0, 2, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 307 SDtfs, 1953 SDslu, 627 SDs, 0 SdLazy, 3408 SolverSat, 224 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 1.5s Time LassoAnalysisResults: nont1 unkn0 SFLI4 SFLT2 conc16 concLT1 SILN2 SILU0 SILI1 SILT2 lasso0 LassoPreprocessingBenchmarks: Lassos: inital29 mio100 ax140 hnf100 lsp62 ukn100 mio100 lsp100 div100 bol100 ite100 ukn100 eq176 hnf97 smp63 dnf137 smp95 tf106 neg91 sie118 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 5ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 7 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 5 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.7s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - FixpointNonTerminationResult [Line: 13]: Nontermination argument in form of an infinite program execution. Nontermination argument in form of an infinite execution State at position 0 is {} State at position 1 is {up=0, range=1, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@5c2a9df2=0, \result=0, i=0} - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 13]: Nonterminating execution ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L6] int i; [L7] int range; [L8] int up; [L9] i = __VERIFIER_nondet_int() [L10] range = 20 [L11] up = 0 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume 0 == main_~i~0;main_~up~0 := 1; [?] assume !(main_~i~0 == main_~range~0); [?] assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; [?] assume !(0 == main_~up~0); [?] assume !(main_~i~0 == main_~range~0 - 2); [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume main_~i~0 == main_~range~0;main_~up~0 := 0; [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13] COND TRUE 0 <= i && i <= range [L14] COND TRUE i == 0 [L15] up = 1 [L17] COND FALSE !(i == range) [L20] COND TRUE up == 1 [L21] i = i+1 [L23] COND FALSE !(up == 0) [L26] COND FALSE !(i == range-2) [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND TRUE i == range [L18] up = 0 [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND FALSE !(i == range-2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] havoc main_#res;havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0;havoc main_~i~0;havoc main_~range~0;havoc main_~up~0;main_~i~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~range~0 := 20;main_~up~0 := 0; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume !(main_~i~0 == main_~range~0); [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume main_~i~0 == main_~range~0 - 2;main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume main_~i~0 == main_~range~0 - 2; [L27] main_~range~0 := main_~range~0 - 1; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] havoc main_#res; [?] havoc main_#t~nondet0, main_~i~0, main_~range~0, main_~up~0; [L6] havoc main_~i~0; [L7] havoc main_~range~0; [L8] havoc main_~up~0; [L9] main_~i~0 := main_#t~nondet0; [L9] havoc main_#t~nondet0; [L10] main_~range~0 := 20; [L11] main_~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND TRUE main_~i~0 == main_~range~0 - 2 [L27] main_~range~0 := main_~range~0 - 1; [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L6] havoc ~i~0; [L7] havoc ~range~0; [L8] havoc ~up~0; [L9] ~i~0 := #t~nondet0; [L9] havoc #t~nondet0; [L10] ~range~0 := 20; [L11] ~up~0 := 0; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND TRUE ~i~0 == ~range~0 - 2 [L27] ~range~0 := ~range~0 - 1; [L6] int i; [L7] int range; [L8] int up; [L9] i = __VERIFIER_nondet_int() [L10] range = 20 [L11] up = 0 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume 0 == main_~i~0;main_~up~0 := 1; [?] assume !(main_~i~0 == main_~range~0); [?] assume 1 == main_~up~0;main_~i~0 := 1 + main_~i~0; [?] assume !(0 == main_~up~0); [?] assume !(main_~i~0 == main_~range~0 - 2); [?] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [?] assume !(0 == main_~i~0); [?] assume main_~i~0 == main_~range~0;main_~up~0 := 0; [?] assume !(1 == main_~up~0); [?] assume 0 == main_~up~0;main_~i~0 := main_~i~0 - 1; [?] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume 0 == main_~i~0; [L15] main_~up~0 := 1; [L17-L19] assume !(main_~i~0 == main_~range~0); [L20-L22] assume 1 == main_~up~0; [L21] main_~i~0 := 1 + main_~i~0; [L23-L25] assume !(0 == main_~up~0); [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] assume !!(0 <= main_~i~0 && main_~i~0 <= main_~range~0); [L14-L16] assume !(0 == main_~i~0); [L17-L19] assume main_~i~0 == main_~range~0; [L18] main_~up~0 := 0; [L20-L22] assume !(1 == main_~up~0); [L23-L25] assume 0 == main_~up~0; [L24] main_~i~0 := main_~i~0 - 1; [L26-L28] assume !(main_~i~0 == main_~range~0 - 2); [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND TRUE 0 == main_~i~0 [L15] main_~up~0 := 1; [L17] COND FALSE !(main_~i~0 == main_~range~0) [L20] COND TRUE 1 == main_~up~0 [L21] main_~i~0 := 1 + main_~i~0; [L23] COND FALSE !(0 == main_~up~0) [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= main_~i~0 && main_~i~0 <= main_~range~0)) [L14] COND FALSE !(0 == main_~i~0) [L17] COND TRUE main_~i~0 == main_~range~0 [L18] main_~up~0 := 0; [L20] COND FALSE !(1 == main_~up~0) [L23] COND TRUE 0 == main_~up~0 [L24] main_~i~0 := main_~i~0 - 1; [L26] COND FALSE !(main_~i~0 == main_~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND TRUE 0 == ~i~0 [L15] ~up~0 := 1; [L17] COND FALSE !(~i~0 == ~range~0) [L20] COND TRUE 1 == ~up~0 [L21] ~i~0 := 1 + ~i~0; [L23] COND FALSE !(0 == ~up~0) [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13-L29] COND FALSE !(!(0 <= ~i~0 && ~i~0 <= ~range~0)) [L14] COND FALSE !(0 == ~i~0) [L17] COND TRUE ~i~0 == ~range~0 [L18] ~up~0 := 0; [L20] COND FALSE !(1 == ~up~0) [L23] COND TRUE 0 == ~up~0 [L24] ~i~0 := ~i~0 - 1; [L26] COND FALSE !(~i~0 == ~range~0 - 2) [L13] COND TRUE 0 <= i && i <= range [L14] COND TRUE i == 0 [L15] up = 1 [L17] COND FALSE !(i == range) [L20] COND TRUE up == 1 [L21] i = i+1 [L23] COND FALSE !(up == 0) [L26] COND FALSE !(i == range-2) [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND TRUE i == range [L18] up = 0 [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND FALSE !(i == range-2) ----- Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L6] int i; [L7] int range; [L8] int up; [L9] i = __VERIFIER_nondet_int() [L10] range = 20 [L11] up = 0 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND FALSE !(i == range) [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND TRUE i == range-2 [L27] range = range-1 Loop: [L13] COND TRUE 0 <= i && i <= range [L14] COND TRUE i == 0 [L15] up = 1 [L17] COND FALSE !(i == range) [L20] COND TRUE up == 1 [L21] i = i+1 [L23] COND FALSE !(up == 0) [L26] COND FALSE !(i == range-2) [L13] COND TRUE 0 <= i && i <= range [L14] COND FALSE !(i == 0) [L17] COND TRUE i == range [L18] up = 0 [L20] COND FALSE !(up == 1) [L23] COND TRUE up == 0 [L24] i = i-1 [L26] COND FALSE !(i == range-2) End of lasso representation. RESULT: Ultimate proved your program to be incorrect! Received shutdown request...