./Ultimate.py --spec ../../sv-benchmarks/c/properties/termination.prp --file ../../sv-benchmarks/c/psyco/psyco_math_1_true-unreach-call_false-termination.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/psyco/psyco_math_1_true-unreach-call_false-termination.c -s /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/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 32bit --witnessprinter.graph.data.programhash 048dc8680b8ad79c5b7f9350cbf77794fd0e2335 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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 06:16:59,658 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:16:59,659 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:16:59,666 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:16:59,666 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:16:59,667 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:16:59,668 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:16:59,669 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:16:59,670 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:16:59,671 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:16:59,671 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:16:59,672 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:16:59,672 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:16:59,673 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:16:59,673 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:16:59,674 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:16:59,674 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:16:59,675 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:16:59,677 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:16:59,678 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:16:59,679 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:16:59,679 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:16:59,681 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:16:59,681 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:16:59,681 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:16:59,682 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:16:59,683 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:16:59,683 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:16:59,684 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:16:59,685 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:16:59,685 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:16:59,685 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:16:59,686 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:16:59,686 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:16:59,686 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:16:59,687 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:16:59,687 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/config/svcomp-Termination-32bit-Automizer_Default.epf [2018-11-23 06:16:59,698 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:16:59,698 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:16:59,699 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:16:59,699 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:16:59,700 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:16:59,700 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2018-11-23 06:16:59,700 INFO L133 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2018-11-23 06:16:59,700 INFO L133 SettingsManager]: * Use old map elimination=false [2018-11-23 06:16:59,700 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2018-11-23 06:16:59,700 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2018-11-23 06:16:59,700 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2018-11-23 06:16:59,700 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2018-11-23 06:16:59,701 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2018-11-23 06:16:59,702 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:16:59,702 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:16:59,702 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2018-11-23 06:16:59,702 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:16:59,702 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2018-11-23 06:16:59,702 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:16:59,702 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:16:59,703 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2018-11-23 06:16:59,703 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:16:59,703 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 06:16:59,703 INFO L133 SettingsManager]: * Dump automata to the following directory=/home/matthias/ultimate/dump/auto [2018-11-23 06:16:59,704 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-11-23 06:16:59,704 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_d4ef6bbd-6375-441c-8cad-1f1b483a2275/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 -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 048dc8680b8ad79c5b7f9350cbf77794fd0e2335 [2018-11-23 06:16:59,727 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:16:59,736 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:16:59,739 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:16:59,740 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:16:59,740 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:16:59,741 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/../../sv-benchmarks/c/psyco/psyco_math_1_true-unreach-call_false-termination.c [2018-11-23 06:16:59,789 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/data/58789816b/e8af5486dac546cd8534b7592f9a3d6c/FLAG4793b1804 [2018-11-23 06:17:00,205 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:17:00,205 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/sv-benchmarks/c/psyco/psyco_math_1_true-unreach-call_false-termination.c [2018-11-23 06:17:00,212 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/data/58789816b/e8af5486dac546cd8534b7592f9a3d6c/FLAG4793b1804 [2018-11-23 06:17:00,222 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/data/58789816b/e8af5486dac546cd8534b7592f9a3d6c [2018-11-23 06:17:00,225 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:17:00,226 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:17:00,227 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:17:00,227 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:17:00,229 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:17:00,229 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,231 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7ed7bee9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00, skipping insertion in model container [2018-11-23 06:17:00,231 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,238 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:17:00,258 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:17:00,386 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:17:00,389 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:17:00,411 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:17:00,420 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:17:00,420 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00 WrapperNode [2018-11-23 06:17:00,420 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:17:00,421 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:17:00,421 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:17:00,421 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:17:00,426 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,431 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,489 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:17:00,489 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:17:00,489 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:17:00,490 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:17:00,497 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,497 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,498 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,498 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,501 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,504 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,506 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... [2018-11-23 06:17:00,507 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:17:00,507 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:17:00,507 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:17:00,507 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:17:00,508 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/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 06:17:00,545 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:17:00,545 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:17:00,829 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:17:00,829 INFO L280 CfgBuilder]: Removed 13 assue(true) statements. [2018-11-23 06:17:00,829 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:17:00 BoogieIcfgContainer [2018-11-23 06:17:00,829 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:17:00,830 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2018-11-23 06:17:00,830 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2018-11-23 06:17:00,833 INFO L276 PluginConnector]: BuchiAutomizer initialized [2018-11-23 06:17:00,833 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 06:17:00,833 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 23.11 06:17:00" (1/3) ... [2018-11-23 06:17:00,834 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2a789470 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 06:17:00, skipping insertion in model container [2018-11-23 06:17:00,834 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 06:17:00,835 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:17:00" (2/3) ... [2018-11-23 06:17:00,835 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2a789470 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 06:17:00, skipping insertion in model container [2018-11-23 06:17:00,835 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 06:17:00,837 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:17:00" (3/3) ... [2018-11-23 06:17:00,838 INFO L375 chiAutomizerObserver]: Analyzing ICFG psyco_math_1_true-unreach-call_false-termination.c [2018-11-23 06:17:00,886 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:17:00,886 INFO L374 BuchiCegarLoop]: Interprodecural is true [2018-11-23 06:17:00,886 INFO L375 BuchiCegarLoop]: Hoare is false [2018-11-23 06:17:00,887 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2018-11-23 06:17:00,887 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:17:00,887 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:17:00,887 INFO L379 BuchiCegarLoop]: Difference is false [2018-11-23 06:17:00,887 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:17:00,887 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2018-11-23 06:17:00,898 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 69 states. [2018-11-23 06:17:00,914 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 54 [2018-11-23 06:17:00,914 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 06:17:00,914 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 06:17:00,919 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1] [2018-11-23 06:17:00,919 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1] [2018-11-23 06:17:00,919 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2018-11-23 06:17:00,919 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 69 states. [2018-11-23 06:17:00,922 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 54 [2018-11-23 06:17:00,922 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 06:17:00,922 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 06:17:00,922 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1] [2018-11-23 06:17:00,922 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1] [2018-11-23 06:17:00,927 INFO L794 eck$LassoCheckResult]: Stem: 32#ULTIMATE.startENTRYtrue ~m_isPowerOfTwo~0 := 1;~m_IntMath~0 := 2;~m_log10~0 := 3;~m_checkedSubtract~0 := 4;~m_checkedMultiply~0 := 5;~m_log2~0 := 6;~m_checkedAdd~0 := 7;~m_mod_1~0 := 8;~m_mod_2~0 := 9;~m_factorial_1~0 := 10;~m_factorial_2~0 := 11; 12#L-1true havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0;main_~q~0 := 0;havoc main_~method_id~0; 36#L26-2true [2018-11-23 06:17:00,927 INFO L796 eck$LassoCheckResult]: Loop: 36#L26-2true goto; 44#L352true assume !false;main_~P1~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~P2~0 := main_#t~nondet1;havoc main_#t~nondet1;main_~P3~0 := main_#t~nondet2;havoc main_#t~nondet2;main_~P4~0 := main_#t~nondet3;havoc main_#t~nondet3;main_~P5~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~P6~0 := main_#t~nondet5;havoc main_#t~nondet5;main_~P7~0 := main_#t~nondet6;havoc main_#t~nondet6;main_~P8~0 := main_#t~nondet7;havoc main_#t~nondet7;main_~P9~0 := main_#t~nondet8;havoc main_#t~nondet8;main_~P10~0 := main_#t~nondet9;havoc main_#t~nondet9;main_~P11~0 := main_#t~nondet10;havoc main_#t~nondet10;main_~P12~0 := main_#t~nondet11;havoc main_#t~nondet11;main_~P13~0 := main_#t~nondet12;havoc main_#t~nondet12;main_~P14~0 := main_#t~nondet13;havoc main_#t~nondet13;main_~P15~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~P16~0 := main_#t~nondet15;havoc main_#t~nondet15;main_~P17~0 := main_#t~nondet16;havoc main_#t~nondet16; 40#L49true assume !(0 == main_~q~0); 71#L68true assume !(1 == main_~q~0); 25#L136true assume !(2 == main_~q~0); 36#L26-2true [2018-11-23 06:17:00,931 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:17:00,931 INFO L82 PathProgramCache]: Analyzing trace with hash 963, now seen corresponding path program 1 times [2018-11-23 06:17:00,932 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:17:00,933 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:17:00,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:00,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:17:00,963 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:00,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:00,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,000 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:17:01,001 INFO L82 PathProgramCache]: Analyzing trace with hash 34532059, now seen corresponding path program 1 times [2018-11-23 06:17:01,001 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:17:01,001 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:17:01,002 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,002 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:17:01,002 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,019 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:17:01,019 INFO L82 PathProgramCache]: Analyzing trace with hash 1805971545, now seen corresponding path program 1 times [2018-11-23 06:17:01,019 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:17:01,019 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:17:01,020 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,020 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:17:01,020 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:17:01,057 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 06:17:01,058 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:17:01,059 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 06:17:01,163 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 06:17:01,164 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 06:17:01,165 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 3 states. [2018-11-23 06:17:01,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:17:01,213 INFO L93 Difference]: Finished difference Result 68 states and 97 transitions. [2018-11-23 06:17:01,214 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 06:17:01,215 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 68 states and 97 transitions. [2018-11-23 06:17:01,218 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2018-11-23 06:17:01,222 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 68 states to 52 states and 74 transitions. [2018-11-23 06:17:01,223 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2018-11-23 06:17:01,224 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2018-11-23 06:17:01,224 INFO L73 IsDeterministic]: Start isDeterministic. Operand 52 states and 74 transitions. [2018-11-23 06:17:01,225 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 06:17:01,225 INFO L705 BuchiCegarLoop]: Abstraction has 52 states and 74 transitions. [2018-11-23 06:17:01,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states and 74 transitions. [2018-11-23 06:17:01,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2018-11-23 06:17:01,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 06:17:01,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 74 transitions. [2018-11-23 06:17:01,249 INFO L728 BuchiCegarLoop]: Abstraction has 52 states and 74 transitions. [2018-11-23 06:17:01,249 INFO L608 BuchiCegarLoop]: Abstraction has 52 states and 74 transitions. [2018-11-23 06:17:01,249 INFO L442 BuchiCegarLoop]: ======== Iteration 2============ [2018-11-23 06:17:01,250 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 52 states and 74 transitions. [2018-11-23 06:17:01,250 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2018-11-23 06:17:01,250 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 06:17:01,250 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 06:17:01,251 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1] [2018-11-23 06:17:01,251 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-23 06:17:01,251 INFO L794 eck$LassoCheckResult]: Stem: 183#ULTIMATE.startENTRY ~m_isPowerOfTwo~0 := 1;~m_IntMath~0 := 2;~m_log10~0 := 3;~m_checkedSubtract~0 := 4;~m_checkedMultiply~0 := 5;~m_log2~0 := 6;~m_checkedAdd~0 := 7;~m_mod_1~0 := 8;~m_mod_2~0 := 9;~m_factorial_1~0 := 10;~m_factorial_2~0 := 11; 162#L-1 havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0;main_~q~0 := 0;havoc main_~method_id~0; 163#L26-2 goto; 187#L352 [2018-11-23 06:17:01,251 INFO L796 eck$LassoCheckResult]: Loop: 187#L352 assume !false;main_~P1~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~P2~0 := main_#t~nondet1;havoc main_#t~nondet1;main_~P3~0 := main_#t~nondet2;havoc main_#t~nondet2;main_~P4~0 := main_#t~nondet3;havoc main_#t~nondet3;main_~P5~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~P6~0 := main_#t~nondet5;havoc main_#t~nondet5;main_~P7~0 := main_#t~nondet6;havoc main_#t~nondet6;main_~P8~0 := main_#t~nondet7;havoc main_#t~nondet7;main_~P9~0 := main_#t~nondet8;havoc main_#t~nondet8;main_~P10~0 := main_#t~nondet9;havoc main_#t~nondet9;main_~P11~0 := main_#t~nondet10;havoc main_#t~nondet10;main_~P12~0 := main_#t~nondet11;havoc main_#t~nondet11;main_~P13~0 := main_#t~nondet12;havoc main_#t~nondet12;main_~P14~0 := main_#t~nondet13;havoc main_#t~nondet13;main_~P15~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~P16~0 := main_#t~nondet15;havoc main_#t~nondet15;main_~P17~0 := main_#t~nondet16;havoc main_#t~nondet16; 190#L49 assume 0 == main_~q~0; 191#L50 assume !(0 != main_#t~nondet17);havoc main_#t~nondet17; 187#L352 [2018-11-23 06:17:01,251 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:17:01,251 INFO L82 PathProgramCache]: Analyzing trace with hash 29859, now seen corresponding path program 1 times [2018-11-23 06:17:01,251 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:17:01,251 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:17:01,252 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,252 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:17:01,252 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,260 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:17:01,260 INFO L82 PathProgramCache]: Analyzing trace with hash 40826, now seen corresponding path program 1 times [2018-11-23 06:17:01,260 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:17:01,261 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:17:01,261 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,261 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:17:01,261 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,269 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:17:01,270 INFO L82 PathProgramCache]: Analyzing trace with hash 889540504, now seen corresponding path program 1 times [2018-11-23 06:17:01,270 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:17:01,270 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:17:01,271 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,271 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:17:01,271 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:17:01,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:17:01,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~m_isPowerOfTwo~0 := 1;~m_IntMath~0 := 2;~m_log10~0 := 3;~m_checkedSubtract~0 := 4;~m_checkedMultiply~0 := 5;~m_log2~0 := 6;~m_checkedAdd~0 := 7;~m_mod_1~0 := 8;~m_mod_2~0 := 9;~m_factorial_1~0 := 10;~m_factorial_2~0 := 11; [?] havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0;main_~q~0 := 0;havoc main_~method_id~0; [?] goto; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; [L5] int m_isPowerOfTwo = 1; [L6] int m_IntMath = 2; [L7] int m_log10 = 3; [L8] int m_checkedSubtract = 4; [L9] int m_checkedMultiply = 5; [L10] int m_log2 = 6; [L11] int m_checkedAdd = 7; [L12] int m_mod_1 = 8; [L13] int m_mod_2 = 9; [L14] int m_factorial_1 = 10; [L15] int m_factorial_2 = 11; [L20] int q = 0; [L21] int method_id; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false;main_~P1~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~P2~0 := main_#t~nondet1;havoc main_#t~nondet1;main_~P3~0 := main_#t~nondet2;havoc main_#t~nondet2;main_~P4~0 := main_#t~nondet3;havoc main_#t~nondet3;main_~P5~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~P6~0 := main_#t~nondet5;havoc main_#t~nondet5;main_~P7~0 := main_#t~nondet6;havoc main_#t~nondet6;main_~P8~0 := main_#t~nondet7;havoc main_#t~nondet7;main_~P9~0 := main_#t~nondet8;havoc main_#t~nondet8;main_~P10~0 := main_#t~nondet9;havoc main_#t~nondet9;main_~P11~0 := main_#t~nondet10;havoc main_#t~nondet10;main_~P12~0 := main_#t~nondet11;havoc main_#t~nondet11;main_~P13~0 := main_#t~nondet12;havoc main_#t~nondet12;main_~P14~0 := main_#t~nondet13;havoc main_#t~nondet13;main_~P15~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~P16~0 := main_#t~nondet15;havoc main_#t~nondet15;main_~P17~0 := main_#t~nondet16;havoc main_#t~nondet16; [?] assume 0 == main_~q~0; [?] assume !(0 != main_#t~nondet17);havoc main_#t~nondet17; [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; [L26] COND TRUE 1 [L29] int P1=__VERIFIER_nondet_int(); [L30] int P2=__VERIFIER_nondet_int(); [L31] int P3=__VERIFIER_nondet_int(); [L32] int P4=__VERIFIER_nondet_int(); [L33] int P5=__VERIFIER_nondet_int(); [L34] int P6=__VERIFIER_nondet_int(); [L35] int P7=__VERIFIER_nondet_int(); [L36] int P8=__VERIFIER_nondet_int(); [L37] int P9=__VERIFIER_nondet_int(); [L38] int P10=__VERIFIER_nondet_int(); [L39] int P11=__VERIFIER_nondet_int(); [L40] int P12=__VERIFIER_nondet_int(); [L41] int P13=__VERIFIER_nondet_int(); [L42] int P14=__VERIFIER_nondet_int(); [L43] int P15=__VERIFIER_nondet_int(); [L44] int P16=__VERIFIER_nondet_int(); [L45] int P17=__VERIFIER_nondet_int(); [L49] COND TRUE q == 0 [L50] COND FALSE !(__VERIFIER_nondet_int()) ----- [2018-11-23 06:17:01,432 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 23.11 06:17:01 BoogieIcfgContainer [2018-11-23 06:17:01,433 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2018-11-23 06:17:01,433 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:17:01,433 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:17:01,433 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:17:01,434 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:17:00" (3/4) ... [2018-11-23 06:17:01,437 INFO L141 WitnessPrinter]: Generating witness for non-termination counterexample ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~m_isPowerOfTwo~0 := 1;~m_IntMath~0 := 2;~m_log10~0 := 3;~m_checkedSubtract~0 := 4;~m_checkedMultiply~0 := 5;~m_log2~0 := 6;~m_checkedAdd~0 := 7;~m_mod_1~0 := 8;~m_mod_2~0 := 9;~m_factorial_1~0 := 10;~m_factorial_2~0 := 11; [?] havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0;main_~q~0 := 0;havoc main_~method_id~0; [?] goto; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; [L5] int m_isPowerOfTwo = 1; [L6] int m_IntMath = 2; [L7] int m_log10 = 3; [L8] int m_checkedSubtract = 4; [L9] int m_checkedMultiply = 5; [L10] int m_log2 = 6; [L11] int m_checkedAdd = 7; [L12] int m_mod_1 = 8; [L13] int m_mod_2 = 9; [L14] int m_factorial_1 = 10; [L15] int m_factorial_2 = 11; [L20] int q = 0; [L21] int method_id; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false;main_~P1~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~P2~0 := main_#t~nondet1;havoc main_#t~nondet1;main_~P3~0 := main_#t~nondet2;havoc main_#t~nondet2;main_~P4~0 := main_#t~nondet3;havoc main_#t~nondet3;main_~P5~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~P6~0 := main_#t~nondet5;havoc main_#t~nondet5;main_~P7~0 := main_#t~nondet6;havoc main_#t~nondet6;main_~P8~0 := main_#t~nondet7;havoc main_#t~nondet7;main_~P9~0 := main_#t~nondet8;havoc main_#t~nondet8;main_~P10~0 := main_#t~nondet9;havoc main_#t~nondet9;main_~P11~0 := main_#t~nondet10;havoc main_#t~nondet10;main_~P12~0 := main_#t~nondet11;havoc main_#t~nondet11;main_~P13~0 := main_#t~nondet12;havoc main_#t~nondet12;main_~P14~0 := main_#t~nondet13;havoc main_#t~nondet13;main_~P15~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~P16~0 := main_#t~nondet15;havoc main_#t~nondet15;main_~P17~0 := main_#t~nondet16;havoc main_#t~nondet16; [?] assume 0 == main_~q~0; [?] assume !(0 != main_#t~nondet17);havoc main_#t~nondet17; [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; [L26] COND TRUE 1 [L29] int P1=__VERIFIER_nondet_int(); [L30] int P2=__VERIFIER_nondet_int(); [L31] int P3=__VERIFIER_nondet_int(); [L32] int P4=__VERIFIER_nondet_int(); [L33] int P5=__VERIFIER_nondet_int(); [L34] int P6=__VERIFIER_nondet_int(); [L35] int P7=__VERIFIER_nondet_int(); [L36] int P8=__VERIFIER_nondet_int(); [L37] int P9=__VERIFIER_nondet_int(); [L38] int P10=__VERIFIER_nondet_int(); [L39] int P11=__VERIFIER_nondet_int(); [L40] int P12=__VERIFIER_nondet_int(); [L41] int P13=__VERIFIER_nondet_int(); [L42] int P14=__VERIFIER_nondet_int(); [L43] int P15=__VERIFIER_nondet_int(); [L44] int P16=__VERIFIER_nondet_int(); [L45] int P17=__VERIFIER_nondet_int(); [L49] COND TRUE q == 0 [L50] COND FALSE !(__VERIFIER_nondet_int()) ----- [2018-11-23 06:17:01,485 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_d4ef6bbd-6375-441c-8cad-1f1b483a2275/bin-2019/uautomizer/witness.graphml [2018-11-23 06:17:01,485 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:17:01,486 INFO L168 Benchmark]: Toolchain (without parser) took 1260.55 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 144.7 MB). Free memory was 959.1 MB in the beginning and 1.0 GB in the end (delta: -53.4 MB). Peak memory consumption was 91.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:17:01,488 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:17:01,488 INFO L168 Benchmark]: CACSL2BoogieTranslator took 193.77 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 945.5 MB in the end (delta: 13.6 MB). Peak memory consumption was 13.6 MB. Max. memory is 11.5 GB. [2018-11-23 06:17:01,488 INFO L168 Benchmark]: Boogie Procedure Inliner took 68.55 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 144.7 MB). Free memory was 945.5 MB in the beginning and 1.1 GB in the end (delta: -194.1 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. [2018-11-23 06:17:01,489 INFO L168 Benchmark]: Boogie Preprocessor took 17.64 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:17:01,489 INFO L168 Benchmark]: RCFGBuilder took 322.22 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 32.5 MB). Peak memory consumption was 32.5 MB. Max. memory is 11.5 GB. [2018-11-23 06:17:01,489 INFO L168 Benchmark]: BuchiAutomizer took 602.93 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 91.2 MB). Peak memory consumption was 91.2 MB. Max. memory is 11.5 GB. [2018-11-23 06:17:01,490 INFO L168 Benchmark]: Witness Printer took 52.48 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:17:01,492 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.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 193.77 ms. Allocated memory is still 1.0 GB. Free memory was 959.1 MB in the beginning and 945.5 MB in the end (delta: 13.6 MB). Peak memory consumption was 13.6 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 68.55 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 144.7 MB). Free memory was 945.5 MB in the beginning and 1.1 GB in the end (delta: -194.1 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 17.64 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 322.22 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 32.5 MB). Peak memory consumption was 32.5 MB. Max. memory is 11.5 GB. * BuchiAutomizer took 602.93 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 91.2 MB). Peak memory consumption was 91.2 MB. Max. memory is 11.5 GB. * Witness Printer took 52.48 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 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 1 terminating modules (1 trivial, 0 deterministic, 0 nondeterministic) and one nonterminating remainder module.1 modules have a trivial ranking function, the largest among these consists of 3 locations. The remainder module has 52 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 0.5s and 2 iterations. TraceHistogramMax:1. Analysis of lassos took 0.3s. Construction of modules took 0.0s. Büchi inclusion checks took 0.0s. Highest rank in rank-based complementation 0. Minimization of det autom 1. Minimization of nondet autom 0. Automata minimization 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had 52 states and ocurred in iteration 1. Nontrivial modules had stage [0, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 93 SDtfs, 4 SDslu, 68 SDs, 0 SdLazy, 22 SolverSat, 1 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time LassoAnalysisResults: nont1 unkn0 SFLI0 SFLT0 conc1 concLT0 SILN0 SILU0 SILI0 SILT0 lasso0 LassoPreprocessingBenchmarks: LassoTerminationAnalysisBenchmarks: not availableLassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - FixpointNonTerminationResult [Line: 26]: 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 {m_isPowerOfTwo=1, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@1da4d637=20, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@67542b18=16, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@43b8ccbd=19, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@79b70186=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@bbe11e7=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@68d28c70=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@2114bf83=12, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@3ab010bc=13, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@11e7cb3=21, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@47d49b63=24, P8=26, P10=14, P6=23, P4=18, P2=17, m_log2=6, m_mod_1=8, m_factorial_1=10, P14=13, P12=16, P16=24, m_checkedAdd=7, \result=0, m_checkedSubtract=4, m_checkedMultiply=5, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@32e91c7f=26, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@4931e6ef=28, m_IntMath=2, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@45dbdc89=14, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@62d9300b=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@7e78249a=18, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@15f5f82=27, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@487a8cc9=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@1085f56f=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@7f0e6d05=23, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@d8aa5a0=15, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@7adfce55=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@47f64eb=25, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@6e0205a1=17, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@1abd0965=22, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@512df06d=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@4d2d3245=0, P9=28, P7=15, P5=27, P3=22, P1=25, m_log10=3, m_mod_2=9, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@6d8a68f3=0, m_factorial_2=11, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@2cf0eff5=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@57bae2a5=0, q=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@2fc0b920=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@199837ee=0, P13=12, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@22b91123=0, P11=20, method_id=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@2b77452e=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@15846d43=0, P17=19, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@3e20b741=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@3e8fc5ea=0, P15=21} - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 26]: Nonterminating execution ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~m_isPowerOfTwo~0 := 1;~m_IntMath~0 := 2;~m_log10~0 := 3;~m_checkedSubtract~0 := 4;~m_checkedMultiply~0 := 5;~m_log2~0 := 6;~m_checkedAdd~0 := 7;~m_mod_1~0 := 8;~m_mod_2~0 := 9;~m_factorial_1~0 := 10;~m_factorial_2~0 := 11; [?] havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0;main_~q~0 := 0;havoc main_~method_id~0; [?] goto; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; [L5] int m_isPowerOfTwo = 1; [L6] int m_IntMath = 2; [L7] int m_log10 = 3; [L8] int m_checkedSubtract = 4; [L9] int m_checkedMultiply = 5; [L10] int m_log2 = 6; [L11] int m_checkedAdd = 7; [L12] int m_mod_1 = 8; [L13] int m_mod_2 = 9; [L14] int m_factorial_1 = 10; [L15] int m_factorial_2 = 11; [L20] int q = 0; [L21] int method_id; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false;main_~P1~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~P2~0 := main_#t~nondet1;havoc main_#t~nondet1;main_~P3~0 := main_#t~nondet2;havoc main_#t~nondet2;main_~P4~0 := main_#t~nondet3;havoc main_#t~nondet3;main_~P5~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~P6~0 := main_#t~nondet5;havoc main_#t~nondet5;main_~P7~0 := main_#t~nondet6;havoc main_#t~nondet6;main_~P8~0 := main_#t~nondet7;havoc main_#t~nondet7;main_~P9~0 := main_#t~nondet8;havoc main_#t~nondet8;main_~P10~0 := main_#t~nondet9;havoc main_#t~nondet9;main_~P11~0 := main_#t~nondet10;havoc main_#t~nondet10;main_~P12~0 := main_#t~nondet11;havoc main_#t~nondet11;main_~P13~0 := main_#t~nondet12;havoc main_#t~nondet12;main_~P14~0 := main_#t~nondet13;havoc main_#t~nondet13;main_~P15~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~P16~0 := main_#t~nondet15;havoc main_#t~nondet15;main_~P17~0 := main_#t~nondet16;havoc main_#t~nondet16; [?] assume 0 == main_~q~0; [?] assume !(0 != main_#t~nondet17);havoc main_#t~nondet17; [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; [L26] COND TRUE 1 [L29] int P1=__VERIFIER_nondet_int(); [L30] int P2=__VERIFIER_nondet_int(); [L31] int P3=__VERIFIER_nondet_int(); [L32] int P4=__VERIFIER_nondet_int(); [L33] int P5=__VERIFIER_nondet_int(); [L34] int P6=__VERIFIER_nondet_int(); [L35] int P7=__VERIFIER_nondet_int(); [L36] int P8=__VERIFIER_nondet_int(); [L37] int P9=__VERIFIER_nondet_int(); [L38] int P10=__VERIFIER_nondet_int(); [L39] int P11=__VERIFIER_nondet_int(); [L40] int P12=__VERIFIER_nondet_int(); [L41] int P13=__VERIFIER_nondet_int(); [L42] int P14=__VERIFIER_nondet_int(); [L43] int P15=__VERIFIER_nondet_int(); [L44] int P16=__VERIFIER_nondet_int(); [L45] int P17=__VERIFIER_nondet_int(); [L49] COND TRUE q == 0 [L50] COND FALSE !(__VERIFIER_nondet_int()) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~m_isPowerOfTwo~0 := 1;~m_IntMath~0 := 2;~m_log10~0 := 3;~m_checkedSubtract~0 := 4;~m_checkedMultiply~0 := 5;~m_log2~0 := 6;~m_checkedAdd~0 := 7;~m_mod_1~0 := 8;~m_mod_2~0 := 9;~m_factorial_1~0 := 10;~m_factorial_2~0 := 11; [?] havoc main_#res;havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0;main_~q~0 := 0;havoc main_~method_id~0; [?] goto; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [?] havoc main_#res; [?] havoc main_#t~nondet0, main_#t~nondet1, main_#t~nondet2, main_#t~nondet3, main_#t~nondet4, main_#t~nondet5, main_#t~nondet6, main_#t~nondet7, main_#t~nondet8, main_#t~nondet9, main_#t~nondet10, main_#t~nondet11, main_#t~nondet12, main_#t~nondet13, main_#t~nondet14, main_#t~nondet15, main_#t~nondet16, main_#t~nondet17, main_#t~nondet18, main_#t~nondet19, main_#t~nondet20, main_#t~nondet21, main_#t~nondet22, main_#t~nondet23, main_#t~nondet24, main_#t~nondet25, main_#t~nondet26, main_#t~nondet27, main_#t~nondet28, main_#t~nondet29, main_#t~nondet30, main_#t~nondet31, main_#t~nondet32, main_#t~nondet33, main_#t~nondet34, main_#t~nondet35, main_~P1~0, main_~P2~0, main_~P3~0, main_~P4~0, main_~P5~0, main_~P6~0, main_~P7~0, main_~P8~0, main_~P9~0, main_~P10~0, main_~P11~0, main_~P12~0, main_~P13~0, main_~P14~0, main_~P15~0, main_~P16~0, main_~P17~0, main_~q~0, main_~method_id~0; [L20] main_~q~0 := 0; [L21] havoc main_~method_id~0; [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L5] ~m_isPowerOfTwo~0 := 1; [L6] ~m_IntMath~0 := 2; [L7] ~m_log10~0 := 3; [L8] ~m_checkedSubtract~0 := 4; [L9] ~m_checkedMultiply~0 := 5; [L10] ~m_log2~0 := 6; [L11] ~m_checkedAdd~0 := 7; [L12] ~m_mod_1~0 := 8; [L13] ~m_mod_2~0 := 9; [L14] ~m_factorial_1~0 := 10; [L15] ~m_factorial_2~0 := 11; [L20] ~q~0 := 0; [L21] havoc ~method_id~0; [L5] int m_isPowerOfTwo = 1; [L6] int m_IntMath = 2; [L7] int m_log10 = 3; [L8] int m_checkedSubtract = 4; [L9] int m_checkedMultiply = 5; [L10] int m_log2 = 6; [L11] int m_checkedAdd = 7; [L12] int m_mod_1 = 8; [L13] int m_mod_2 = 9; [L14] int m_factorial_1 = 10; [L15] int m_factorial_2 = 11; [L20] int q = 0; [L21] int method_id; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false;main_~P1~0 := main_#t~nondet0;havoc main_#t~nondet0;main_~P2~0 := main_#t~nondet1;havoc main_#t~nondet1;main_~P3~0 := main_#t~nondet2;havoc main_#t~nondet2;main_~P4~0 := main_#t~nondet3;havoc main_#t~nondet3;main_~P5~0 := main_#t~nondet4;havoc main_#t~nondet4;main_~P6~0 := main_#t~nondet5;havoc main_#t~nondet5;main_~P7~0 := main_#t~nondet6;havoc main_#t~nondet6;main_~P8~0 := main_#t~nondet7;havoc main_#t~nondet7;main_~P9~0 := main_#t~nondet8;havoc main_#t~nondet8;main_~P10~0 := main_#t~nondet9;havoc main_#t~nondet9;main_~P11~0 := main_#t~nondet10;havoc main_#t~nondet10;main_~P12~0 := main_#t~nondet11;havoc main_#t~nondet11;main_~P13~0 := main_#t~nondet12;havoc main_#t~nondet12;main_~P14~0 := main_#t~nondet13;havoc main_#t~nondet13;main_~P15~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~P16~0 := main_#t~nondet15;havoc main_#t~nondet15;main_~P17~0 := main_#t~nondet16;havoc main_#t~nondet16; [?] assume 0 == main_~q~0; [?] assume !(0 != main_#t~nondet17);havoc main_#t~nondet17; [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L26-L356] assume !false; [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49-L67] assume 0 == main_~q~0; [L50-L64] assume !(0 != main_#t~nondet17); [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L26-L356] COND FALSE !(false) [L29] main_~P1~0 := main_#t~nondet0; [L29] havoc main_#t~nondet0; [L30] main_~P2~0 := main_#t~nondet1; [L30] havoc main_#t~nondet1; [L31] main_~P3~0 := main_#t~nondet2; [L31] havoc main_#t~nondet2; [L32] main_~P4~0 := main_#t~nondet3; [L32] havoc main_#t~nondet3; [L33] main_~P5~0 := main_#t~nondet4; [L33] havoc main_#t~nondet4; [L34] main_~P6~0 := main_#t~nondet5; [L34] havoc main_#t~nondet5; [L35] main_~P7~0 := main_#t~nondet6; [L35] havoc main_#t~nondet6; [L36] main_~P8~0 := main_#t~nondet7; [L36] havoc main_#t~nondet7; [L37] main_~P9~0 := main_#t~nondet8; [L37] havoc main_#t~nondet8; [L38] main_~P10~0 := main_#t~nondet9; [L38] havoc main_#t~nondet9; [L39] main_~P11~0 := main_#t~nondet10; [L39] havoc main_#t~nondet10; [L40] main_~P12~0 := main_#t~nondet11; [L40] havoc main_#t~nondet11; [L41] main_~P13~0 := main_#t~nondet12; [L41] havoc main_#t~nondet12; [L42] main_~P14~0 := main_#t~nondet13; [L42] havoc main_#t~nondet13; [L43] main_~P15~0 := main_#t~nondet14; [L43] havoc main_#t~nondet14; [L44] main_~P16~0 := main_#t~nondet15; [L44] havoc main_#t~nondet15; [L45] main_~P17~0 := main_#t~nondet16; [L45] havoc main_#t~nondet16; [L49] COND TRUE 0 == main_~q~0 [L50-L64] COND FALSE !(0 != main_#t~nondet17) [L50] havoc main_#t~nondet17; [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L26-L356] COND FALSE !(false) [L29] ~P1~0 := #t~nondet0; [L29] havoc #t~nondet0; [L30] ~P2~0 := #t~nondet1; [L30] havoc #t~nondet1; [L31] ~P3~0 := #t~nondet2; [L31] havoc #t~nondet2; [L32] ~P4~0 := #t~nondet3; [L32] havoc #t~nondet3; [L33] ~P5~0 := #t~nondet4; [L33] havoc #t~nondet4; [L34] ~P6~0 := #t~nondet5; [L34] havoc #t~nondet5; [L35] ~P7~0 := #t~nondet6; [L35] havoc #t~nondet6; [L36] ~P8~0 := #t~nondet7; [L36] havoc #t~nondet7; [L37] ~P9~0 := #t~nondet8; [L37] havoc #t~nondet8; [L38] ~P10~0 := #t~nondet9; [L38] havoc #t~nondet9; [L39] ~P11~0 := #t~nondet10; [L39] havoc #t~nondet10; [L40] ~P12~0 := #t~nondet11; [L40] havoc #t~nondet11; [L41] ~P13~0 := #t~nondet12; [L41] havoc #t~nondet12; [L42] ~P14~0 := #t~nondet13; [L42] havoc #t~nondet13; [L43] ~P15~0 := #t~nondet14; [L43] havoc #t~nondet14; [L44] ~P16~0 := #t~nondet15; [L44] havoc #t~nondet15; [L45] ~P17~0 := #t~nondet16; [L45] havoc #t~nondet16; [L49] COND TRUE 0 == ~q~0 [L50-L64] COND FALSE !(0 != #t~nondet17) [L50] havoc #t~nondet17; [L26] COND TRUE 1 [L29] int P1=__VERIFIER_nondet_int(); [L30] int P2=__VERIFIER_nondet_int(); [L31] int P3=__VERIFIER_nondet_int(); [L32] int P4=__VERIFIER_nondet_int(); [L33] int P5=__VERIFIER_nondet_int(); [L34] int P6=__VERIFIER_nondet_int(); [L35] int P7=__VERIFIER_nondet_int(); [L36] int P8=__VERIFIER_nondet_int(); [L37] int P9=__VERIFIER_nondet_int(); [L38] int P10=__VERIFIER_nondet_int(); [L39] int P11=__VERIFIER_nondet_int(); [L40] int P12=__VERIFIER_nondet_int(); [L41] int P13=__VERIFIER_nondet_int(); [L42] int P14=__VERIFIER_nondet_int(); [L43] int P15=__VERIFIER_nondet_int(); [L44] int P16=__VERIFIER_nondet_int(); [L45] int P17=__VERIFIER_nondet_int(); [L49] COND TRUE q == 0 [L50] COND FALSE !(__VERIFIER_nondet_int()) ----- Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L5] int m_isPowerOfTwo = 1; [L6] int m_IntMath = 2; [L7] int m_log10 = 3; [L8] int m_checkedSubtract = 4; [L9] int m_checkedMultiply = 5; [L10] int m_log2 = 6; [L11] int m_checkedAdd = 7; [L12] int m_mod_1 = 8; [L13] int m_mod_2 = 9; [L14] int m_factorial_1 = 10; [L15] int m_factorial_2 = 11; [L20] int q = 0; [L21] int method_id; Loop: [L26] COND TRUE 1 [L29] int P1=__VERIFIER_nondet_int(); [L30] int P2=__VERIFIER_nondet_int(); [L31] int P3=__VERIFIER_nondet_int(); [L32] int P4=__VERIFIER_nondet_int(); [L33] int P5=__VERIFIER_nondet_int(); [L34] int P6=__VERIFIER_nondet_int(); [L35] int P7=__VERIFIER_nondet_int(); [L36] int P8=__VERIFIER_nondet_int(); [L37] int P9=__VERIFIER_nondet_int(); [L38] int P10=__VERIFIER_nondet_int(); [L39] int P11=__VERIFIER_nondet_int(); [L40] int P12=__VERIFIER_nondet_int(); [L41] int P13=__VERIFIER_nondet_int(); [L42] int P14=__VERIFIER_nondet_int(); [L43] int P15=__VERIFIER_nondet_int(); [L44] int P16=__VERIFIER_nondet_int(); [L45] int P17=__VERIFIER_nondet_int(); [L49] COND TRUE q == 0 [L50] COND FALSE !(__VERIFIER_nondet_int()) End of lasso representation. RESULT: Ultimate proved your program to be incorrect! Received shutdown request...